我正在尝试分析我的结果,所以我在sklearn上使用了F1评分指标和分类报告。显示的结果与平均类型无关,完全不同。它一点也不匹配。我的验证数据示例
F1分数0.7666666666666667
但是分类报告的结果是:
report precision recall f1-score support
0 0.16 0.57 0.25 7
1 0.40 0.09 0.14 23
accuracy 0.20 30
macro avg precision: 0.28, recall:0.33, f1score:0.20 support:30
weighted avg precision:0.34 recall:0.20 f1score:0.17 support:30任何帮助都将不胜感激。谢谢!
我的代码是:`print(‘微分数平均(Y_pred),F1=’np.round‘)’)‘
对于分类报告,它是:
` print('F1 score {}'.format(sklearn.metrics.classification_report(test_label,np.round(y_pred),target_names=labels)‘
labels只是一个列表,其中包含我的类标签。
发布于 2020-01-20 18:23:57
当您计算F1得分时,您要求scikit计算平均值=‘微’,但分类报告计算的是宏观和加权平均值。
试试print('F1 score {}'.format(sklearn.metrics.f1_score(test_label, np.round(y_pred), average='macro'))。
https://stackoverflow.com/questions/59785729
复制相似问题