繁体   English   中英

Accuracy_score 出现错误

[英]Accuracy_score appears wrong

这是代码:

from sklearn.metrics import accuracy_score
print('Accuracy: ' + str(int(accuracy_score(y_pred, y_test))))

结果:

Accuracy: 0

这里是变量:

>>> y_pred
array([36, 36], dtype=int64)

>>> y_test
0    24
4    36
Name: Age, dtype: int64

如您所见, 36是一个正确的预测。 那为什么精度不是0.50呢?

尝试不使用 int,它会给出 0.5。 这是因为通过输入 int 不能返回像 0.5 这样的浮点数。

不要将其解析为 integer。

from sklearn.metrics import accuracy_score
print('Accuracy: ' + str(accuracy_score(y_pred, y_test)))

您在 accuracy_score 中传递的数据类型必须不同。 我认为您将y_pred作为 numpy 数组传递,将y_test作为 pandas object 传递。 请使用 .values 从 pandas .values获取 numpy 数组

accuracy_score(y_test.values,y_pred)

注意:根据 sklearn 文档,accuracy_score 的用法类似于 accuracy_score(y_true, y_pred)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM