报错
在使用sklearn.metrics.recall()
时报错:
ValueError: pos_label=‘pos’ is not a valid label: array([‘HA’, ‘LA’], dtype=‘<U2’)
报错分析
其实这个错误很简单,意思就是:默认的正标签
即pos_label
为1
,那么,在计算指标的时候,系统就会认为1是正标签,其他的都为负标签(比如:0)
。而我们所定义的标签中,HA
是正标签,LA
是负标签,因此,我们只需在代码中添加一句pos_label='HA'
,这样程序就认得了:哦!原来正标签不是1,是HA啊! 这样就解决这个错误。是不是很简单啊😏
报错前:
sklearn.metrics.recall_score(y_test, y_pred)
将代码更改为下面的,即可解决
# 请根据自己的实际情况,更换为自己的标签:pos_label='定义的正标签'
sklearn.metrics.recall_score(y_test, y_pred,pos_label='HA')
tips
同理,在计算下列指标时,都可以这样改哦!
- from sklearn import metrics
- metrics.precision_score(y_test, y_pred,pos_label=“自己数据定义的正标签”))
- metrics.recall_score(y_test, y_pred,pos_label=“自己数据定义的正标签”))