资源描述
数据挖掘模型评估,2020/7/31,1,一、评估分类法的准确率,2020/7/31,2,评估分类法准确率的技术有保持(holdout)和k-折交叉确认(k-fold cross-validation)方法。 另外,还有两种提供分类法准确率的策略:装袋(bagging)和推进(boosting)。 1、保持和k-折交叉 在保持方法中,给定数据随机划分成两个独立的集合:训练集和测试集。通常,三分之二的数据分配到训练集,其余三分之一分配到训练集。,2020/7/31,3,“保持”这种评估方法是保守的,因为只有一部分初始数据用于导出的分类法。 随机子选样是“保持”方法的一种变形,它将“保持”方法重复k次。总体准确率估计取每次迭代准确率的平均值。,K折交叉确认,在k折交叉确认(kfold crossvalidation)中,初试数据被划分成k个互不相交的子集或“折”,每个折的大小大致相等。训练和测试k次。在第i次迭代,第i折用作测试集,其余的子集都用于训练分类法。 准确率估计是k次迭代正确分类数除以初始数据中的样本总数。,2020/7/31,4,2、提高分类法的准确率,2020/7/31,5,装袋,2020/7/31,6,推进,即使用相同的分类器,各个分类器不是独立的;使用同一个算法对样本迭代训练,后建立的分类器关注于先前建立的分类器不能更好处理的部分数据;最终的输出为各个分类器的加权投票。,3、灵敏性和特效性度量,假定你已经训练了一个分类法,将医疗数据分类为“cancer”或“non_cancer”。90%的准确率使得该分类法看上去相当准确,但是如果实际只有34%的训练样本是“cancer”会怎么样? 显然,90%的准确率是不能接受的该分类法只能正确的标记“non_cancer”(称作负样本)样本。但我们希望评估该分类能够识别“cancer”(称作正样本)的情况。,2020/7/31,7,为此,除用准确率评价分类模型外,还需要使用灵敏性(sensitivity)和特效性(specificity)度量。 还可以使用精度(precision)来度量,即评估标记为“cancer”,实际是“cancer”的样本百分比。,2020/7/31,8,其中,t_pos是真正样本(被正确地按此分类的“cancer”样本)数,pos是正(“cancer”)样本数, t_neg是真负样本(被正确地按此分类的“non_cancer”样本)数,neg是负( “non_cancer”)样本数, 而f_pos假正样本(被错误地标记为“cancer”的“non_cancer”样本)数,2020/7/31,9,灵敏性,特效性,精度,2020/7/31,10,二、数据挖掘模型评估的错误观念,传统评估分类预测模型时,通常使用的是“准确度”。它的功能是评估模型分类实物是否正确。准确度越高模型就越好。 但事实上,这样评估出来的模型并不是最好的。,2020/7/31,11,例:某家银行发行现金卡,风险控管部门主管决定建立DM模型,利用申请人申请当时的所填的资料,建立违约预测模型,来作为核发现金卡以及给予额度的标准。 该银行邀请两家DM公司来设计模型,评比的标准是根据模型的“准确度”。 根据此标准,A公司所建模型的准确度92%,B公司的准确度是68%。 银行和A公司签约。,2020/7/31,12,利用A公司的模型后,结果发现里面只有一条规则,那就是“所有的人都不会违约”。 为什么? A:所有的人都不会违约,因此它错误的只有8%的违约分类错误(违约误判为不违约),因此准确率是92%。 B:在根据评分由高至低筛选出来前40%的名单中,可以将所有的违约户都找出来。即有32%的非违约户被误判为违约户,因此准确率只有68%。 哪一家的模型更好呢? 由上可以发现,不能使用准确率来评判模型的优劣。,2020/7/31,13,为什么会出现这样的结果?,原因在于两类错误,忽略了“错误不等价”。 如果把一个“会违约的人判断成不会违约”,这家银行损失2030万元的现金卡卡金,但是如果将一个“不会违约的人错判成违约”,只是划分了一些审查成本以及可能因为保守给予额度而造成的机会成本损失。 因此两种误判所造成的效益影响是不等价的。,2020/7/31,14,所谓小概率事件是发生概率小,而且一定是能够为企业界带来高度获利或严重损失的事件。 由于小概率事件发生概率很小,如果针对所有客户采取行动,就会形成浪费,因此,需要利用预测的技术将小概率事件找出来。那么,只针对预测的小概率事件采取行动就会避免浪费。 DM的价值就在于能够利用历史资料找出“小概率事件”。,2020/7/31,15,小概率事件:,因此,评估数据挖掘模型的第一步就必须从错误状态的分类入手。这需要建立分类矩阵,通过分类矩阵来查看所有错误的分布。,2020/7/31,16,两类错误 犯第一类错误是弃真错误; 犯第二类错误是取伪错误 。,2020/7/31,17,三、分类矩阵,对于DM来说,通常第二类错误的损失或收益要比第一类高。 因此,我们需要确定哪一个状况是我们所关心的小概率事件。 把对这个事件的误判会造成极大损失的情况,作为第二类错误。 例,把一个好账的人当作呆账是第一类错误,把一个呆账的人当作好账是第二类错误。,2020/7/31,18,2020/7/31,19,表中,预测为会违约且实际也会违约的有66人,预测不会违约且实际没有违约的有721人,这些是分类正确者。 表中,预测为会违约且实际没有违约的有28人,预测不会违约且实际违约的有185人,这些是预测模型判断错误的部分。其中,后者还会造成比较严重的损失,是值得关注的部分。,该如何使用分类矩阵的信息呢?,2020/7/31,20,主要看三个指标,即回应率、反查率以及间距缩减。,Response rate =预测会违约且实际会违约/所有预测会违约 =66/(66+28)=70.21% 预测模型回应率的高低须和总体回应率比较: 总体response rate =总体实际会违约/总体=(66+185)/(66+185+28+721)=25.1%,2020/7/31,21,回应率(response rate):在预测的名单中找出有多少小概率事件(在预测违约的名单中,真正违约的所占比例是多少)。,可以发现,原始回应率为25.1%,运用数据挖掘模型提升为70.21%,因此回应率提升了2.8倍。 回应率讲究的是模型“宁缺勿滥”的能力。 回应率高并不代表一定是好模型,因为如果利用数据挖掘模型从一万人中挑出10个最有可能会买产品的顾客,结果回应率是100%,但是却漏掉了大多数会买产品的顾客,因此,还得参考“反查率”这个指标。,2020/7/31,22,Recall =预测会违约且实际违约/所有实际会违约 =66/(66+185)=26.29% 它的意义在于:预测出来会违约的人占了总体会违约的客户多少百分比。反查率越高,表明犯第二类错误的可能性越小,那么模型越好。,2020/7/31,23,反查(recall):预测出来的小概率事件占总体小概率事件的比例是多少。,完美的预测模型反查率是100%,但是反查率与回应率是互相矛盾的。 recall=67/(67+184)66/(66+185) Response rate=67/(67+38)66/(66+28),2020/7/31,24,Range reduce =预测会违约/总体=(66+28)/(66+28+721+185) =9.4% 间距缩减代表的是根据模型执行活动时的成本,当如果名单量没有有效缩减时,执行的总成本会很高,因此间距缩减越低越好。,2020/7/31,25,间距缩减(range reduce):通过DM模型来找出小概率事件时,名单缩小了多少。,从上述三个指标来看,这个预测模型可以让名单缩减至原来的9.4%,但是却只包含了总体26.29%会违约的人(反查率),让回应率提升了原先的2.8倍。,2020/7/31,26,注意:,很少有模型同时能够满足上述三个指标的要求,当回应率很高时,一定是筛选高概率族群,因此名单间距缩减一定会变低,但是会遗漏掉低概率族群必定会造成反查降低,所以若只看分类矩阵,找不出最好的模型。 分类矩阵是根据一个概率阀值将顾客分作两种情况,过度简化了实际的结果。因为所有的演算法除了预测结果之外,同时还会提供概率值作为排序的基准。,2020/7/31,27,四、增益图(灵敏性分析),2020/7/31,28,横轴百分比代表根据DM模型根据概率由高到低排序后的名单占总体百分比。,纵轴则是在这批名单中小概率事件的人数占总体小概率事件人数的百分比。,45度线表示随机的状态,代表当筛选一半的名单去检查违约状况时,刚好会包含全体名单一半的违约户数量。,正常模型的增益图要比45度线向第二象限弯曲,越向上弯曲表示模型效果越好。,理想模型线:在增益图的最上方两段直线所构成的,表示完美预测的结果。,AUC(area under curve):模型曲线下面的阴影面积与完美模型曲线下面阴影面积的比值。 AUC越接近于1,表示模型的预测能力越高。 吉尼系数=模型曲线与45度线之间的面积/完美模型曲线与45度线之间的面积 基尼系数? 吉尼系数越接近1,表示模型的预测能力越高。,2020/7/31,29,AUC与Gini系数对应的模型分辨能力,2020/7/31,30,五、收益图,从收益的角度来看,DM有两种类型: 回应模型(直效行销):预测的小概率事件能够为企业带来大量获利。 损失模型:预测的小概率事件为企业带来大量损失。,2020/7/31,31,上述两个模型都没有包含整个公司的固定成本,不管成功案例多、少,都必须付出的成本。 收益图:首先在成本获利参数的输入对话框中,要输入: 总体(?) 固定成本(?) 单位成本(?) 每个收益(?):每个小概率事件发生时所得到的获利或是减少的损失。,2020/7/31,32,1、回应模型,假设电话销售每打一通电话所要付出的人事、设备折旧以及办公室设备相关成本总共是250元;而每成功销售一通的话第一年可以为公司净赚1000元。 所以每打出去一通电话: 销售成功:1000250=收益750(即正确预测稀有事件) 销售失败:损失250元,2020/7/31,33,直效行销设定: 总体:50000;固定成本:200000;单位成本:250;每个收益:1000,2020/7/31,34,600000 500000 400000 300000 200000 0 -100000,15万,535万,假设行销活动针对全体客户进行,获利为-15万,从图上看,在概率最高的前34%-39%之间名单进行行销,可以获利的最高点是535万元。,横轴表示模型会根据行销成功概率由高至低将客户排序,纵轴表示行销收益,2、损失模型,下面来看信用评级的预测模型,预测的目标是违约客户,假设每个客户第一年带来的信用卡刷卡手续费以及利息收入为6000元,每个信用卡违约客户违约时金额为20000元。 所以每预测一个客户违约状态: 违约户:损失为200006000=损失14000元 正常户:获利6000元,2020/7/31,35,信用评等模型设定: 总体:50000;固定成本:200,000;单位成本:6,000;每个收益:20,000,2020/7/31,36,600000 500000 400000 300000 200000 0 -100000,横轴表示模型会根据违约概率由高至低将客户排序,本例最低点为35%,因此,建议该银行针对违约概率最高的35%客户拒绝发给信用卡,因为前半段都是高违约率客户,因此损失曲线是直线下降,纵轴表示行销收益,六、散布图,增益图和收益图都是用来评估类别变量预测问题的,如果遇到连续变量如何评估?此时需要散布图。 如果预测的变量是连续型变量时,前面的分类矩阵、增益图和收益图都无法使用。此时,在SQL中 “增益图”会自动切换到“散布图”。,2020/7/31,37,2020/7/31,38,600000 500000 400000 300000 200000 100000 0,0 100000 200000 300000 400000 500000 600000,横轴是实际数值,纵轴是预测数值,当模型越准确时,则代表预测值越接近实际值,也就是越接近45度线,七、注意(聚类和关联规则的评估),以上介绍的均是分类模型的评估,对于聚类和关联规则并不适用。 聚类本身是无监督学习,并没有目标变量可以预测,只是从资料中找出潜在隐藏的相似性结构,因此聚类本身是一个诠释性的模型,而不具有预测力,所以无法判断准确率。 因此,聚类模型的好与坏就在于其质化的意义,即可诠释性的好与坏。,2020/7/31,39,至于关联规则,通常来说关联规则也是无监督学习,因为它的项目(例如,产品组合)过多,因此,每个选项本身就是小概率事件,所以不适合使用分类矩阵、增益图和收益图等工具来评估。 大多数情况下,通常建议大家使用SQL2005提供的置信度、支持度以及重要性这三个指标作为关联规则成效的综合评判。,2020/7/31,40,这个公式表明,当“在B中发生A的概率”高于“在非B的状况下发生A的概率”时,该指标大于零,且此指标越大,表示A会造成B出现的概率显著提升。如果此值为负,则代表在A下越会抑制B的发生。在SQL2005中,当规则为正值时,重要性图示会是蓝色,如果负值时,重要性规则会是红色;规则重要性排序是根据重要性指标绝对值进行的。,2020/7/31,41,负关联规则,2020/7/31,42,
展开阅读全文