报错

在使用sklearn.metrics.recall()时报错:

ValueError: pos_label=‘pos’ is not a valid label: array([‘HA’, ‘LA’], dtype=‘<U2’)

报错分析

其实这个错误很简单,意思就是:默认的正标签pos_label1,那么,在计算指标的时候,系统就会认为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=“自己数据定义的正标签”))
12-09 15:51