使用 scikit-learn 计算精度时出现 ValueError
ValueError in computing precision using scikit-learn
from sklearn.metrics import precision_score
precision_score(expected, predicted)
预期是 array([ 4., 3.])
预测为array([ 2., 4.])
我明白了。错误:*** ValueError: pos_label=1 is not a valid label: array([ 2., 3., 4.])
如何解决这个问题?
multiclass 标签需要 average
参数。
否则您需要将 pos_label
设置为两个数组中的 class 标签之一,即 2、3 或 4:
>>> # score for all classes
>>> precision_score(expected, predicted, average=None)
array([ 0., 0., 0.])
>>> # score for each class
>>> precision_score(expected, predicted, pos_label=2)
0.0
>>> precision_score(expected, predicted, pos_label=3)
0.0
>>> precision_score(expected, predicted, pos_label=4)
0.0
from sklearn.metrics import precision_score
precision_score(expected, predicted)
预期是 array([ 4., 3.])
预测为array([ 2., 4.])
我明白了。错误:*** ValueError: pos_label=1 is not a valid label: array([ 2., 3., 4.])
如何解决这个问题?
multiclass 标签需要 average
参数。
否则您需要将 pos_label
设置为两个数组中的 class 标签之一,即 2、3 或 4:
>>> # score for all classes
>>> precision_score(expected, predicted, average=None)
array([ 0., 0., 0.])
>>> # score for each class
>>> precision_score(expected, predicted, pos_label=2)
0.0
>>> precision_score(expected, predicted, pos_label=3)
0.0
>>> precision_score(expected, predicted, pos_label=4)
0.0