模型评估:二分类模型评估指标:Accuracy、Recall、Precision、F1-Score
四个概念
先看四个概念定义:
- TP,True Positive:真正例是指模型将正类别样本正确地预测为正类别;
- FP,False Positive:假正例是指模型将负类别样本错误地预测为正类别;
- TN,True Negative:真负例是指模型将负类别样本正确地预测为负类别;
- FN,False Negative:假负例是指模型将正类别样本错误地预测为负类别。
谷歌机器学习课程案例:
关于肿瘤恶性和良性判断:
- 肿瘤为恶性:定义为正类别
- 肿瘤为良性:定义为负类别
接下来试着计算以下模型的准确率,该模型将 100 个肿瘤分为恶性或良性:
Accuracy(准确率)
准确率是一个用于评估分类模型的指标。通俗来说,准确率是指我们的模型预测正确的结果所占的比例。
准确率为 0.91,即 91%(总共 100 个样本中有 91 个预测正确)。
- 在 100 个肿瘤样本中,91 个为良性(90 个 TN 和 1 个 FP),9 个为恶性(1 个 TP 和 8 个 FN)。
- 在 91 个良性肿瘤中,该模型将 90 个正确识别为良性。这很好。不过,在 9 个恶性肿瘤中,该模型仅将 1 个正确识别为恶性。
虽然 91% 的准确率可能乍一看还不错,但如果另一个肿瘤分类器模型总是预测良性,那么这个模型使用我们的样本进行预测也会实现相同的准确率(100 个中有 91 个预测正确)。换言之,我们的模型与那些没有预测能力来区分恶性肿瘤和良性肿瘤的模型差不多。
所以,当数据集的分类不平衡情况下,不能单一使用 Accuracy(准确率)这个指标。
Precision(精确率)
精确率指标尝试回答以下问题:在被识别为正类别的样本中,确实为正类别的比例是多少?
精确率的定义如下:
接下来计算一下案例中肿瘤的精确率:
该模型的精确率为 0.5,也就是说,该模型在预测恶性肿瘤方面的正确率是 50%。如果模型的预测结果中没有假正例,则模型的精确率为 1.0。
Recall(召回率)
召回率尝试回答以下问题:在所有正类别样本中,被正确识别为正类别的比例是多少?
召回率的公式如下:
来计算一下肿瘤分类器的召回率:
该模型的召回率是 0.11,也就是说,该模型能够正确识别出所有恶性肿瘤的百分比是 11%。
F1-Score
F1分数(F1 Score),是统计学中用来衡量二分类模型精确度的一种指标。它同时兼顾了分类模型的精确率和召回率。F1分数可以看作是模型精确率和召回率的一种加权平均,它的最大值是1,最小值是0。1代表模型的输出最好,0 代表模型的输出结果最差。
F1 Score 公式如下:
在二分类模型评估中,为了平衡这几个指标,通常只评估 F1 Score,只选择 F1 Score 最高的模型。