【问题标题】:remove zeros vlaues from test labels in python从python中的文本标签中删除零值
【发布时间】:2021-02-25 23:38:47
【问题描述】:

我已经训练了一个模型,我想通过将错误除以我的数据集的测试标签来找到它的准确率百分比。但是,测试标签中有一些零值,这是缺失值的原因。因此,将相应的误差除以这些值将导致无穷大。

mape = 100 * (errors / y_test)
# Calculate and display accuracy
accuracy = 100 - np.mean(mape)
print('Accuracy:', round(accuracy, 2), '%.')

上面的 sn-p 将打印“inf”作为输出。我应该以某种方式摆脱“y_test”系列中的零值。一种方法是查找该系列中零值的索引,然后删除 error 数组中的对应值。

erry = np.array([errors,y_test])

现在,我想知道如何编写代码来删除 erry 中第二列等于 0 的那些元素?

如果你知道一些更聪明的方法来计算模型精度同时注意缺失值,请指出它们

【问题讨论】:

    标签: numpy machine-learning prediction missing-data


    【解决方案1】:

    我会使用y_test 为两个数组创建一个布尔索引:

    idx = y_test != 0
    mape = 100 * (errors[idx] / y_test[idx])
    # Calculate and display accuracy
    accuracy = 100 - np.mean(mape)
    print('Accuracy:', round(accuracy, 2), '%.')
    

    【讨论】:

    • 非常感谢。这正是我想要的
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-04
    • 2023-03-19
    • 1970-01-01
    • 1970-01-01
    • 2016-01-23
    相关资源
    最近更新 更多