Fundamental concepts:visualization of model performance under various kinds of uncertainty(在诸多不确定因素下观察模型表现);further consideration of what is desired from data mining results(深入考虑我们要从数据分析结果中得到什么).
Exemplary techniques:profit curves(利润曲线);cumulative response curves(累积响应曲线);lift curves(lift曲线);ROC curves(ROC曲线)。
图像比数字更能让老板开心,所以这个章节一起来看看怎么样用图像表现模型。
Ranking Instead of Classifying(用排名代替分类)
可以看到随着阈值下降,每个元素的混淆矩阵中的数字都在从N行向Y行运送,每个阈值都是一个不同的使用混淆矩阵来区分样本的分类器。
Profit Curves(利润曲线)
图8-2里面有 三个模型 ,推广一个新客户的成本是¥5,转化成功就赚¥9,利润是¥4,然后把所有的用户按照这三个模型分别把接受度从高到低排列,当推广的用户逐渐增多时的利润曲线就是图8-2中的结果。
图8-2中最左侧和最右侧4条线是在一个点上的,说明在极端情况时(0推广和全推广)的情况下利润是一致的,中间的起伏不同是因为不同的模型下,对不同的用户进行了不一样的评分和排列,实际上每个用户的混淆矩阵在跨模型时仍然是保持一致的。
从图8-2可以发现,分类器2可以得到最大的利润值¥200,当预算不限的情况下,最好选择分类器2,这样可以得到¥200利润,但需要推广50个最可能转化的用户,推广成本也最高。
当你被预算束缚的时候,比如你有一共100000用户,和¥40000推广经费,单位推广成本¥5,那么可以推广8000个用户,此时就需要在图8-2的8%的位置找到利润最高的分类器,此时就需要选择分类器1得到最大利润。
ROC Graphs and Curves(ROC图和曲线)
Receiver Operating Characteristics(ROC)graph:接受者操作特征曲线。
ROC曲线就是一个二维图标,false positive比率是x轴,true positive比率是y轴。
ROC图表有以下几个特殊点:
(0,0)从来不做positive归类的一个分类器;
(1,1)全都归类为positive的分类器;
(0,1)完美的分类器,所有预测均准确无误;
(0,0)到(1,1)的连线表示随机分类。
The Area Under the ROC Curves(AUC)(ROC曲线下方的区域-AUC)
AUC等同于Mann-Whitney-Wilcoxon measure(Mann-Whitney-Wilcoxon检验)或者Gini Coefficient(基尼系数),两者的相同点是都计算了,随机挑选一个positive样本,它的排名是在一个随机挑选的negative样本的上方的。
AUC(Area Under Curve)被定义为ROC曲线下与坐标轴围成的面积,显然这个面积的数值不会大于1。又由于ROC曲线一般都处于y=x这条直线的上方,所以AUC的取值范围在0.5和1之间。AUC越接近1.0,检测方法真实性越高;等于0.5时,则真实性最低,无应用价值。(以上描述来自百度百科)
Cumulative Response and Lift Curves(累积反应和升力曲线)
这个小节考虑到视觉化是需要让steakholder懂数据结果,从而使用更直观的一些图形来表述数据分析结果,而非使用更全面的ROC曲线。
cumulative response curve(累积响应曲线)和ROC曲线紧密相关。但是改变了x轴和y轴的含义,cumulative response curves的y轴是TP(tp rate,y axis)当做y轴,把受测样本的比例当做x周,如下图所示:
横轴表示测试的样本比例,纵轴表示被正确判断为positive的样本比例,对角线(图8-6中的实线)的含义是固定分类为positive时的分类器表现(即当测定样本比例为20%时,正确分类到positive的比率应该也是20%),故一切在对角线上方的分类器曲线,都是对随机判断提供了一些更有利信息的模型(即,在测定样本比例为20%时,正确判断positive的比例是高于20%的)。
小字部分:有时候累积响应曲线也被叫做升力曲线,因为可以通过这个线相比随机模型提升了多少来判断这个分类器模型的好坏,但本书中仍叫它累积响应曲线,因为升力曲线(lift curve)有其他的用途。
lift curves(升力曲线)的定义是在cumulative response curve的每一个x点上,把Y值转化为累计相应曲线的Y值除以对角线(y=x)的商,所以在升力曲线中,这个对角线变成了一个y=1的水平横线,如下图:
lift curves和cumulative response curves使用的时候要注意,如果positive元素的占比未知或在测试数据中未被精确表述时,不要使用这两个曲线。这两个曲线的使用有一个假设的前提条件是测试集中的positive占比和全量样本中的占比是一致的。
Example:Performance Analytics for Churn Modeling(churn建模的模型表现分析)
这里使用电信公司数据进行了4个方法的建模及预测精度的计算,如下2个图:
从上面表格可以看出,朴素贝叶斯模型得到了最低准确度但是有最大的AUC,将朴素贝叶斯和KNN的混淆矩阵进行对比如下2图:
可以看到K-NN模型几乎不会把要素分类到Y当中,换个说法就是,K-NN模型的表现和基础概率分类器差不多,总是单向地向N的情况下分类。朴素贝叶斯虽然准确率较低,但是判断出了更多的churners。
ROC曲线有较好的一些技术特征,但是曲度这个指标较难直观看出来,所以将其转化为升力曲线(lift curve)如下图:
从图8-10中可以看出,当测试样本在25%以下时,决策树的效果更好,超过25%时朴素贝叶斯效果更好,另外两个算法的建模都表现较差。
所以如果只需要针对前25%或更少的用户进行针对性宣传时,那么使用决策树会更好,否则建议使用朴素贝叶斯的分类方法。
知识点:combining classifiers(分类器合并)
在这里的问题上并不能简单合并决策树和NB,因为两个模型对样本的排序不同,不能采取前25%使用tree,后面的使用NB的方式,但是模型的确可以通过合并来提高表现,这个方法叫ensembles(合奏),将在308页介绍。
接下来把实际问题中的profit和cost也加进来,假设TP得到30收入,成本是3,单件的profit就是27。利润曲线如下图8-11:
修改收入为39,成本维持是3,此时每个TP提供的利润就是36,这种情况下的利润曲线发生了较大变化,如下图8-12:
基于上面的这个例子,在实际应用模型时,要考虑到使用的算法、精度、AUC,以及最后实际的profit的具体数值,这样才能在测算时得到一个最接近实际的预测,成本收入的量变会导致算法方面的质变。
summary
这里有1推荐论文:
approximate statistical tests for comparing supervised classification learning algorithms(by Thomas Dietterich's 1998)
和1推荐书目:
evaluating learning algorithms:A Classification Perspective(Japkowicz & Shah,2011)
本章结束