评估基础介绍
-------对于二分类问题,可将样例根据其真实类别与学习器(分类器)预测的类别的组合划分为 真正例(true positive),假正例(false positive),真反例(true negative),假反例(false negative) 四种情况,令TP,FP,TN,FN分别表示其对应的样例数。
TP + FP + TN +FN = 样例总数
混淆矩阵(confusion matrix) :它可以帮助人们更好地了解分类中的错误,如果混淆矩阵中的非对角线元素均为0,就会得到一个近乎完美的分类器。
真实情况 | 预测结果 | 预测结果 |
---|---|---|
----------- | 正例 | 反例 |
正例 | TP(真正例) | FN(假反例) |
反例 | FP(假正例) | TN(真反例) |
F1-score
-----查准率(精确率)P
P = TP/(TP + FP)
即是分类器分类结果中,真正例占总的分类为正例的比例
----查全率(召回率)R
R = TP/ (TP + FN)
即是分类器分类结果中的真正例占样本中总的正例的比例
R体现了模型对正样本的识别能力,P体现了模型对负样本的区分能力,F1-score则为两者的综合.
F1 = 2PR/(P + R) = 2TP/ (2TP + FN + FP )
AUC(ROC曲线)
-----在二分类任务中,我们根据学习器(分类器)的预测结果对样例进行排序,按此顺序逐个将样本作为正例进行预测,每次计算出 真正例率(true positive rate,TPR) : (预测为正且实际为正的样本占所有正例样本 的比例) ,以及 假正例率(false positive rate,FPR) : (预测为正但实际为负的样本占所有负例样本 的比例) ,并以它们分别作为纵坐标,横坐标,得到 ROC (Receiver Operating Characteristic) 曲线。
TPR = TP / (TP + FN)
FPR = FP / (TN + FP)
**AUC (Area Under Curve) **被定义为ROC曲线下的面积.
首先AUC值是一个概率值,当你随机挑选一个正样本以及负样本,当前的分类算法根据计算得到的Score值将这个正样本排在负样本前面的概率就是AUC值,AUC值越大,当前分类算法越有可能将正样本排在负样本前面,从而能够更好地分类。
从AUC判断分类器(预测模型)优劣的标准:
AUC = 1 | 是完美分类器,采用这个预测模型时,存在至少一个阈值能得出完美预测。绝大多数预测的场合,不存在完美分类器。 |
---|---|
0.5 < AUC < 1 | 优于随机猜测。这个分类器(模型)妥善设定阈值的话,能有预测价值。 |
AUC = 0.5 | 跟随机猜测一样(例:丢铜板),模型没有预测价值。 |
AUC < 0.5 | 比随机猜测还差;但只要总是反预测而行,就优于随机猜测。 |
ROC曲线的面积,即AUC值越大,分类器分类结果越好
因为ROC曲线有个很好的特性:当测试集中的正负样本的分布变化的时候,ROC曲线能够保持不变。在实际的数据集中经常会出现类不平衡(class imbalance)现象,即负样本比正样本多很多(或者相反),而且测试数据中的正负样本的分布也可能随着时间变化。
AUC计算 参考 AUC,ROC我看到的最透彻的讲解