当我在我的2级classification_report()和yhat上运行scikit-learn y时,我得到以下信息:
precision recall f1-score support
0 0.84 0.97 0.90 160319
1 0.67 0.27 0.38 41010
accuracy 0.82 201329 <--- WHAT?
macro avg 0.75 0.62 0.64 201329
weighted avg 0.80 0.82 0.79 201329我理解F1、宏平均F1等等,但是f1-score列下的accuracy值是多少?
我已经读过关于这个函数的其他问题:
发布于 2020-12-11 02:13:15
我告诉您,这是一种显示数据的奇怪方法,但准确性是唯一不符合模式的字段。例如:
precision recall f1-score support
0 0.84 0.97 0.90 160319
1 0.67 0.27 0.38 41010正如在如何解读科学分类报告-学习?中所解释的那样,精确性、召回性、F1评分和支持只是二进制分类问题的两个类别的度量标准。
表的第二部分:
accuracy 0.82 201329 <--- WHAT?
macro avg 0.75 0.62 0.64 201329
weighted avg 0.80 0.82 0.79 201329准确性是模型的总体精度(请注意,精度不是相对于某个类的度量,而是跨所有类的性能)。精确和回忆分数的宏观平均值就是这两类的调和平均值。ie:
recall macro avg = (recall_class_1 + recall_class_0) / 2加权平均只是两个类的平均度量,按样本的支持/大小加权。ie:
recall weighted avg = (support_class_0 * recall_class_0 + support_class_1 * recall_class_1) / (support_class_0 + support_class_1)这是一个相当长的方式,说准确性只是整体的准确性。它与列F1-分数无关,而它恰好在下面。
https://datascience.stackexchange.com/questions/86537
复制相似问题