机器学习评价指标之准确率、精确率、召回率、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)

 

作者的任务是一个典型的三分类问题, 下面通过混淆矩阵来解释一下: 机器学习评价指标之准确率、精确率、召回率、F1值

横轴:预测负类、预测中性类、预测正类 (预测结果)

纵轴:实际负类、实际中性类、实际正类 (标准结果)

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 值。