一、AUC(area under the curve)
AUC在机器学习领域中是一种模型评估指标。
根据维基百科的定义,AUC(area under the curve)是ROC曲线下的面积。
AUC:一个正例、一个负例,预测为正的概率值比预测为负的概率值还大的可能性。
计算方法有二:
1.绘制ROC曲线,ROC曲线下面的面积就是AUC的值;
2.假设总样本有m+n个,其中正样本m个,负样本n个,总共有m*n个样本对,计算预测为正样本的概率值和预测为负样本的概率值,如果正样本的概率值大于负样本的概率值则记为1,累计计数,然后除以m*n,则得到AUC的值。
AUC百度百科解释为随机挑选一个正样本和一个负样本,当前分类算法根据计算得到的score值将这个正样本在负样本前面的概率值
就是AUC值。这里score值就是预测为正的概率值,排在前面表示的是正样本的预测为正的概率值大于负样本的预测为正的概率值。
二、ROC曲线
1.ROC曲线:接受者操作特征(receiver operating characteristic),ROC曲线上每个点反映着对同一信号刺激的感受性。
横轴,负正类率(false postive rate FRP)特异度(又叫伪阳例,假正例),划分实例中
真实 | 预测 | 结果 |
情况 | y=1,良性 | y=0,恶性 |
y=1,良性 | TP真正例 | FN假反例 |
y=0,恶性 | FP假正例 | TN真反例 |
- FPR表示,在所有的恶性肿瘤中,被预测成良性的比例。称为伪阳性率。伪阳性率告诉我们,随机拿一个恶性的肿瘤样本,有多大概率会将其预测成良性肿瘤。显然我们会希望FPR越小越好。计算公式见下:
- TPR表示,在所有良性肿瘤中,被预测为良性的比例。成为真阳性率,又称为真正例率。即随机拿一个良性肿瘤样本时,有多大概率会将其预测为良性肿瘤,显然我们希望TRP越大越好。
ROC曲线:
ROC曲线中横坐标为FRP(false positive rate),纵坐标是TPR(true positive rate)。假设采用逻辑回归分类器,其给出针对每个实例为正类的概率,那么通过设定一个阈值假设为0.6,概率值大于等于0.6的为正类,小于0.6的为负类。对应的就可以算出一组(FPR、TPR),在平面中得到对应坐标点,即TPR和FPR会同时增大。阈值最大时,对应坐标点为(0,0),阈值最小时,对应坐标点为(1,1)。
横轴FPR:可知如果FPR越大,预测正类中负类越多。
纵轴TPR:正类覆盖率,TPR越大,预测正类中实际正类越多。
理想目标:TPR=1,FPR=0,即图中(0,1)点越多越好,故ROC曲线越靠拢(0,1)点越好,越偏离45°对角线越好,sensitivity和specificity越大效果越好。
详细解释可见下博客: