机器学习评价指标之准确率、精确率、召回率、F1值
准确率、精确率、召回率、F1值
定义:
准确率(Accuracy):正确分类的样本个数占总样本个数, A = (TP + TN) / N
精确率(Precision):预测正确的正例数据占预测为正例数据的比例, P = TP / (TP + FP)
召回率(Recall):预测为正确的正例数据占实际为正例数据的比例, R = TP / (TP + FN)
F1 值(F1 score): 调和平均值, F = 2 / (1/P + 1/R) = 2 * P * R / (P + R)
作者的任务是一个典型的三分类问题, 下面通过混淆矩阵来解释一下:
横轴:预测负类、预测中性类、预测正类 (预测结果)
纵轴:实际负类、实际中性类、实际正类 (标准结果)
T00 | F01 | F02 |
F10 | T11 | F12 |
F20 | F21 | T22 |
通过混淆矩阵,可以算出(总量4779):
A = (T00 + T11 + T22) / N = (1494 + 1244 + 1126) / 4779 = 0.8085
P0 = T00 / (T00 + F01 + F02) = 1494 / 1748 = 0.8546
P1 = T11 / ( F10 + T11 + F12) = 1244 / 1558 = 0.7856
P2 = T22 / (F20 + F21 + T22) = 1126 / 1473 = 0.7644
P = (0.8546 + 0.7856 + 0.7644) / 3 = 0.8015
R0 = T00 / (T00 + F10 + F20) = 1494 / 1912 = 0.7813
R1 = T11 / (F01 + T11 + F21) = 1244 / 1487 = 0.8365
R2 = T22 / (F02 + F12 + T22) = 1126 / 1380 = 0.8159
R = (0.7813 + 0.8365 + 0.8159) / 3 = 0.8112
F1 = 2 * P * R / (P + R) = 2 * 0.8015 * 0.8112 / (0.8015 + 0.8112) = 0.8063
优缺点:
准确率、精确率、召回率、F1 值主要用于分类场景。
准确率可以理解为预测正确的概率,其缺陷在于:当正负样本比例非常不均衡时,占比大的类别会影响准确率。如异常点检测时:99% 的都是非异常点,那我们把所有样本都视为非异常点准确率就会非常高了。
精确率可以理解为预测出的东西有多少是用户感兴趣的;
召回率可以理解为用户感兴趣的东西有多少被预测出来了。
一般来说精确率和召回率是一对矛盾的度量。为了更好的表征学习器在精确率和召回率的性能度量,引入 F1 值。