以下都是个人得到的认识,不一定正确!
肯定类别 | 否定类别 | |
---|---|---|
阳性判断 | 真阳性(TP) | 假阳性(FP) |
阴性判断 | 假阴性(FN) | 真阴性(TN) |
这是我自己对上面混淆矩阵的理解:
真阳性:
真:表示我预测的结果是阳性的,而实际结果也是阳性的,所以我预测对了,从而为真。
阳性 : 表示我预测的结果为阳性。
从而简称为真阳性
假阳性:
假:表示我预测的结果是阳性的,而实际结果是阴性的,所以我预测错了,从而为假。
阳性:表示我预测的结果为阳性。
从而简称为假阳性。
准确率(accuracy):
a c c u r a c y = T P + T N T P + T N + F P + F N = T P + T N a l l D a t a accuracy = \frac{TP + TN}{TP + TN + FP + FN} = \frac{TP + TN}{all Data} accuracy=TP+TN+FP+FNTP+TN=allDataTP+TN
positive class的精确率(查准率)
p r e c i s i o n = T P T P + F P = T P 预 测 为 p o s i t i v e 的 样 本 precision = \frac{TP}{TP + FP} = \frac{TP}{预测为positive的样本} precision=TP+FPTP=预测为positive的样本TP
positive class的召回率(recall),也成为查全率
r e c a l l = T P T P + F N = T P 真 实 为 p o s i t i v e 的 样 本 recall = \frac{TP}{TP + FN} = \frac{TP}{真实为positive的样本} recall=TP+FNTP=真实为positive的样本TP
AUC : area under curve
T r u e P o s i t i v e R a t e ( T P R ) = p o s i t i v e c l a s s 的 r e c a l l = T P T P + F N = T P 真 实 为 p o s i t i v e 的 样 本 True Positive Rate(TPR) = positive class的recall = \frac{TP}{TP + FN} = \frac{TP}{真实为positive的样本} TruePositiveRate(TPR)=positiveclass的recall=TP+FNTP=真实为positive的样本TP
ROC曲线的横坐标的计算公式为:
F a l s e P o s i t i v e R a t e ( F P R ) = n e g a t i v e C l a s s 的 r e c a l l = F P F P + T N = F P + T N − T N F P + T N = 1 − T N F P + T N = 1 − r e c a l l n e g a t i v e False Positive Rate(FPR) = negative Class的recall = \frac{FP}{FP + TN} = \frac{FP + TN - TN}{FP + TN} =1 - \frac{TN}{FP + TN} = 1 - recall_{negative} FalsePositiveRate(FPR)=negativeClass的recall=FP+TNFP=FP+TNFP+TN−TN=1−FP+TNTN=1−recallnegative
在处理分类问题时,根据不同的分类阈值(如阈值为0.4,大于0.4的为坏样本,大于0.4为好样本),我们可以得到多个TPR和TPR值,由每一个阈值构成的点(FPR,TPR),可以绘一条曲线,该条曲线就是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