您需要添加
'average'参数。根据文档:
平均值: 字符串,[无,“二进制”(默认),“微”,“宏”,“样本”,“加权”]
对于多类/多标签目标,此参数是必需的。如果为
None,则返回每个班级的分数。否则,这将确定对数据执行的平均类型:
做这个:
print("Precision Score : ",precision_score(y_test, y_pred,pos_label='positive' average='micro'))print("Recall Score : ",recall_score(y_test, y_pred,pos_label='positive' average='micro'))替换
'micro'为以上任一选项
'binary'。同样,在多类设置中,不需要提供,
'pos_label'因为无论如何它将被忽略。
更新评论:
是的,它们可以相等。它在用户指南中给出:
请注意,对于包含所有标签的多类设置中的“微”平均,将产生相等的精度,召回率和F,而“加权”平均可能产生不在精度和召回率之间的F分数。



