紧接上期,再向大家介绍一个概念,混淆矩阵(Confusion Matrix),这个名字起的非常好,很多人学到这里,看到这个矩阵就混淆了。
在两分类问题中,我们将两类中的一类称为正类(Positive),另一类称为负类(Negative),为了便于理解,设有一个两分类问题,区分男女,男为正类,女为负类,做一个中文的混淆矩阵:
混淆矩阵 | ||||
实际值 | ||||
男 | 女 | 预测合计 | ||
预测 值 |
男 | 预测为男,实际为男 | 预测为男,实际为女 | 预测男人总数 |
女 | 预测为女,实际为男 | 预测为女,实际为女 | 预测女人总数 | |
实际合计 | 实际男人总数 | 实际女人总数 |
了解了混淆矩阵的概念,就可以接着了解接收器操作特性曲线(Receiver Operating Characteristic)了
为了便于理解,这里设上图描述的分类问题是“根据身高判断男女”,图中左上部分中,横坐标为身高,纵坐标为人数,左边图形代表女人,右边图形代表男人,竖线是阈值。
图中下半部分,横坐标为伪正类率(FP/P),纵坐标为真正类率(TP/P),当阈值取为1米时,几乎所有人都会被判断为男人,伪正类率和真正类率均为100%,对应的ROC点为最右上方点,而当阈值取3米时,所有人都会被判断为女人,伪正类率和真正类率均为0%,赌赢的ROC点为原点。一个二分类模型的阈值可能设定为高或低,每种阈值的设定会得出不同的 FPR 和 TPR ,将同一模型每个阈值的 (FPR, TPR) 坐标都画在 ROC 空间里,就成为特定模型的ROC曲线。ROC曲线横坐标为假正率(FPR),纵坐标为真正率(TPR)。
AUC就是曲线下面积,在比较不同的分类模型时,可以将每个模型的ROC曲线都画出来,比较曲线下面积做为模型优劣的指标。ROC 曲线下方的面积(Area under the Curve),其意义是:
(1)因为是在1x1的方格里求面积,AUC必在0~1之间。
(2)假设阈值以上是阳性,以下是阴性;
(3)若随机抽取一个阳性样本和一个阴性样本,分类器正确判断阳性样本的值高于阴性样本的概率 = AUC 。
(4)简单说:AUC值越大的分类器,正确率越高。
从AUC 判断分类器(预测模型)优劣的标准:
AUC = 1,是完美分类器。
AUC = [0.85, 0.95], 效果很好
AUC = [0.7, 0.85], 效果一般
AUC = [0.5, 0.7],效果较低,但用于预测股票已经很不错了
AUC = 0.5,跟随机猜测一样(例:丢铜板),模型没有预测价值。
AUC < 0.5,比随机猜测还差;但只要总是反预测而行,就优于随机猜测。