Scikit learn 使用sklearn时的精度和召回错误
我正在使用sklearn precision和recall获得这些分数。我说值错误时出错。谁能告诉我哪里做错了 我的y_测试如下Scikit learn 使用sklearn时的精度和召回错误,scikit-learn,precision-recall,Scikit Learn,Precision Recall,我正在使用sklearn precision和recall获得这些分数。我说值错误时出错。谁能告诉我哪里做错了 我的y_测试如下 443 positive 3615 positive 2030 negative 2993 positive 2870 positive 2907 negative 2215 positive ['positive' 'positive' 'positive' ..., 'positive' 'positive' 'pos
443 positive
3615 positive
2030 negative
2993 positive
2870 positive
2907 negative
2215 positive
['positive' 'positive' 'positive' ..., 'positive' 'positive' 'positive']
我的预测如下
443 positive
3615 positive
2030 negative
2993 positive
2870 positive
2907 negative
2215 positive
['positive' 'positive' 'positive' ..., 'positive' 'positive' 'positive']
代码:
错误:
ValueError: pos_label=None is not a valid label: array(['negative', 'positive'],
dtype='<U8')
ValueError:pos_label=None不是有效的标签:数组(['negative','positive']),
dtype='精度定义为真阳性与总预测阳性的比率
precision = tp / (tp + fp)
现在,在您的情况下,程序不知道哪个标签将被视为正类。因此,您需要自己定义它。请执行以下操作:
precision_score(y_test, pred, pos_label='positive')
此外,您显示的错误:pos\u label=None不是有效的标签
表明您可能拥有较旧版本的scikit。较新版本应引发此错误(如果未指定pos\u label
):
所以我建议你升级到最新版本