混淆矩阵、ROC曲线,AUC值,K-S曲线

数据分析与挖掘体系位置

混淆矩阵是评判模型结果的指标,属于模型评估的一部分。此外,混淆矩阵多用于判断分类器(Classifier)的优劣,适用于分类型的数据模型,如分类树(Classification Tree)、逻辑回归(Logistic Regression)、线性判别分析(Linear Discriminant Analysis)等方法。

在分类型模型评判的指标中,常见的方法有如下四种:

  • 混淆矩阵(也称误差矩阵,Confusion Matrix)
  • ROC曲线
  • AUC面积
  • K-S曲线

混淆矩阵的定义

混淆矩阵(Confusion Matrix),它的本质远没有它的名字听上去那么拉风。矩阵,可以理解为就是一张表格,混淆矩阵其实就是一张表格而已。

以分类模型中最简单的二分类为例,对于这种问题,我们的模型最终需要判断样本的结果是0还是1,或者说是positive还是negative。

我们通过样本的采集,能够直接知道真实情况下,哪些数据结果是positive,哪些结果是negative。同时,我们通过用样本数据跑出分类型模型的结果,也可以知道模型认为这些数据哪些是positive,哪些是negative。

type I error is the rejection of a true null hypothesis (also known as ‘False Positive’)
type II error is failing to reject a false null hypothesis (also known as ‘False Negative’)

因此,我们就能得到这样四个基础指标,我称他们是一级指标(最底层的):

  • 真实值是positive,模型认为是positive的数量(True Positive=TP)
  • 真实值是positive,模型认为是negative的数量(False Negative=FN):这就是统计学上的第二类错误(Type II Error)
  • 真实值是negative,模型认为是positive的数量(False Positive=FP):这就是统计学上的第一类错误(Type I Error)
  • 真实值是negative,模型认为是negative的数量(True Negative=TN)
    将这四个指标一起呈现在表格中,就能得到如下这样一个矩阵,我们称它为混淆矩阵(Confusion Matrix):
    混淆矩阵、ROC曲线,AUC值,K-S曲线_第1张图片

二级指标

但是,混淆矩阵里面统计的是个数,有时候面对大量的数据,光凭算个数,很难衡量模型的优劣。因此混淆矩阵在基本的统计结果上又延伸了如下4个指标,我称他们是二级指标(通过最底层指标加减乘除得到的):

准确率(Accuracy)—— 针对整个模型
精确率(Precision)
灵敏度(Sensitivity):就是召回率(Recall)
特异度(Specificity)
混淆矩阵、ROC曲线,AUC值,K-S曲线_第2张图片

sensitivity:灵敏度,定义是TP/P = TP/(TP+FN),等价于召回率(recall)。表示真正例中有多少被召回了。

specificity:特异度,定义为TN/N = TN/(TN+FP),表示真阴性里面有多少被检出了。

1-sensitivity:FN/(TP+FN),说的是阳性中有多少被误判成了阴性,也就是漏检,或者说是Type II error

1-specificity:FP/(FP+TN),说的是阴性里有多少被当成了阳性,也就是虚警,就是Type I error

三级指标

这个指标叫做F1 Score。他的计算公式是:

其中,P代表Precision,R代表Recall。

F1-Score指标综合了Precision与Recall的产出的结果。F1-Score的取值范围从0到1的,1代表模型的输出最好,0代表模型的输出结果最差。

ROC曲线的定义和AUC值

ROC(Receiver Operating Characteristic)曲线横轴为虚警,纵轴是召回(灵敏度)。这一点可以这样理解:为了尽可能多的召回,最极端的方式就是把所有的都报告成阳性,但是这样一来,虚警就会变多。随着虚警的变多,召回的情况也越来越好,我们希望的是,尽量在虚警很低的时候,正样本都能尽可能全部被召回。因此,ROC下面围成的面积越大越好,这个面积就是AUC(Area Under Curve),翻译过来就是『曲线底下的面积』,非常简单直接粗暴。
混淆矩阵、ROC曲线,AUC值,K-S曲线_第3张图片

K-S曲线
混淆矩阵、ROC曲线,AUC值,K-S曲线_第4张图片

K-S曲线实际上就是把阈值作为横坐标,TPR和FPR,也就是召回率和虚警率,其实也就是ROC曲线的那两个变量,同时作为纵坐标,随着阈值的变化,召回和虚警都从0到1,这时候,两者距离最远的地方就是KS值。代表在某个阈值的时候,召回和虚警差距最大,也就意味着能用最少的虚警换来最多的召回,这个位置是我们需要的阈值。

参考:
原文链接:https://blog.csdn.net/edogawachia/article/details/97964428
原文链接:https://blog.csdn.net/Orange_Spotty_Cat/article/details/80520839

你可能感兴趣的:(机器学习)