作者:chen_h
微信号 & QQ:862251340
微信公众号:coderpai
分类是将每个数据集合中的元素分配给一个已知的数据类别。
那么分类都有哪些任务呢?
这个阶段将数据分为两个或三个部分:
这里有两种指标可以来评估一个分类模型的质量:
一个类别被定义为正样本,一个类别被定义为负样本。
一个类别被定义为正类,其他类别的组合都是被定义为负类。
正样本应该是在建模过程中被识别出来的对象:例如在信用评分模型中,正样本包括拖欠债务的顾客,负样本就是剩下所有类别的顾客。
对于一个完美分类器来说,我们希望得到如下参数:
FP = 0
FN = 0
TP = 所有正样本的个数
TN = 所有负样本的个数
上面我们已经介绍了一些基本的质量指标,现在我们来介绍一些派生出来的质量指标。
所以我们可以得到如下等式:
SE = TPR
SP = TNR
1 - SE = FNR
1 - SP = FPR
ACC = (TP + TN) / (TP + TN + FP + FN)
从上面我们可以看到,分类器有很多的评估质量的指标。那么如何选取当前模型的指标呢?这就变成了一个至关重要的问题。
在客户流失分析模型中,我们的数据有两个类别:客户流失和客户不流失。假设我们有 100 个数据,那么:
然后,我们设计的分类器获得了如下结果:
TP = 85(85个被正确分类为正样本)
TN = 1(1个被正确分类为负样本)
FP = 9(9个原来是负样本的被分类为正样本)
FN = 5(5个原来是正样本的被分类为负样本)
上述指标总和是:
TP + TN + FP + FN = 100
我们现在计算分类的总体准确率:
ACC = (85 + 1)/ 100 = 0.86
86% 的准确率已经是一个不坏的结果了,但是让我们看一下另一个指标:TNR,这个指标反映了分类器检测负样本的能力,也就是在我们这个例子中会继续使用我们软件的客户:
TNR = 1 / 10 = 0.1
也就是说,只有一个不会流失的顾客被识别出来了,剩下的不流失的顾客都被错误分类了。如果从这个角度分析,那么这个模型是非常糟糕的一个模型。
所以,只有一个 ACC 是不能很准确来衡量一个模型的好坏的。
在接下来,我们将采用图形指标来分析模型的好坏。我们将从混淆矩阵开始,这是表示分类结果的最简单方法。
混淆矩阵是一个 N*N 矩阵,其中每一行代表了数据的真实归属类别,每一行的数据总数表示该类别的数据实例的数目。每一列代表了模型预测得到的类别,每一列的总数表示预测为该类别的数据的数目。如下左上角的图,第一行第一列中的 85 表示有 85 个实际归属为第一类的数据被正确预测为了第一类。同理,第二行第一列中的 9 表示有 9 个实际是第二类的数据被错误预测为了第一类。
各种形式的混淆矩阵让我们可以更加容易的观察分类模型性能的这种特征,主要有如下两种形式:
收益和损失形式中的混淆矩阵包含分类决策造成的成本总和。
接下来举几个例子。
例子1
例子2
截止点是一个确定的阈值,可以用来确定一个观测属性是否属于一个特定的类别。
如果 P(class(x) = 1) > alfa,那么这个则分配给第一类。其中, alfa 就是一个截止点。P(class(x) = 1) 就是属于第一类的概率。
例如:
如果给定一个概率 60%,那么贷款申请人不善于偿还贷款的概率大于这个值(这个值是我们模型计算出来的),那么就将这个申请人转入坏账类别,否则将其转入好账类别。
对于相同的问题,我们可以考虑不同的截止点,这也将导致不同的混淆矩阵。通过分析这些矩阵我们就可以选择一个最佳的截止点。
ROC 曲线是分类质量可视化的另外一种方法,显示了 TPR 和 FPR 之间的依赖关系。
曲线越凸,分类器的性能越好。在下面的例子中,区域 1 中的 “绿色” 分类器更好,区域 2 中的 “红色” 分类器更好。
例子
分类质量可以使用 ROC 曲线下面的面积大小来计算衡量,这个曲线下的面积就是 AUC 系数。
AUC 系数越高越好。AUC = 1 意味着这是一个完美的分类器,我们把所有的东西都分类准确了。对于纯随机数的分类,我们的 AUC = 0.5。如果 AUC < 0.5,那么意味着这个分类器的性能比随机数还要差。
这里再说一个概念:基尼系数(Gini Coefficient),GC = 2 * AUC - 1。基尼系数越高,代表模型的效果越好。如果 GC = 1,那么这就是一个完美的模型了。如果 GC = 0,那么代表这只是一个随机数模型。
既然已经这么多评价标准,为什么还要使用ROC和AUC呢?因为ROC曲线有个很好的特性:当测试集中的正负样本的分布变化的时候,ROC曲线能够保持不变。在实际的数据集中经常会出现类不平衡(class imbalance)现象,即负样本比正样本多很多(或者相反),而且测试数据中的正负样本的分布也可能随着时间变化。下图是ROC曲线和Precision-Recall曲线的对比:
完整 PPT 可以关注微信公众号:coderpai,后台回复 20171223 获得。
来源:Data Science Central