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

yizhihongxing

该错误是因为如果目标变量是多类别的,而您选择的评估指标中的平均值参数设置为“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)

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:scikit-learn报”ValueError: Target is multiclass but average=’binary’. Please choose another average setting, one of [None, ‘micro’, ‘macro’, ‘weighted’]. “的原因以及解决办法 - Python技术站

(0)
上一篇 2023年3月19日
下一篇 2023年3月19日

相关文章

合作推广
合作推广
分享本页
返回顶部