首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >基于业务解释的特征重要性计算

基于业务解释的特征重要性计算

作者头像
张俊红
发布2020-06-02 17:12:40
1.3K0
发布2020-06-02 17:12:40
举报
文章被收录于专栏:张俊红张俊红
总第220篇/张俊红

如果有学过或者用过一些算法的同学,应该对特征重要性这个概念并不陌生。算法一般都是用来做预测的,而预测也不是凭空发生的,是基于一些已有的变量(x)进行预测的,那在众多的x中每个x对最终的预测贡献的信息具体是多少呢?比如要预测明天是否会下雨,第一个x是明天的空气湿度,第二个x是明天天晴或天阴,第三个x是明天的温度,第四个x是明天是星期几,在预测明天是否会下雨这件事上这四个不同的x对预测的影响肯定是不一样的,我们把这个影响大小称为特征重要性。

那特征重要性和基于业务解释的特征重要性有什么区别呢?是经常听到很多做数据分析的人说学算法是为了更好的做数据分析,为了更好的推进业务。为了推进业务就需要你的结果是可解释的,你不能拿着一个黑盒模型告诉业务说,模型结果是明天会下雨,至于为什么,不知道。这肯定是不可以的,所以我们需要对我们的结果进行解释。

关于特征重要性,不同模型的计算方法略有不同,但是一个总体大原则就是谁对模型预测结果准确度贡献越大,谁的重要性就高。很多模型都会自带feature_importance属性,可以得出每个特征的重要性得分。

特征重要性得分让我们知道了不同特征之间的重要性情况,除此之外,我们还想知道在其他特征不变的情况,某一个特征内部重要性分布是什么样的。这个也是有现成方法,叫做部分依赖图,英文全称是Partial Dependence Plots,简称PDP。

图片来源于sklearn官网

上图中第一行三张图分别表示收入中位数、平均入住率、房屋年龄对房价中位数的影响程度,可以看到有线性正向,反比例负向,基本无关三种趋势。右下角的图表反映了两个特征之间的相互作用。

讲完了特征重要和特征内部各取值对预测影响关系以外,我们再来介绍我们今天的主角——Shapley value值。

Shapley value翻译过来表示夏普利值,是用来说明自己的收入和付出是等效的,是一种分配方式。有一个经典的财产分配的例子:

假定现在有100万财产,这100万需要分配给ABC三个人。该怎么分配呢?可以平均分配,也可以按照每个人的权力大小进行分配,已知A拥有50%的票力,b拥有40%的票力,c拥有10%的票力。前面这两种方法虽然可以对财产进行分配,但是针对某个人分到的财产不是最多的。所以通过投票来决定如何分配,规则规定,当超过50%的票认可了某种方案时,才能获得整个财产,否则三人将一无所获。

c可以提出这样的方案,a:70%,b:0,c:30%。这个方案能被a、c接受,因为对a、c来说这是一个比按票力分配有明显改进的方案,尽管b被排除出去,但是a、c的票力构成大多数(60%)。  

在这样的情况下,b会向a提出这样一个方案,a:80%,b20%,c:0。此时a和b所得均比刚才c提出的方案要好,但c成了一无所有,但a、b票力综合构成多数(90%)……这样的过程可以一直进行下去。  

最终的分配结果会是怎样的呢?夏普里提出了一种计算权利的度量。他给出了一个衡量博弈方先验实力的方法,根据他的理论求的的联盟者的先验实力被称之为夏普里值。

夏普里值是这样的一个值:在各种可能的联盟次序下,参与者对联盟的边际贡献之和除以各种可能的联盟组合。

关于夏普利值更多的内容可以查阅: https://wiki.mbalib.com/wiki/%E5%A4%8F%E6%99%AE%E5%88%A9%E5%80%BC

以上是关于Shapley value比较学术方面的介绍,那如果应用到模型中被用来说明特征重要性时应该如何计算呢?

针对每一个特征(x),计算该特征下面每一个样本取值对预测结果的影响程度,然后对所有样本的影响程度求均值,就是这个特征的对预测结果的整体影响程度。

如下图所示,随着RM的增加,RM的SHAP Value值也是增加的:

下图是把模型中用到的所有特征的重要性全部绘制出来了,每一行代表一个特征,颜色代表特征的取值大小,颜色越红说明这个特征的值越大,横轴代表 特征取值对预测结果重要性的影响:

下图是把每个特征内每个样本对预测结果的影响程度取均值,得到每个特征的重要性:

关于SHAP Value的计算在Python中有现成的库可以使用,github链接如下:

https://github.com/slundberg/shap

以上就是关于基于业务解释的特征重要性计算方法。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-05-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 俊红的数据分析之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 总第220篇/张俊红
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档