首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

偏依赖图

当我们用一些很高大上的算法做出很好的效果之后,心里那是美滋滋。兴高采烈地给领导汇报,领导说,这个GBRT效果确实不错,只是这个黑盒子没法解释,我在外面不太好讲故事啊。

喜欢讲故事的领导,对逻辑回归应该是比较熟悉的。逻辑回归里的系数就是非常容易解释,讲起故事来相当方便。但遇到各种黑盒子的算法,一般只能show show结果,吹吹niu B,让别人感觉自己用了黑魔法。然后发现有一帮谨慎的老大哥并不买账。

为免埋没自己的辛勤劳作,也只好搜罗一些故事素材撑下场面了。下面,给大家介绍一种对黑盒算法进行变量解释的方法,说不定可以让你的模型更有说服力。

这个方法就是偏依赖图(Partial Dependence Plots)。它是一种对给定的一个(或多个)输入变量 相对于预测结果(即输出)的效果进行可视化的工具。偏依赖图有点像线性或逻辑回归模型的系数,不过偏依赖图比系数更能捕获复杂的模式,但理论上它可以和任何模型一起使用。

首先来介绍偏依赖图的比较正式的表述。

假设S是一个包含p个输入变量的子集:

假设C是S的一个补集,也就是:

GBDT算法的输出:

则,S的偏依赖输出为:

为了计算给定变量(或多个变量)的偏依赖性,必须用整个训练集对Xs中的每一组值计算一次输出。 当数据集变大时,这可能在计算上相当费时。

老少爷们看到这里,如果觉得我说了这么多也没啥用。就当我凑字数好了。

接下来还是在加州房价数据集上建立一个GBRT模型,体验一下偏依赖图。

人生苦短,我用python。先导入包。

绘制偏依赖图,需要先训练模型。

数据集的输入变量集合一览。

下面画图看房价(输出)平均收入偏依赖关系。

从上面的偏依赖图可以看出,房价和平均输入有比较强的线性关系。

也可以在同一个图中画多个变量的偏依赖图。

从上图可以看出,平均每户住户 与房价是成负相关的,而平均房间数对房价并没有比较强的影响。

以上介绍的是单个变量与输出的偏依赖图,下面看看多个变量组合的偏依赖图。

可以看出,平均收入和平均每户住户组合对房价的影响,平均收入越高、平均每户住户约低时,房价越高;反之房价越低。这和单独来看时效果差不多。

通常,由于人类感知的限制,这些变量仅限于一个或两个变量,这样一来就可能由于隐藏的较高阶的相互作用而产生误导。但即便如此,尽管对于大数据集中的知识发现来说,偏依赖关系图仍然是非常有用的,尤其是当数据主要包含低阶关系时。

今天的偏依赖图就先介绍到这里,希望能够帮助大家丰富素材,更好地解释自己的模型。同时,也希望大家多多支持,谢谢~

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180202G014YF00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券