混淆矩阵和ROC的个人理解

以下都是个人得到的认识,不一定正确!

混淆矩阵

肯定类别 否定类别
阳性判断 真阳性(TP) 假阳性(FP)
阴性判断 假阴性(FN) 真阴性(TN)

这是我自己对上面混淆矩阵的理解:

  • 真阳性:

    真:表示我预测的结果是阳性的,而实际结果也是阳性的,所以我预测对了,从而为真。

    阳性 : 表示我预测的结果为阳性。

    从而简称为真阳性

  • 假阳性:

    假:表示我预测的结果是阳性的,而实际结果是阴性的,所以我预测错了,从而为假。

    阳性:表示我预测的结果为阳性。

    从而简称为假阳性。

准确率(accuracy):

accuracy=TP+TNTP+TN+FP+FN=TP+TNallData accuracy = \frac{TP + TN}{TP + TN + FP + FN} = \frac{TP + TN}{all Data}

positive class的精确率(查准率)

precision=TPTP+FP=TPpositive precision = \frac{TP}{TP + FP} = \frac{TP}{预测为positive的样本}

positive class的召回率(recall),也成为查全率

recall=TPTP+FN=TPpositive recall = \frac{TP}{TP + FN} = \frac{TP}{真实为positive的样本}

ROC曲线和AUC值:

AUC : area under curve

在这里插入图片描述
ROC曲线的纵座标的计算公式为:

TruePositiveRate(TPR)=positiveclassrecall=TPTP+FN=TPpositive True Positive Rate(TPR) = positive class的recall = \frac{TP}{TP + FN} = \frac{TP}{真实为positive的样本}

ROC曲线的横座标的计算公式为:

FalsePositiveRate(FPR)=negativeClassrecall=FPFP+TN=FP+TNTNFP+TN=1TNFP+TN=1recallnegativeFalse Positive Rate(FPR) = negative Class的recall = \frac{FP}{FP + TN} = \frac{FP + TN - TN}{FP + TN} =1 - \frac{TN}{FP + TN} = 1 - recall_{negative}

关于ROC曲线的理解:

在处理分类问题时,根据不同的分类阈值(如阈值为0.4,大于0.4的为坏样本,大于0.4为好样本),我们可以得到多个TPR和TPR值,由每一个阈值构成的点(FPR,TPR),可以绘一条曲线,该条曲线就是ROC曲线。

或者说:

关于ROC图像的理解:一般ROC曲线的是一个二分类模型画出来的曲线。ROC的横座标为FPR值,纵座标为TPR值,其中图像的每一条ROC曲线对应一个模型。ROC曲线上的每一个点,是由(FPR,TPR)组成,在模型的不同阈值[0,1]下,就可以得到多个(FPR,TPR)组成的点,从而就得到了一条曲线,这个就是ROC曲线。

此时我们来观测极端情况下的(FPR,TPR)构成的点:

1.(0,0):fpr=tpr=0 ,即所有样本都被预测为负样本;(理解可参考FPR和TPR的计算公式)

FPR(预测错误的查全率) : 因为 FPR = FP / (FP + TN) ,而FPR = 0,那么就是FP为0 ,就是说预测为假阳性的样本的个数为0个。

TPR(预测正确的查全率) : 因为 TPR = TP / (TP + FN),而TPR = 0,那么就是TP=0,就是说预测为真阳性的样本个数为0。

既然预测为假阳性的样本个数为0,预测为真阳性的样本个数为0,即模型预测为阳性的个数为0,即模型预测结果全为负的。

如图说明:

肯定类别 否定类别 说明
阳性判断 真阳性(TP)样本个数=0 假阳性(FP)样本个数=0 预测为正样本的样本数为0
阴性判断 假阴性(FN)样本个数 真阴性(TN)样本个数 预测为负样本的样本数为整体样本

2.(1,1):fp=tp=1,所有样本都被预测为正样本;(理解可参考FPR和TPR的计算公式)

FPR(预测错误的查全率) : 因为 FPR = FP / (FP + TN) ,而FPR = 1,那么就是TN=0 ,这表示预测为真阴性的样本个数为0。

TPR(预测正确的查全率) : 因为 TPR = TP / (TP + FN),而TPR = 1,那么就是FN=0,这表示预测为假阴性的样本个数为0。

既然预测为假阳性的样本个数为0,预测为真阳性的样本个数为0,即模型预测为阳性的个数为0,即模型预测结果全为负的。

如下表格所示

肯定类别 否定类别 说明
阳性判断 真阳性(TP)样本个数 假阳性(FP)样本个数 预测为正样本的样本数为整体样本
阴性判断 假阴性(FN)样本个数=0 真阴性(TN)样本个数=0 预测为负样本的样本数为0

3.(1,0):fp=1,tp=0,所有正例都被预测为负例,而所有正例都没被预测出来,这时最糟糕的分类器,因为它成功的避开了所有正确答案。

如下表格所示

肯定类别 否定类别 说明
阳性判断 真阳性(TP)样本个数=0 假阳性(FP)样本个数 所有正样本都被预测错误
阴性判断 假阴性(FN)样本个数 真阴性(TN)样本个数=0 所有负样本都被预测错误

如下表格所示

4.(0,1):fp=0,tp=1,这是一个完美的分类器,它将所有样本都正确分类。

如下表格所示

肯定类别 否定类别 说明
阳性判断 真阳性(TP)样本个数 假阳性(FP)样本个数=0 所有正样本都被预测正确
阴性判断 假阴性(FN)样本个数=0 真阴性(TN)样本个数 所有负样本都被预测正确

那么,从这四个极端值可以看出,当ROC曲线越靠近(0,1)点时,预测效果越好。同时曲线和对角线的面积也会越大,这个面积就是AUC。

ROC理解的参考:https://blog.csdn.net/yinyu19950811/article/details/81288287

https://www.cnblogs.com/wuliytTaotao/p/9285227.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章