[英]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.