Partial Dependence Plot(PDP)部分依赖图

目录

  • Partial Dependence Plot(PDP)部分依赖图
    • 1. PDP理论
      • 1.1 数值特征
      • 1.1 分类特征
    • 2. PDP例子
    • 3. PDP优点
    • 4. PDP缺点

参考网址:
[1] Interpretable Machine Learning

1. PDP理论

1.1 数值特征

部分依赖图显示了一个或两个特征对ML模型预测结果的边际影响。部分依赖图可以显示目标和特征之间的关系是线性的、单调的还是更复杂的。例如,当应用于线性回归模型时,部分相关性图始终显示线性关系。

用于回归的部分依赖函数定义:
f^xS(xS)=ExC[f^(xS,xC)]=∫f^(xS,xC)dP(xC)\hat{f}_{x_S}(x_S)=E_{x_C}\left[\hat{f}(x_S,x_C)\right]=\int\hat{f}(x_S,x_C)d\mathbb{P}(x_C)f^​xS​​(xS​)=ExC​​[f^​(xS​,xC​)]=∫f^​(xS​,xC​)dP(xC​)
xSx_SxS​是部分依赖函数要绘制的特征;通常集合S中仅有一个到两个特征;S中的feature(s)是我们希望了解其对预测的影响的特征。
xCx_CxC​是ML模型f^\hat{f}f^​使用的其他特征,C是S的补集;
特征向量xSx_SxS​和xCx_CxC​的组合构成了总特征空间x。

Partial Dependence的工作原理是,在集合C中的特征分布上边缘化机器学习模型的输出,以便该函数显示我们感兴趣的集合S中的特征与预测结果之间的关系。通过边缘化其他特性,我们得到的函数只依赖于S中的特性,包括与其他特性的交互。

通过计算训练数据中的平均值来估计部分函数f^xS\hat{f}_{x_S}f^​xS​​,也称为Monte Carlo方法:
f^xS(xS)=1n∑i=1nf^(xS,xC(i))\hat{f}_{x_S}(x_S)=\frac{1}{n}\sum_{i=1}^n\hat{f}(x_S,x^{(i)}_{C})f^​xS​​(xS​)=n1​i=1∑n​f^​(xS​,xC(i)​)

Partial Function告诉我们,对于给定特征集合S的value(s),预测的平均边际效应是什么。在这个公式中,xC(i)x^{(i)}_{C}xC(i)​是数据集中我们不感兴趣的特性的实际特征值,n是数据集中的实例数。PDP的一个假设是C中的特征与S中的特征不相关。如果违背了这一假设,那么部分依赖图计算的平均值将包含非常不可能或甚至不可能的数据点(见缺点)。

对于ML模型输出概率的分类,PDP 显示给定 S 中 feature(s) 不同值的某个类别的概率。处理多个类的一个简单方法是画一条线或绘制每个类。\

PDP 是一种全局方法:该方法考虑所有实例并给出关于特征与预测结果的全局关系的声明。

1.1 分类特征

到目前为止,我们只考虑了数值特征。 对于分类特征,部分依赖很容易计算。 对于每个类别,我们通过强制所有数据实例具有相同的类别来获得 PDP 估计。例如,如果我们查看自行车租赁数据集并对季节的部分依赖图感兴趣,我们会得到 4 个数字,每个季节一个。为了计算“夏天”的值,我们将所有数据实例的季节替换为“夏天”并对预测进行平均。

2. PDP例子

实际上,特征集 S 通常只包含一个特征或最多包含两个,因为一个特征产生 2D 图,而两个特征产生 3D 图。 除此之外的一切都非常棘手。即使是在2D纸上或显示器上使用3D也很有挑战性。

让我们回到回归示例,在该示例中,我们预测在给定日期将租用的自行车数量。首先我们拟合一个机器学习模型,然后我们分析部分依赖关系。 在这种情况下,我们拟合了一个随机森林来预测自行车的数量,并使用部分依赖图来可视化模型学习到的关系。 下图显示了天气特征对预测自行车数量的影响。

自行车数量预测模型以及温度、湿度和风速的 PDP。 最大的差异体现在温度上。 天气越热,租用的自行车就越多。 这一趋势上升到 20 摄氏度,然后趋于平缓并在 30 摄氏度时略微下降。x 轴上的标记表示数据分布。

该模型预测,对于温暖但不太热的天气,租赁自行车的平均数量会很高。当湿度超过60%时,潜在的骑行者越来越不愿意租用自行车。此外,风越大,喜欢骑自行车的人就越少,这是有道理的。有趣的是,当风速从25公里/小时增加到35公里/小时时,预测的自行车租赁数量并不会下降,但没有太多的训练数据,所以机器学习模型可能无法学习到这个范围的有意义的预测。至少在直觉上,我认为自行车的数量会随着风速的增加而减少,尤其是在风速非常大的时候。

为了说明具有分类特征的部分依赖图,我们检查了季节特征对预测的自行车租赁的影响。

我们还计算了宫颈癌分类的部分依赖性。 这次我们拟合了一个随机森林,根据风险因素来预测女性是否可能患上宫颈癌。 我们计算并可视化癌症概率对随机森林不同特征的部分依赖:

基于使用激素避孕药的年龄和年份的癌症概率 PDP。 对于年龄,PDP 显示概率在 40 岁之前较低,并在 40 岁之后增加。 服用激素避孕药的时间越长,预测的癌症风险就越高,尤其是在 10 年后。 对于这两个特征,没有多少具有大值的数据点可用,因此这些区域的 PD 估计不太可靠。

我们还可以同时可视化两个特征的部分依赖关系:

癌症概率的 PDP 与年龄和怀孕次数的相互作用。 该图显示了 45 岁时癌症概率的增加。对于 25 岁以下的女性,与怀孕 0 次或超过 2 次的女性相比,怀孕 1 次或 2 次的女性预测的癌症风险较低。 但是在得出结论时要小心:这可能只是相关关系而不是因果关系!

3. PDP优点

  • 部分依赖图的计算很直观:如果我们强制所有数据点假设该特征值,则特定特征值的部分依赖函数表示平均预测。根据我的经验,外行通常很快就能理解 PDP 的概念。
  • 如果您计算 PDP 的特征与其他特征不相关,那么 PDP 完美地代表了该特征如何平均影响预测。在不相关的情况下,解释很清楚:部分依赖图显示了当第 j 个特征发生变化时数据集中的平均预测如何变化。当特征相关时会更复杂,另见缺点。
  • 部分依赖图很容易实现。
  • 部分依赖图的计算具有因果解释。我们干预一个特征并测量预测的变化。这样做时,我们会分析特征与预测之间的因果关系。这种关系是模型的因果关系——因为我们明确地将结果建模为特征的函数——但不一定适用于现实世界!

4. PDP缺点

  • 部分依赖函数中显示的最大特征数是两个。这不是 PDP 的错,而是二维表示(纸或屏幕)的错,也是我们无法想象超过 3 维的错。
  • 一些 PD 图不显示特征分布。省略分布可能会产生误导,因为您可能会过度解释几乎没有数据的区域。通过显示 rug(x 轴上数据点的指标)或直方图可以轻松解决此问题。
  • 独立性假设是 PD 图的最大问题 假设为其计算部分依赖的特征与其他特征不相关。例如,假设您想根据人的体重和身高预测他的步行速度。对于特征之一的部分依赖,例如身高,我们假设其他特征(体重)与身高无关,这显然是错误的假设。对于特定高度(例如 200 cm)的 PDP 计算,我们对重量的边际分布进行平均,其中可能包括低于 50 kg 的重量,这对于 2 米的人来说是不现实的。换句话说:当特征相关时,我们会在特征分布的实际概率非常低的区域创建新的数据点(例如,不太可能有人身高 2 米但体重不到 50 公斤)。

01-Partial Dependence Plot(PDP)部分依赖图相关推荐

  1. 5.2 部分依赖图 (Partial Dependence Plot, PDP)

    部分依赖图(短 PDP 或 PD 图)显示了一个或两个特征对机器学习模型的预测结果的边际效应 (J. H. Friedman 200127). 部分依赖图可以显示目标和特征之间的关系是线性的.单调的还 ...

  2. Partial Dependence and Individual Conditional Expectation plots

    PDP(Partial dependence plots)和 ICE(individual conditional expectation)可以用来分析预测目标和输入特征之间的相互关系.PDP和ICE ...

  3. ML之PDP:机器学习可解释性之部分依赖图(Partial Dependence Plots)之每个特征如何影响您的预测?

    ML之PDP:机器学习可解释性之部分依赖图(Partial Dependence Plots)之每个特征如何影响您的预测? 目录 机器学习可解释性之部分依赖图之每个特征如何影响您的预测? Partia ...

  4. Partial Dependence Plots —— 部分依赖图_特征如何影响模型预测

    笔者把自己这篇原本发布在github page上的文章迁移到了这里,原github page网址:https://iceflameworm.github.io/2019/08/28/partial-p ...

  5. R语言使用DALEX包的model_profile函数对caret包生成的多个算法模型的离散变量进行分析、使用偏依赖图(Partial Dependence Plots)解释某个离散特征和目标y的关系

    R语言使用DALEX包的model_profile函数对caret包生成的多个算法模型的离散变量进行分析.使用偏依赖图(Partial Dependence Plots)解释某个离散特征和目标值y的关 ...

  6. 偏依赖图(Partial Dependence Plots)是什么?排列重要性(Permutaion Importance)是什么?如何解读?有什么意义?

    偏依赖图(Partial Dependence Plots)是什么?排列重要性(Permutaion Importance)是什么?如何解读?有什么意义? 目录 偏依赖图(Partial Depend ...

  7. R语言使用DALEX包的model_profile函数对h2o包生成的多个算法模型的连续变量进行分析、使用偏依赖图(Partial Dependence Plots)解释某个离散特征和目标值y的关系

    R语言使用DALEX包的model_profile函数对h2o包生成的多个算法模型的连续变量进行分析.使用偏依赖图(Partial Dependence Plots)解释某个离散特征和目标值y的关系 ...

  8. 10.Partial Dependence Plots

    本教程是ML系列的一部分. 在此步骤中,您将学习如何创建和解释部分依赖图,这是从模型中提取洞察力的最有价值的方法之一. What Are Partial Dependence Plots 有人抱怨机器 ...

  9. ML之PDP:基于titanic泰坦尼克是否获救二分类预测数据集利用PDP部分依赖图对RF随机森林实现模型可解释性案例

    ML之PDP:基于titanic泰坦尼克是否获救二分类预测数据集利用PDP部分依赖图对RF随机森林实现模型可解释性案例 目录 基于titanic泰坦尼克是否获救二分类预测数据集利用PDP部分依赖图对R ...

最新文章

  1. 破解phpstorm,webstorm ,pycharm ,intellij IDEA
  2. 修改自己的centos输入法
  3. vue radio双向绑定_Vue 双向绑定
  4. python记录输入次数_如何计算用户输入错误的次数
  5. 程序员春节回家相亲指南
  6. 软件开发项目成本管理实践
  7. 职业规划 软件开发职业规划的10个建议
  8. c语言数值常量4.5e0,c语言数值常量表示方法问题
  9. 某电商平台数据分析报告(2)
  10. caffe的使用方法
  11. 语音识别芯片LD3320介绍
  12. Design Pattern: Visitor and Acyclic Visitor and their differences
  13. Linux用户、组管理
  14. 万能DOS启动盘制作全攻略!(软盘+光盘+U盘+硬盘+NTFS+……)
  15. 撮合引擎开发:MVP版本
  16. Python+beautifulsoup+requests 爬取网易新闻评论
  17. Node Sass does not yet support your current environment: OS X Unsupported architecture (arm64)
  18. Thinkphp框架初始及安装部署
  19. 我才20岁,要接受自己的平庸吗?
  20. 贵州大学计算机学院请假,贵州大学资源与环境工程学院考勤及请假制度(修订)...

热门文章

  1. 沭阳的计算机学校好吗,沭阳初中排名一览表—沭阳县哪个初中最好
  2. MonoRail学习笔记四:MonoRail基本流程分析
  3. linux中文麻酱字_芝麻酱的瓶子上有这些文字,就直接扔吧,玉磨坊告诉你
  4. 如何使用OBS 进行屏幕录制
  5. 浅谈CTF中各种花式绕过的小trick
  6. 复习计算机专业知识心得体会,2018考研经验:清计算机专业研友心得体会.doc
  7. (附源码)计算机毕业设计SSM语言学习系统
  8. 要成为鸿蒙开发者,应该学习哪些编程语言
  9. 更改linux文件系统为只读的方法
  10. Javascript中undefined和not defined有什么区别?