F1 分数与准确度:您应该使用哪个?
在机器学习中使用分类模型时,我们经常用来评估模型质量的两个指标是F1 分数和准确性。
对于这两个指标,值越高,模型将观察结果分类的能力就越强。
然而,每个指标都是使用不同的公式计算的,使用它有优点和缺点。
以下示例展示了如何在实践中计算每个指标。
示例:F1分数和准确率的计算
假设我们使用逻辑回归模型来预测 400 名不同的大学篮球运动员是否会被选入 NBA。
以下混淆矩阵总结了模型所做的预测:
以下是计算混淆矩阵的各种指标的方法:
准确性:相对于总阳性预测的正确阳性预测
- 准确率 = 真阳性 /(真阳性 + 假阳性)
- 准确度 = 120 / (120 + 70)
- 准确度 = 0.63
提醒:根据实际阳性总数正确预测阳性
- 召回率 = 真阳性 /(真阳性 + 假阴性)
- 召回率 = 120 / (120 + 40)
- 召回率 = 0.75
准确度:正确分类的所有观测值的百分比
- 准确度 =(真阳性 + 真阴性)/(总样本量)
- 准确度 = (120 + 170) / (400)
- 准确度 = 0.725
F1 分数:精确率和召回率的调和平均值
- F1 分数 = 2 *(准确率 * 召回率)/(准确率 + 召回率)
- F1 分数 = 2 * (0.63 * 0.75) / (0.63 + 0.75)
- F1 分数 = 0.685
何时使用 F1 分数与准确度
使用 F1 分数和准确性各有利弊。
准确度:
优点:易于解释。如果我们说一个模型的准确率是 90%,那么我们就知道它正确分类了 90% 的观察结果。
缺点:没有考虑数据如何分布。例如,我们假设 90% 的球员没有被选入 NBA。如果我们有一个模型简单地预测每个球员都会落选,那么该模型将正确预测 90% 球员的结果。这个值看起来很高,但模型实际上无法正确预测哪些球员将被选中。
F1成绩:
优点:考虑数据如何分布。例如,如果数据高度不平衡(例如,90% 的球员落选,10% 落选),那么 F1 分数将为模型的性能提供更好的评估。
缺点:更难解释。 F1 分数是精确度和模型召回率的结合,使其更难以解释。
一般来说:
当类别平衡并且预测假阴性没有重大缺点时,我们经常使用准确性。
当类别不平衡并且在预测假阴性方面存在严重劣势时,我们经常使用F1 分数。
例如,如果我们使用逻辑回归模型来预测一个人是否患有癌症,假阴性确实很糟糕(例如,当一个人实际做了某件事时却预测他没有患有癌症),因此 F1 分数将惩罚那些具有以下特征的模型:太多的假阴性。不仅仅是精度。
其他资源
回归对比分类:有什么区别?
逻辑回归简介
如何在 R 中执行逻辑回归
如何在 Python 中执行逻辑回归