scikit-learn报”ValueError: Target is multiclass but average=’binary’. Please choose another average setting, one of [None, ‘micro’, ‘macro’, ‘weighted’]. “的原因以及解决办法

该错误是因为如果目标变量是多类别的,而您选择的评估指标中的平均值参数设置为“binary”,则scikit-learn无法计算评估指标,因为“binary”只适用于二分类情况。

您可以通过使用另一个平均的设置来解决这个问题,其中None表示所有类别的性能将被计算,'micro'表示所有的真实和预测标签都将被考虑,而'macro'和'weighted'在对多类别问题进行评估时也很常见。

解决这个问题的方法是将评估指标的平均值参数设置为其中一个选项,例如:

from sklearn.metrics import f1_score
f1_score(y_true, y_pred, average='macro')

或者您也可以将平均值参数设置为None,以计算每个类别的性能,例如:

from sklearn.metrics import f1_score
f1_score(y_true, y_pred, average=None)

此文章发布者为:Python技术站作者[metahuber],转载请注明出处:http://pythonjishu.com/scikit-learn-error-9/

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2天前
下一篇 2天前

相关推荐