我正在使用sklearn精确度并召回以获得这些分数 . 我收到错误说错误值 . 谁能告诉我哪里做错了?
我的y_test如下
443 positive
3615 positive
2030 negative
2993 positive
2870 positive
2907 negative
2215 positive
我的预测如下
['positive' 'positive' 'positive' ..., 'positive' 'positive' 'positive']
码:
from sklearn.metrics import precision_score
from sklearn.metrics import recall_score
precision_score(y_test, pred)
错误:
ValueError: pos_label=None is not a valid label: array(['negative', 'positive'],
dtype='<U8')
1 回答
精确度定义为真阳性与总预测阳性的比率 .
现在,在您的情况下,该程序不知道哪个标签被视为正类 . 所以你需要自己定义它 . 做这个:
此外,您显示的错误:
pos_label=None is not a valid label
告诉您可能有旧版本的scikit . 较新的版本应抛出此错误(如果未指定pos_label
):所以我建议你升级到最新版本