机器学习-混淆矩阵、ROC曲线和AUC图像

在监督问题中,混淆矩阵可用作模型评估,一般常见于分类问题。

基本模型如图

横向代表真实值,纵向代表预测值。真正例指预测为正实际也为正的值,假负例是预测为负实际为正的值,假正例是预测为正实际为负的值,真负例指预测为负实际为负的值。

由此引出了模型效果评估的评价指标

准确率(Accuracy)=提取出的正确样本数/总样本数

召回率(Recall)=正确的正例样本数/样本中的正例样本数——覆盖率

精准率(Precision)=正确的正例样本数/预测为正例的样本数

F值=Precision*Recall*2 / (Precision+Recall) (即F值为正确率和召回率的调和平均值)

Accuracy=\frac{A+D}{A+B+C+D}

Recall=\frac{A}{A+B}

Precision=\frac{A}{A+C}

F=\frac{2*Recall*Precision}{Recall+Precision}

用的比较多的是准确率和召回率

ROC和AUC

ROC(Receiver Operating Characteristic)最初源于20世纪70年代的信号检测理论,描述的是分类混淆矩阵中FPR-TPR两个量之间的相对变化情况,其纵轴是“真正例率”(TPR),横轴是“假正例率”(FPR)。

TPR=\tfrac{tp}{tp+fn}=\tfrac{A}{A+B}

FPR=\tfrac{fp}{fp+tn}=\tfrac{C}{C+D}

由图可知,当FPR越小,TPR越大时,模型效果越好,随着FPR的增加,TPR增加的越快,模型越好,反映了其在二分类问题描述的优势。

AUC(Area Under Curve)被定义为ROC曲线下的面积,由图知,该面积不会超过1.

简述下其计算方法:

AUC=\tfrac{\sum I(P_T, P_F)}{M*N}

即在有M个正样本,N个负样本的数据集里。一共有M*N对样本(一对样本即,一个正样本与一个负样本)。统计这M*N对样本里,正样本的预测概率大于负样本的预测概率的个数。

例子如下

当AUC的值为1时,即为完美分类器;当0.5<AUC<1,即为优于随机猜想;当AUC<0.5,比随机猜想还差,需反其道而行之。

猜你喜欢

转载自blog.csdn.net/yangjiajia123456/article/details/84980630
今日推荐