再说明这个概念之前,我们先举一个例子。
考虑一个二分问题,即将实例分成正类(positive)或负类(negative)。对一个二分问题来说,会出现四种情况。
1、如果实例是正类被预测成正类,称之为真正类(True positive)。TP
2、如果实例是负类被预测成正类,称之为假正类(False positive)。FP
3、如果实例是负类被预测成负类,称之为真负类(True negative)。TN
4、如果实例是正类被预测成负类,称之为假负类(False negative)。FN
真正类率(true positive rate ,TPR), 计算公式为TPR=TP/ (TP+ FN),刻画的是分类器所识别出的 正实例占所有正实例的比例。或如下:
True Positive Rate(真正率 , TPR)或灵敏度(sensitivity)
TPR = TP /(TP + FN)
正样本预测结果数 / 正样本实际数
假正类率(false positive rate, FPR),计算公式为FPR= FP / (FP + TN),计算的是分类器错认为正类的负实例占所有负实例的比例。或如下:
False Positive Rate (假正率, FPR)
FPR = FP /(FP + TN)
被预测为正的负样本结果数 /负样本实际数
真负类率(True Negative Rate,TNR),也称为specificity,计算公式为TNR=TN/ (FP+ TN) = 1 - FPR。
True Negative Rate(真负率 , TNR)或特指度(specificity)
TNR = TN /(TN + FP)
负样本预测结果数 / 负样本实际数
False Positive通常指误报,从字面上来看就是说,一个东西是被查出来了,但这是错误的(false)。
False Negative通常指漏报,也就是说,一个东西是没有被查出来的,但这是错误的(false)。
| |
预测
| | |
| |
1
|
0
|
合计
|
实际
|
1
|
True Positive(TP)
|
False Negative(FN)
|
Actual Positive(TP+FN)
|
|
0
|
False Positive(FP)
|
True Negative(TN)
|
Actual Negative(FP+TN)
|
合计
| |
Predicted Positive(TP+FP)
|
Predicted Negative(FN+TN)
|
TP+FP+FN+TN
|
在一个二分类模型中,对于所得到的连续结果,假设已确定一个阀值,比如说 0.6,大于这个值的实例划归为正类,小于这个值则划到负类中。如果减小阀值,减到0.5,固然能识别出更多的正类,也就是提高了识别出的正例占所有正例的比例,即TPR,但同时也将更多的负实例当作了正实例,即提高了FPR。为了形象化这一变化,在此引入ROC。
曲线由两个变量1-specificity (被预测为正的负样本数/负样本实际数)和 Sensitivity(正样本预测数结果数/正样本实际数)绘制. 1-specificity=FPR,即假正类率。
Sensitivity即是真正类率,TPR(True positive rate),反映了正类覆盖程度。
这个组合以1-specificity对sensitivity,即是以代价(costs)对收益(benefits)。
如下图所示:
Percentile | 实例数 | 正例数 | 1-特异度(%) | 敏感度(%) |
10 | 6180 | 4879 | 2.73 | 34.64 |
20 | 6180 | 2804 | 9.80 | 54.55 |
30 | 6180 | 2165 | 18.22 | 69.92 |
40 | 6180 | 1506 | 28.01 | 80.62 |
50 | 6180 | 987 | 38.90 | 87.62 |
60 | 6180 | 529 | 50.74 | 91.38 |
70 | 6180 | 365 | 62.93 | 93.97 |
80 | 6180 | 294 | 75.26 | 96.06 |
90 | 6180 | 297 | 87.59 | 98.17 |
100 | 6177 | 258 | 100.00 | 100.00 |
其正例数为此部分里实际的正类数。也就是说,将逻辑回归得到的结 果按从大到小排列,倘若以前10%的数值作为阀值,即将前10%的实例都划归为正类,6180个。其中,正确的个数为4879个,占所有正类的 4879/14084*100%=34.64%,即敏感度;另外,有6180-4879=1301个负实例被错划为正类,占所有负类的1301 /47713*100%=2.73%,即1-特异度。以这两组值分别作为x值和y值,在excel中作散点图。得到ROC曲线如下
对角线反映的是随机选择的结果,此对角线作为对照线。到底该怎样 选择阀值呢,这涉及到了AUC(Area Under the ROC Curve,ROC曲线下的面积)。