美文网首页
从优惠券的投放人群,教你看分类模型的评判标准

从优惠券的投放人群,教你看分类模型的评判标准

作者: Yan文怡 | 来源:发表于2017-12-27 07:27 被阅读0次

    为什么要写这篇文章?

    大数据背景下,优惠券的投放都用到了机器学习的分类模型。对于这个全新的概念,很多人一知半解。更好的使用分类模型,对优惠券发放起到了至关重要的作用。这篇文章想用最直观的语言,向企业各类人群,传达机器学习模型的在大数据营销时代的重要性。

    对于分类模型(Logistic 回归、Decision Tree、Neural Networks等)的输出指标,比如 Confusion Matrix、ROC、AUC,召回率,准确率等。分析师往往向业务部门同事解释这些含义时感到头疼。如何直观的去理解这个指标含义,而不是机械的解释,是我这篇文章所要传达的目的。

    什么是分类模型?

    简单的说,我想发送100张优惠券,我应该发给哪些人,而且这些人会最大可能去使用这些优惠券。于是我建了一个模型,把现在的客户按照会使用的可能性打了一个分数。我觉得分数大于某个值的人,就会使用,小于某个值的就不会使用。这就是最普通的分类模型。

    在建立模型的过程中,我们用过去的数据,让模型去学习,所以当模型给每个人打好分数时,我们是知道这些人中,哪些分数打对了,哪些打错了。我们用这些答对,答错的数据,来评判一个模型的好坏。

    学过统计的人肯定都看过下面的图:

    Confusion Matrix 实际1 实际0
    预测1 TP FP
    预测0 FN TN

    很多人都是画出上面的图,然后手工计算各种指标:比如True Positive Rate,False Positive Rate,Presicion, Accuracy 等等,来评判模型好坏。我曾今见过一个分析师,拿着这张表格和业务部同事讲,告诉他们自己建的模型如何如何好,最后那个同事两眼无神的听了5分钟就走了。

    了解True Positive Rate,False Positive Rate,ROC,AUC
    例子:生病的小女孩

    下图中,

    • 上面那排皱眉流汗的小女孩是确实生病的;
    • 下面那排流鼻涕的是没有生病的小女孩。


    我们请机器人模型根据她们的化验指标判断这10个人有没有生病,机器人的诊断结果用勾和叉表示。我们看到,真正生病的女孩中,机器人找对了4个,但是有一个没有生病的小女孩,机器人觉得她是生病的。
    这样我们可以算出:True Positive Rate 是 4/6 (0.67) , False Positive Rate 是¼ (0.25)

    之前我们提过,机器人模型会给每个小女孩打分,然后通过分值大小判断有没有得病。
    首先机器人,设定的标准是,小女孩打分在0.5以上,就判定为生病了。这样我们可以算出,
    TPR,FPR分别是(0.25,0.67),我们可以把这个点画在X轴是FPR,Y轴是TPR的坐标中。

    然后机器人觉得,我定的标准是不是有点高,如果换成0.4为判定标准呢?因为低了0.1,所以打分0.4的小女孩,从原来没有生病的小女孩,变成了生病的小女孩。这样我们又有了一组新的坐标

    机器人想,既然我是自动化的机器人,用不同的判断标准都算一遍,应该不是难事吧。于是,无数点连城了一条曲线。ROC是图中的一条线,而AUC是ROC下面包含的面积大小,用百分百表示,区间范围在(50%~100%),通常来说AUC越大越好。

    除了ROC/AUC,还有什么指标评价模型好坏吗?
    LIFT 和 GAIN 图形
    例子:优惠券

    商家想做一个市场活动,发个8折优惠券。建模分析师为了判定自己建的模型好坏,从去年优惠券活动中随机挑选了1500个人,用模型给他们从高到低打了分。通常来说如果不挑人投放的话,这种优惠券的响应率在53%左右,下面我们看看用模型挑人的话,会怎么样?

    • 以下表格推荐用PC浏览器阅读
    %dataset 人数 使用人数 累计人数 累计使用人数 累计响应率 LIFT 与基础响应率比值 GAIN
    第一档10% 15 130 150 130 87% 1.63 16.3%
    第二档20% 15 120 300 250 83% 1.56 31.3%
    第三档30% 15 130 450 380 84% 1.58 47.5%
    第四档40% 15 110 600 490 82% 1.53 61.3%
    第五档50% 15 100 750 590 79% 1.48 73%
    第六档60% 15 90 900 680 76% 1.42 85.0%
    第七档70% 15 30 1050 710 68% 1.27 88.8%
    第八档80% 15 40 1200 750 63% 1.17 93.8%
    第九档90% 15 30 1350 780 58% 1.08 97.5%
    第十档100% 15 20 1500 800 53% 1.00 100%

    总人数:1500人,优惠券使用数800,基础响应率 80/1500 = 53%

    我们把1500个人,根据模型认为会使用优惠券的可能性,按打分从高到低排列,分成10档,每档150个人。

    从图中看,第一档的人数是150人,其中有130人使用优惠券,响应率是87%。前面提到,不用模型挑选,活动响应率是53%,那么用模型挑选出的第一档的人群比起不用模型,提升了1.63倍(=87%/53%)。

    接下来模型定义的第一档和第二档,累计人数是300人,累计使用优惠券是250人,那么响应率是83%,这用模型定义的两档人群比起不用模型,提升了1.56倍。

    再看第一档,第二档,第三档,累计人数450人。。。 以此类推。我们可以得到红色的LIFT(提升)图。其中X轴是每个档做包含的占比,Y轴是对应的提升率。

    同样的,我们可以画出GAIN(获得率)图,模型挑选的第一档人群中,有130个人使用了优惠券,而总共有800个人使用,所以模型第一档的获得率是16.3%(=130/800)。第一档和第二档累计是有250个人使用,这两档的获得率是31.3%, 以此类推。。。

    一个好的模型的判定标准之一,就是要大于不用模型挑选的响应率,而且越大越好。在 lift 图中,表现就是,在 Y轴对应的提升度为 1 之前,lift 一直保持较高的(大于 1 的)数值,并且曲线足够的陡峭,逐渐变小趋近1。

    像我们图中的优惠券其实并不是一个很好的模型。因为在LIFT图中,第三档的圆点高于第二档的圆点,也就是说这个模型并没有把会响应的人打相对的高分,导致有些确实响应的人被模型分配去了更低的档位。

    还有其他什么指标能判定吗?
    我们还会计算Precision,Accuracy,计算方法如下

    关于TPR,FPR等指标的其他叫法

    不同的文献对于这些专业名词有不同的叫法,有些人还喜欢中英混杂,下面列出了是其他叫法:

    • TRUE POSITIVE RATE(TPR), 其他的叫法有:覆盖率,召回率,敏感度,真阳率,Recall,SENSITIVITY,等等,当你面试的时候,面试官问,那你的模型召回率是多少啊,可千万心中别默想,我怎么从来没有听说过这个名字 (囧)。

    • FALSE POSITIVE RATE(FPR),又叫假阳率,1- Specificity。

    • Precision 除了叫精准率之外,还有叫命中率,POSITIVE PREDICTIVE VALUE等等。

    • Accuracy 叫精确率(不要和precision混淆)。

    各种指标如何应用

    说了那么多,其实分类模型最重要的就是选那个划定指标(阙值/Threshold)。 但是如何挑选我们要根据实际应用,比如广告的投放预算,可承担的风险来设定。

    比如:医生看病,比如非典,错诊一个的代价非常大。那这时我们需要模型的TPR尽可能高。因为我希望真正得病的人中,医生找到的比例也多。

    再比如,亚马逊给每个人推荐10个产品,那这时候,我就希望模型的Precision很高,因为我希望,我推荐的产品中,确实是用户喜欢的比例高。

    还有根据市场部的预算,我们可以通过Lift图,看一下哪些档的人群累计响应率高,更好的利用预算

    市场部从业人员的思考

    大数据环境下的优惠券发放,已经不局限于用传统的CRM理论来设计场景。想要在如今赢的更多的利润,获得更多的市场份额,大数据的思维必不可少。
    传统企业的从业人员应该剔除固有思维,在企业内部开始形成全面的数据流转,存储机制,并且积极参与大数据的应用,才能做大自己的蛋糕。

    相关文章

      网友评论

          本文标题:从优惠券的投放人群,教你看分类模型的评判标准

          本文链接:https://www.haomeiwen.com/subject/iusygxtx.html