机器学习-模型评估.3
详细案例解释ROC与AUC过程。
1.ROC与AUC评价
前面对ROC和AUC简单有了了解,只知道了他是用来评价学习器优劣的指标,这里来更详细记录下具体意义和求法。

图中曲线为ROC曲线,曲线下的面积的具体数值为AUC指标。
α越接近α0,分类器性能越好,当ROC曲线降到红线以下时,说明用这个分类器分,我还不如瞎分(瞎分二分类按正确率0.5算的话)
2.AUC值求取案例(理解原理)
| 样例 | x5 | x2 | x7 | x4 | x1 | x6 | x3 | x8 | x9 |
|---|---|---|---|---|---|---|---|---|---|
| y_true | - | + | - | - | + | - | + | + | - |
| P(+) | 0.9 | 0.8 | 0.7 | 0.6 | 0.5 | 0.4 | 0.3 | 0.2 | 0.1 |
P(+):预测为+的概率
PS:使用这个表时,需要按照概率首先将样例重新排列。
求解:
第一次:
| 真 | - | + | - | - | + | - | + | + | - |
|---|---|---|---|---|---|---|---|---|---|
| 1测 | - | - | - | - | - | - | - | - | - |
TPR=0/4=0 FPR=0/5=0 (公式自行查询)
第二次:
| 真 | - | + | - | - | + | - | + | + | - |
|---|---|---|---|---|---|---|---|---|---|
| 2测 | + | - | - | - | - | - | - | - | - |
TPR=0/4=0 FPR=1/5=0.2
循环...直到测试全为+的时候停
第n次:
| 真 | - | + | - | - | + | - | + | + | - |
|---|---|---|---|---|---|---|---|---|---|
| n测 | + | + | + | + | + | + | + | + | + |
TPR=4/4=1 FPR=5/5=1
根据以上TPR和FPR分别作为xy轴 画图得到:

具体面积的值就是AUC啦。
3.四种求AUC方法
3.1 定义法
类似求定积分,将阴影面积拆成一个一个的长方形,求每一块的面积,然后求和。
3.2 排序损失法
AUC是样本预测的排序质量的一种判断标准,因此与排序误差紧密联系。比如给了m+个正例和m-个负例,D+D-分别表示正反例集合,那么排造成的Loss为:
乍一看,看不懂,说人话就是,看这个表:
| 样例 | x5 | x2 | x7 | x4 | x1 | x6 | x3 | x8 | x9 |
|---|---|---|---|---|---|---|---|---|---|
| y_true | - | + | - | - | + | - | + | + | - |
| P(+) | 0.9 | 0.8 | 0.7 | 0.6 | 0.5 | 0.4 | 0.3 | 0.2 | 0.1 |
+:x2,x1,x3,x8 四个
-:x5,x7,x4,x6,x9 五个
第一次取x2和x5 => 0.9>0.8 => 记罚分 1.0
第二次取x2和x7 => 0.8<0.7 => 记罚分 0.0
第三次取x2和x4...
记录4*5=20次罚分求和/20得到Loss值。
最后:
3.3 排序收益法
和排序损失法对应,不过不是记录罚分,而是计算收益,最后的公式为
3.4 排序法
理解了上面几个方法,这个就直接看公式理解吧:
\(n_0\),\(n_1\)分别为负例正例样本个数。
\(r_i\)表示按照概率大到小排序后第r个位置。
还不懂的话,直接看个例子吧:
| ID | Label | P(+|x) | rank |
|---|---|---|---|
| X4 | + | 0.8 | 1 |
| X2 | - | 0.4 | 2 |
| X3 | + | 0.3 | 3 |
| X1 | - | 0.1 | 4 |

浙公网安备 33010602011771号