购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.3 二分类模型的评价方法

在工作中经常需要预测一个事件发生的概率或事件所属类别。例如,客户申请信用卡时,银行会预测该客户将来是否会逾期,或者说不还贷款的概率有多大。在深入理解机器学习模型的具体建模技术手段、流程及底层算法原理之前,可以先了解如何通过量化的方法去评价一个机器学习模型的预测效果。

机器学习模型可以广泛地应用在不同的领域,如预测房价或股票,预测图片中的动物属于哪一种动物,也可以帮助机器人优化行走路线。这里重点分析机器学习领域中最常见的一种应用——二分类模型,如预测贷款客户是否会逾期。除了二分类模型,常见的模型还有多分类模型和回归模型,对应的评价方法有所不同。

二分类模型的输出形式有两种,一种是直接给出预测的种类,另一种是给出每一个分类的概率。模型的输出形式取决于实际业务的具体需要,同时也导致了对应的评价方法有所不同。

2.3.1 混淆矩阵的定义和使用

有些二分类模型会直接给出预测的种类,对于这种模型,最直接的评价方法是查看混淆矩阵(Confusion Matrix),如图2.3所示。

图2.3 机器学习模型的混淆矩阵

从图2.3的混淆矩阵中可知,待评价的数据样本中,真正的正样本数量为P,真正的负样本数量为N,正样本被模型正确预测为正样本的数量为TP,正样本被模型错误预测为负样本的数量为FN,负样本被模型错误预测为正样本的数量为FP,负样本被模型正确预测为负样本的数量为TN。显然, TP和TN的数量越多,FN和FP的数量越少,就说明模型预测越好。基于这几个数量,进一步总结得出以下几个不同的评价指标。

(1)精确率(precision)。

精确率用于表示所有预测为正样本的结果中,有多少是真正的正样本。

(2)召回率(recall)。

召回率用于表示所有正样本中,有多少被正确预测为正样本。

(3)准确率(accuracy)。

准确率用于表示所有样本中,有多少预测是正确的,即正样本被预测为正样本,负样本被预测为负样本。

(4)F1 score。

F1 score把precision和recall两个指标综合起来,给出一个更全面的评价指标。类似的评分还有其他形式,但本质上都是对precision和recall加权平均。

上面的公式可能有些抽象,下面举例进行说明。一家电商公司需要预测什么样的用户会在网站上买东西,就需要建模人员给出一个营销模型,从而决定对什么样的人群推送广告。精确率关心的是所有被推送广告的人群中,有多少人会真正来买东西,成为公司的客户。而召回率关心的是,假设预先被告知某个城市有10万人肯定是客户群体(具体是哪些人并不知道),那么根据模型推送了广告以后,覆盖了这10万人中的多少人。

如何合理地利用上面几个指标来评价模型,需要结合具体的业务和数据来判断。例如,了解数据的不平衡性对使用什么指标来评价有很大帮助。对于高度不平衡的数据,准确率通常是一个具有欺骗性的指标。假设数据里面99%的标签为正样本,只需模型预测结果始终为正,准确率就能达到99%,但这样的模型显然不是我们想要的模型。这个时候精确率和召回率就能更加准确地评价一个模型。

但对于大多数模型而言,往往不可能同时提高精确率和召回率。提高精确率的同时往往会牺牲召回率,反之亦然。如何取舍,要取决于当前的业务。例如,重大疾病预测模型,提高召回率是第一位的,这是因为漏诊病人的重大疾病和把病人的小病误诊为重大疾病相比,前者的危害要高得多。相反,对于网购业务中的“薅羊毛”客户的预测模型,如何提高精确率更加重要,因为把普通消费者误判为“羊毛党”会极大地损害用户体验。

2.3.2 ROC曲线及其应用

许多分类模型的输出结果是连续型数值,例如,逻辑回归给出概率,随机森林给出多棵树的投票结果,支持向量机算法给出离分类边界的距离等。这些模型输出的连续数值,有的可以直接被解释为概率,有的可以通过刻度转换为概率。如果设定一定的阈值,如0.5,那么概率大于0.5的可以被预测为一个分类,小于等于0.5的则被预测为另一个分类。如果选择这种基于阈值的分类方法,模型便可以用2.3.1节所述的混淆矩阵来评价。

但是直接基于模型的输出概率进行评价,可以得到一个更加全面客观的评价。问题的核心在于,设定什么样的阈值更加合理。可以在0~1选定任意的阈值,不同的阈值会导致模型效果不同。有的阈值可以使模型得到较高的精确率,有的阈值可以使模型得到较高的召回率。因此,可以针对许多不同的阈值,得到一系列不同的指标,从而全面地评价一个模型。

ROC(Receiver Operating Characteristic)曲线是一种常用的全面评价模型的方法,对每一个选定的阈值,可计算出以下指标。

(1)True Positive Rate(TPR)=TP/P。

(2)False Positive Rate(FPR)=FP/N。

假设选择阈值为1(意味着认为模型输出值大于1的为正样本),那么TPR和FPR都为0,因为概率最大为1,所以没有样本被预测为正样本。但假设选择阈值为0(意味着认为模型输出值大于0的为正样本),那么TPR和FPR都为1,所有样本都被预测为正样本。按照这样的逻辑和流程,从0~1依次采用不同的阈值,每个阈值都会给出对应的TPR(Y坐标)和FPR(X坐标)数值,从而得到图2.4所示的ROC曲线。

图2.4 机器学习模型的ROC曲线

图2.4中右侧即为ROC曲线,该ROC曲线下的积分面积被称作AUC score,是模型的一个比较全面的评价指标。AUC score的大小应为0.5~1,原因在于,即使是一个随机模型也可以给出一条(0,0)到(1,1)的对角线,面积正好为0.5。ROC曲线也给出了一个选择阈值的直观方法,使用者可以明确地知道某一个阈值对应的TPR和FPR,从而根据业务选择最佳的阈值。

假设某个阈值对应的TPR为0.7,而FPR为0.1,那么就意味着,70%的正样本会被正确预测,但是10%的负样本会被误判为正样本。对于互联网贷款业务而言,这正是通过率和对应风险的权衡问题。10%的负样本虽然占比不大,但是如果业务底层数据的负样本数远大于正样本数,那么通过阈值的负样本绝对数量也会大于正样本数量。在这种情况下,阈值更好的选择可能是比较低的TPR,如0.3,但是FPR也会更低,如0.05,从而对通过阈值的负样本绝对数量进行一个合理的控制。对于金融风控而言,负样本指的是贷款逾期的客户。

另一个常用的评价指标是KS值,其实也和ROC曲线有直接关系。每一对TPR和FPR的差的最大值就是KS值,在图2.4中,KS值反映为ROC曲线本身和(0,0)到(1,1)对角线之间,在y方向的最大距离。可以看出,KS值和AUC score是高度相关的。但不同的是,AUC score是一个更加综合的评价,它考虑整个曲线的形状,尤其是当ROC曲线由于某种原因显得不太规则和平滑时。很高的KS值则可能只是在某个特别阈值下过度拟合的结果,可能没有真正反映模型的预测质量。

2.3.3 Lift分析方法

Lift分析方法在市场分析和商业情报(BI)领域运用广泛,该方法也依赖于模型输出的连续概率值。例如,在进行市场营销时,需要建立营销模型,从而对所有目标客户的营销成功概率进行预测。在经费和人力有限的情况下,营销人员可以把目标客户按成功概率进行排序,优先对最有可能成功的客户展开营销。

用Lift分析方法来分析模型效果的具体步骤如下。

(1)把客户按照预测的概率排序后分组,如10等分,第一组为概率排名在前10%的客户。

(2)计算每组的转化率,即每组中营销成功的客户数量除以每组的客户总数。

通过以上操作获得的数据,可绘制成图2.5所示的曲线。

图2.5 机器学习模型Lift曲线

图2.5中,按照上面的分组方法,左图中,横坐标为累计联系的客户比例,纵坐标为累计的真实客户转化比例。左图中的对角线是一个基准线,其意义是,如果客户分组是随机的,那么每完成10%的客户营销和联系,真实客户数量也会增加10%,这种情况下,如果要覆盖一个城市的所有真实客户,除非把城市中每个人都联系到(因为不知道最终谁会成为客户),否则永远转化不了这个城市所有的潜在真实客户。

图2.5中,左图中的曲线则代表了在模型的帮助下,转化客户的进展。第一个分组联系完成后,可能已经覆盖了30%的真实客户,第二个分组联系完成后,覆盖率累计增加到50%,以此类推。显然,这样的增长率高得多,而且营销不需要覆盖所有人群即可转化多数的真实客户。图2.5中右图的数据更好理解,是两条曲线转化率的商。

在图2.5中可以清晰地看到模型的效果。假设所有目标客户群体有1万人,对所有的客户展开营销后,最终有1000个客户转化成功。如果没有模型的帮助,只能随机对客户展开营销,那么每联系1万人中10%的客户,就会将1000人中的10%(100人)成功转化为最终客户。

但是模型对客户进行了排序,因此在模型的帮助下,面对1万人中的前10%的客户进行营销,即可转化1000个最终客户中的30%(300人)。Lift分析方法可以帮助营销人员在同样的人力物力下,获得更多的客户。 A+lu6G8JdGQFbYxfd4OFVIkEcnA5AjolqgkDklYLmdLaIwYh0P2bZHVqYIh/VuoF

点击中间区域
呼出菜单
上一章
目录
下一章
×