【解决问题】python编译报错 Target is multiclass but average='binary'. Please choose another average setting
今天在编译python代码时,遇到了如下错误:
Target is multiclass but average=‘binary’. Please choose another average setting, one of [None, ‘micro’, ‘macro’, ‘weighted’].
原代码如下,是要求某数据集的F1(精度和召回率组合成单一的指标)。
from sklearn.metrics import precision_score, recall_score precision_score(y_train, y_train_pred) 1234
解决办法
原代码基础上添加了average=‘micro’。
from sklearn.metrics import precision_score, recall_score precision_score(y_train, y_train_pred, average='micro') 1234
average参数定义了该指标的计算方法,二分类时average参数默认是binary;多分类时,可选参数有micro、macro、weighted和samples。
None:返回每个班级的分数。否则,这将确定对数据执行的平均类型。
binary:仅报告由指定的类的结果pos_label。仅当targets(y_{true,pred})是二进制时才适用。
micro:通过计算总真阳性,假阴性和误报来全球计算指标。也就是把所有的类放在一起算(具体到precision),然后把所有类的TP加和,再除以所有类的TP和FN的加和。因此micro方法下的precision和recall都等于accuracy。
macro:计算每个标签的指标,找出它们的未加权平均值。这不会考虑标签不平衡。也就是先分别求出每个类的precision再求其算术平均。
weighted:计算每个标签的指标,并找到它们的平均值,按支持加权(每个标签的真实实例数)。这会改变“宏观”以解决标签不平衡问题; 它可能导致F分数不在精确度和召回之间。
samples:计算每个实例的指标,并找出它们的平均值(仅对于不同的多标记分类有意义 accuracy_score)。
参考:https://blog.csdn.net/datongmu_yile/article/details/81750737
相关知识
Python语言基于CART决策树的鸢尾花数据分类
SKYNE/python
基于激光雷达的果树智能修剪系统设计与试验
中国马铃薯病虫害发生情况与农药使用现状
使用Python调用mysql
【Python】基础
基于深度学习的行为识别方法
戒指太贵怎么办?节省婚戒花销的八个办法
老王python之基本数据类型习题
Python机器学习基础教程
网址: 【解决问题】python编译报错 Target is multiclass but average='binary'. Please choose another average setting https://www.huajiangbk.com/newsview548942.html
上一篇: 【Python】(二)数据类型与 |
下一篇: 京东爬虫 |
推荐分享

- 1君子兰什么品种最名贵 十大名 4012
- 2世界上最名贵的10种兰花图片 3364
- 3花圈挽联怎么写? 3286
- 4迷信说家里不能放假花 家里摆 1878
- 5香山红叶什么时候红 1493
- 6花的意思,花的解释,花的拼音 1210
- 7教师节送什么花最合适 1167
- 8勿忘我花图片 1103
- 9橄榄枝的象征意义 1093
- 10洛阳的市花 1039