全局模型可解释之部分依赖图:Partial Dependence Plot
本部分是来自大纲 模型可解释的一个子分支。
部分依赖图可以表示1个或者2个特征对模型的预测结果所能产生的边际效应。同时也能展示1个特征和label直接是否具有:线性相关性、单调性等。
当我们把pdp应用在线性回归上的时候,通过pdp,我们能够计算每个特征与label之间的线性相关性,其公式表述为
\]
当然pdp也可以适用与分类,只要把输出改成概率就行了,本质上,和回归任务没有太大的区别,对于多分类,可以用 one VS Rest的策略。
其中,\(x_s\)是我们本次关心的1到2个特征,而\(X_C\)则是其他剩余输入模型的特征,\(\hat f\)是本次的模型。通过不断改变\(x_s\)的取值,来看模型预测结果的变化,这时候通过pdp能得到一个特征是怎样影响模型预测的。总结一下:特征重要性展示的是哪些变量对预测的影响最大,而部分依赖图展示的是特征如何影响模型预测的
可以用部分依赖图回答一些与下面这些类似的问题:
- 假如保持其它所有的特征不变,经纬度对房价有什么影响?换句话说,相同大小的房子,在不同的地方价格会有什么差别?
- 在两组不同的人群上,模型预测出的健康水平差异是由他们的负债水平引起的,还是另有原因?
上面,度量特征变化所带来的影响的微分函数也可以表示为模型输出的均值:
\]
具体操作就是:先固定住其他特征,把你感兴趣的这个特征全部批量的改成某个值,不断从某个低值改到某个高值,看所有样本预测结果会做什么变化。
所以说,部分依赖图其实是一种“全局解释模型的方法”
pdp有一个前提假设是,你分析的特征和其余的固定特征没有任何的相关性。如果不能满足这个假设的话,解释的结果可能会存在无法理解的地方。
对于离散值的pdp
对于连续值,我们每次只做微小的改动,对于离散值,这个改动幅度换成“离散特征的取值”就ok。
因为pdp可以同时看一个或者2个特征,所以分两种情况。
1d特征依赖图
我们以泰坦尼克数据集为例子,单独查看'Fair'这个特征,表示乘客登船所需花费的费用。大概可以看到,随着你登船的价格变高,你生还的概率也随之变大。

阴影部分表示95%置信度,x轴方块是一些特征的分段,以及每个分段上人数的占比,头部方块是分位数。
2d特征依赖图
除了看一个特征之外,我们也可以同时看年龄和上船费用两个特征在pdp下是如何交互的。

在这上面你可以看到,年龄越大,且上船费用越高的人,他活下来的概率最大。
pdp的有点
- 直观,容易理解
- 可以从因果推理的角度去解释pdp,我们每改变一次特征取值,相当于对pdp进行了一次“treatment”的操作。
pdp的缺点
- 分析特征受限:每次只能分析1个或者2个,不能再多了
- 强假设,如果特征之间具有相关性,则结果往往会出乎你的意料: 比如你有2个特征,身高和体重,以及label:步行的速度。我们想看体重是如何影响步行速度的。那么在pdp的时候,我们相当于在原有的模型学习到的样本空间下,新增了一些样本点,分析结果就有可能得出 在身高2米的时候,体重为30,步行速度xxx,事实上,2米的身高不太可能出现30kg的体重,这很难解释清楚。
- 容易忽略异质条件的影响:举个case,假设你选的这个特征,有一半样本与预测正相关——特征值越大预测越大,—而同时呢,另一半负相关——特征值越小预测越大。这个时候,因为pdp是输出的模型预测值的均值,所以有可能导致这两部分样本相互抵消了,也就是,当你的特征变低的时候,一半样本输出低概率,一半输出高概率,两边加起来求个avg之后,抵消了.....凸(艹皿艹 )
最终你会得出:“这特征没对模型啥用”的结论。这个问题会放在局部模型可解释中的ICE部分再描述怎么解
全局模型可解释之部分依赖图:Partial Dependence Plot的更多相关文章
- Partial Dependence Plot
Partial Dependence就是用来解释某个特征和目标值y的关系的,一般是通过画出Partial Dependence Plot(PDP)来体现. PDP是依赖于模型本身的,所以我们需要先训练 ...
- OSI七层模型具体解释
OSI 七层模型通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯,因此其最基本的功能就是帮助不同类型的主机实现传输数据 . 完毕中继功能的节点通常称为中继系统.在OSI七层模型中,处于 ...
- TensorFlow的序列模型代码解释(RNN、LSTM)---笔记(16)
1.学习单步的RNN:RNNCell.BasicRNNCell.BasicLSTMCell.LSTMCell.GRUCell (1)RNNCell 如果要学习TensorFlow中的RNN,第一站应该 ...
- 【MapReduce】经常使用计算模型具体解释
前一阵子參加炼数成金的MapReduce培训,培训中的作业样例比較有代表性,用于解释问题再好只是了. 有一本国外的有关MR的教材,比較有用.点此下载. 一.MapReduce应用场景 MR能解决什么问 ...
- Bow模型(解释的很好)
Bag-of-words model (BoW model) 最早出现在NLP和IR领域. 该模型忽略掉文本的语法和语序, 用一组无序的单词(words)来表达一段文字或一个文档. 近年来, BoW模 ...
- Extjs4.10Model模型具体解释
一.创建Model模型 Extjs4.10提供了两种方法来创建Model模型,也就是创建类 方法一: Ext.define('person',{ extend:'Ext.da ...
- SI9000常用共面阻抗模型的解释
所谓的“共面”,即阻抗线和参考层在同一平面,即阻抗线被VCC/GND所包围, 周围的VCC/GND即为参考层. 相较于单端和差分阻抗模型,共面阻抗模型多了一个参数D1,即阻抗线和参 考层VCC/GND ...
- Asp.Net Core 全局模型验证
public class ActionFilter : IActionFilter { /// <summary> /// action 执行之前 /// </summary> ...
- caffe模型参数解释
作者:wjmishuai 出处: http://blog.csdn.net/wjmishuai/article/details/50890214 原始数据是28*28 1:数据层: layer { n ...
- apacheserver全局配置具体解释
server标识相关指令: ServerName ServerAdmin ServerSignature ServerTokens UseCanonicalName UseCanonicalPhysi ...
随机推荐
- Java 小练习 创建类 + 调用(1)
1 package com.bytezero.exer; 2 3 /** 4 * 5 * @Description 6 * @author Bytezero·zhenglei! Email:42049 ...
- Vue3音乐播放器组件,可显示歌词
在线体验地址 音乐播放器 1,安装 npm install apple-music-player 或 yarn add apple-music-player 2,在main.ts中引入 import ...
- mybaits 笔记2022年8月学习笔记
mybatis整理 前期准备 安装必要依赖: idea开发mybatis,如果学习测试,可以在一个直接建一个空白项目,如果是用spring boot,则建议用用boot的安装捆绑方式 核 心依赖 or ...
- 华为sound x智能音箱初体验
外观颜值 在这个网红遍地的年代,好看的皮囊是那么的重要.很多东西,买与不买,只是你在电脑的橱上看它一眼.颜值对一个消费电子产品来说,在这个虚拟的互联网世界中是那么的重要.sound x的初次看来, ...
- MyBatis Java 和 Mysql数据库 数据类型对应表
类型处理器(typeHandlers) MyBatis 在设置预处理语句(PreparedStatement)中的参数或从结果集中取出一个值时, 都会用类型处理器将获取到的值以合适的方式转换成 Jav ...
- Android WifiDisplay分析二:Wifi display连接过程
简介 这一章中我们来看Wifi Display连接过程的建立,包含P2P的部分和RTSP的部分,首先来大致看一下Wifi Display规范相关的东西. HIDC: Human Interface D ...
- django(路由层)
一.简介 # 路由匹配 url(r'test',views.test), url(r'test_add',views.test_add) # r'test'与请求头的数据进行正则匹配 ''' url方 ...
- Error: Command failed: C:\windows\system32\cmd.exe /s /c "./configure --disable-shared
错误记录之: Error: Command failed: C:\windows\system32\cmd.exe /s /c "./configure --disable-shared 错 ...
- App磁盘沙盒工具实践
目录介绍 01.磁盘沙盒的概述 1.1 项目背景说明 1.2 沙盒作用 1.3 设计目标 02.Android存储概念 2.1 存储划分介绍 2.2 机身内部存储 2.3 机身外部存储 2.4 SD卡 ...
- Openlayers 加载ArcGIS Server切片服务(自定义切片方案)
背景 最近遇到一个需求,要使用OpenLayer加载ArcGIS Server发布的服务.如果直接拷贝OpenLayer提供的在线官方Demo,然后修改下地图服务地址是跑不通的,这是因为OpenLay ...