文档

plotPartialDependence

创建部分依赖图(PDP)和个人条件期望(ICE)情节

描述

例子

plotPartialDependence (Mdl,var)创建一个列在PDP之间的特性var和响应预测的使用预测数据和训练有素的回归模型Mdl

例子

plotPartialDependence (Mdl,var,X)创建一个PDP用新的预测数据X

例子

plotPartialDependence (___,名称,值)使用附加选项指定一个或多个名称-值对参数除了任何参数在前面的语法。例如,如果您指定“有条件的”,“绝对”,plotPartialDependence函数创建一个图包括PDP,散点图的选择特性和预测反应,和一个冰情节观察。

例子

斧头= plotPartialDependence (___)返回情节的轴使用任何输入参数组合在前面的语法。

例子

全部折叠

回归树使用训练carsmall数据集,并创建一个PDP显示之间的关系特性,预测反应训练回归树。

加载carsmall数据集。

负载carsmall

指定重量,气缸,马力作为预测变量(X),英里/加仑作为响应变量(Y)。

X =(重量、气缸、马力);Y = MPG;

构造一个回归树使用XY

Mdl = fitrtree (X, Y);

查看训练回归树的图形化显示。

视图(Mdl,“模式”,“图”)

创建一个PDP的第一个预测变量,重量

plotPartialDependence (Mdl, 1)

蓝线代表平均部分之间的关系重量(标记为x1),英里/加仑(标记为Y)训练回归树Mdl

回归树查看器显示第一个决定是否x1小于3085.5。PDP显示附近的一个大变化x1= 3085.5。每个节点的树查看器可视化每个决策基于预测变量。你可以找到几个节点分裂值的基础上x1,但它是不容易找出的依赖Yx1。然而,PDP情节平均预测反应x1,所以你可以清楚地看到的部分依赖Yx1

标签x1Y的默认值预测的名字和响应的名字。您可以修改这些名称通过指定名称-值对参数“PredictorNames”“ResponseName”当你训练Mdl使用fitrtree。您还可以通过修改轴标签包含ylabel功能。

火车一个高斯过程回归模型使用生成的样本数据,响应变量包括预测变量之间的相互作用。然后,创建冰情节显示特性之间的关系为每个观测和预测的反应。

生成样本预测数据x1x2

rng (“默认”)%的再现性n = 200;x1 =兰德(n - 1) * 2 - 1;x2 =兰德(n - 1) * 2 - 1;

生成响应值,包括之间的相互作用x1x2

Y = x1-2 * x1。* (x2 > 0) + 0.1 *兰德(n, 1);

构造一个高斯过程回归模型使用(x1, x2))Y

Mdl = fitrgp (x1, x2), Y);

创建一个图包括一个PDP(红线)第一个预测x1散点图(黑色圆圈标记)x1并预测反应,和一组冰情节(灰色行)通过指定“条件”作为“中心”

plotPartialDependence (Mdl 1“条件”,“中心”)

“条件”“中心”,plotPartialDependence补偿情节,使所有情节从0开始,这有助于检查所选特征的累积效应。

PDP发现平均关系,所以没有发现隐藏的依赖关系特别是反应包括特性之间的相互作用。然而,冰情节清楚显示两种不同的依赖关系的反应x1

火车回归整体使用carsmall数据集,并创建一个PDP情节和冰情节为每个预测变量使用一个新的数据集,carbig。然后,比较数据分析预测变量的重要性。另外,比较预测的结果与估计返回的重要性predictorImportance函数。

加载carsmall数据集。

负载carsmall

指定重量,气缸,马力,Model_Year作为预测变量(X),英里/加仑作为响应变量(Y)。

X =[重量、气缸、马力,Model_Year];Y = MPG;

火车回归整体使用XY

Mdl = fitrensemble (X, Y,“PredictorNames”,{“重量”,“气缸”,“马力”,“年”},“ResponseName”,“英里”);

比较预测变量使用的重要性plotPartialDependencepredictorImportance功能。的plotPartialDependence函数可视化选择预测和预测反应之间的关系。predictorImportance总结了与一个值预测的重要性。

创建一个图包括一个PDP情节(红色线)和冰情节为每个预测使用(灰色行)plotPartialDependence并指定“有条件的”,“绝对”。每个图还包括一个散点图(黑色圆圈标记)所选的预测和预测反应。同时,加载carbig数据集和使用它作为新的预测数据,Xnew。当你提供Xnew,plotPartialDependence函数使用Xnew而不是预测数据Mdl

负载carbigXnew =[重量、气缸、马力,Model_Year];f =图;f。位置= [100 100 1.75 * f.Position (3:4)];%能见度的放大图。i = 1: 4次要情节(2,2,我)plotPartialDependence (Xnew Mdl,我,“条件”,“绝对”)结束

计算估计预测重要的用predictorImportance。这个函数和均方误差(MSE)的变化将在每一个预测,分裂,然后把和分支节点的数量。

小鬼= predictorImportance (Mdl);图;酒吧(imp);标题(的预测估计的重要性);ylabel (“估计”);包含(“预测”);甘氨胆酸ax =;斧子。XTickLabel = Mdl.PredictorNames;

的变量重量最影响吗英里/加仑根据预测的重要性。PDP的重量也表明,英里/加仑具有较高的部分依赖重量。的变量气缸至少影响了吗英里/加仑根据预测的重要性。PDP的气缸也表明,英里/加仑不会改变取决于多少气缸

训练支持向量机(金宝appSVM)回归模型使用carsmall数据集,并创建两个预测变量的PDP。然后,提取局部估计的输出的依赖plotPartialDependence

加载carsmall数据集。

负载carsmall

指定重量,气缸,马力作为预测变量(资源描述)。

台=表(重量、气缸、马力);

构建一个支持向量机(SV金宝appM)回归模型使用资源描述和响应变量英里/加仑。使用高斯核函数与一个自动内核规模。

Mdl = fitrsvm (MPG(资源,“ResponseName”,“英里”,“KernelFunction”,“高斯”,“KernelScale”,“汽车”);

创建一个可视化的PDP部分依赖预测响应(英里/加仑在预测变量)重量马力。使用QueryPoints名称-值对参数来指定的点来计算部分依赖。

pt1 = linspace (min(重量),max(重量),50)';pt2 = linspace (min(马力),max(马力),50)';ax = plotPartialDependence (Mdl, {“重量”,“马力”},“QueryPoints”[pt1 pt2]);视图(140,30)%修改视角

PDP显示之间的相互影响重量马力

提取估计部分依赖英里/加仑重量马力。的XData,YData,ZData的值ax.Children轴值(第一个选择的预测值),轴值(第二选择的预测值),和z轴的值(值)对应的部分依赖,分别。

xval = ax.Children.XData;yval = ax.Children.YData;zval = ax.Children.ZData;

如果您指定“条件”作为“绝对”,plotPartialDependence创建一个图包括PDP,散点图,和一组冰情节。ax.Children (1)ax.Children (2)分别对应于PDP和散点图。其余的元素ax.Children对应冰情节。的XDataYData的值ax.Children(我)轴值(选择的预测值)和轴的值(值)对应的部分依赖,分别。

输入参数

全部折叠

训练有素的回归模型,指定为一个完整的或紧凑的回归模型下表中描述的对象。

如果Mdl是一个紧凑的回归模型对象,你必须提供吗X

plotPartialDependence不支持一个训练有素金宝app的稀疏矩阵的模型对象。如果你训练Mdl通过使用fitrlinear,对预测数据使用一个完整的数字矩阵行对应于观测。

特征可视化,指定为一个向量的正整数,特征向量或字符串标量,字符串数组或单元阵列特征向量。你可以选择一个或两个功能,如下表所示。

一个特性

价值 描述
正整数 索引值对应的列预测数据可视化。
特征向量或字符串标量

预测变量的名字想象。名称必须匹配条目Mdl.PredictorNames

两个特点

价值 描述
向量的两个正整数 索引值对应的列预测数据可视化。
字符串数组或单元阵列的特征向量

的名字来可视化预测变量。数组中的每个元素是一个预测变量的名字。名称必须匹配的条目Mdl.PredictorNames

例子:{x1, x3的}

数据类型:||字符|字符串|细胞

预测数据,指定为一个数字矩阵或表。每一行的X对应于一个观察,每一列对应一个变量。

  • 如果Mdl是一个完整的回归模型对象,plotPartialDependence使用预测数据Mdl。如果您提供X,然后plotPartialDependence不使用预测数据Mdl并使用X只有。

  • 如果Mdl是一个紧凑的回归模型对象,你必须提供吗X

X必须符合的预测数据训练吗Mdl,存储在Mdl.XMdl.Variables

  • 如果你训练Mdl使用一个数字矩阵,然后X必须是一个数字矩阵。变量的列X必须有相同的号码和订单预测变量训练吗Mdl

  • 如果你训练Mdl使用一个表(例如,资源描述),然后X必须是一个表。所有的预测变量X必须有相同的变量名和数据类型的名称和类型资源描述。然而,列的顺序X不需要对应的列顺序资源描述

  • plotPartialDependence不支持一个稀疏矩阵金宝app。

数据类型:||

名称-值对的观点

指定可选的逗号分隔条名称,值参数。的名字参数名称和吗价值相应的价值。的名字必须出现在引号。您可以指定几个名称和值对参数在任何顺序Name1, Value1,…,的家

例子:plotPartialDependence (Mdl一样,var, X,“NumObservationsToSample”, 100年,“UseParallel”,真的)创建一个PDP用100采样观测X和执行循环迭代并行。

情节类型,指定为逗号分隔组成的“条件”“没有”,“绝对”,或“中心”

价值 描述
“没有”

plotPartialDependence创建一个PDP。

  • 如果你选择一个数值特性var,plotPartialDependence计算部分依赖值的最小值和最大值之间选择功能并创建一个PDP用固体蓝线。

  • 如果你选择一个分类功能var,plotPartialDependence计算预测反应在所有分类值和情节部分依赖用蓝色圆圈标记用虚线连接。

  • 如果你选择两个特性var,plotPartialDependence创建一个曲面图。

“绝对”

plotPartialDependence创建一个图包括以下三种类型的情节:

  • PDP与一个坚实的红线

  • 散点图的选择特性和预测反应与黑色圆圈标记

  • 冰情节为每个观察固体灰线

这个值是有效的,当你只选择一个特征。

“中心”

plotPartialDependence创建一个图,包括三种类型的情节一样“绝对”plotPartialDependence补偿情节,使所有情节从0开始。

这个值是有效的,当你只选择一个特征。

有关详细信息,请参见部分依赖情节个人条件期望的情节

例子:“有条件的”,“绝对”

数量的观测样本,指定为逗号分隔组成的“NumObservationsToSample”和一个正整数。默认值是总数量的观察MdlX。如果你指定一个值大于总数量的观察,然后plotPartialDependence使用所有的观察。

plotPartialDependence样本观测不重复使用的功能datasample并使用采样观测计算部分依赖。如果您指定“条件”作为“绝对”“中心”,plotPartialDependence创建一个为每个采样观测图包括一个冰的阴谋。

例子:“NumObservationsToSample”, 100年

数据类型:|

轴的情节,指定为逗号分隔组成的“ParentAxisHandle”和一个坐标轴对象。如果你不指定轴和如果当前轴是笛卡尔,plotPartialDependence使用当前轴(gca)。如果轴不存在,plotPartialDependence情节在一个新的数字。

例子:ParentAxisHandle,斧头

点来计算部分依赖,指定为逗号分隔组成的“QueryPoints”和数字两列数字列向量矩阵,或一个单元阵列的两个数值列向量。

默认值是一个数字列向量或一个数字两列矩阵,根据选定的数量特征,列包含100个等间距的最小值和最大值之间的选择功能。

  • 如果你选择一个功能var,使用一个数字列向量。

  • 如果你选择两个特性var:

    • 使用一个数字两列矩阵指定为每个特性相同数量的点。

    • 使用单元阵列的两个数值列向量为每个特性指定不同数量的点。

分类功能的默认值都是定值的选择功能。您不能修改“QueryPoints”分类功能。如果您选择一个数字特征和一个分类功能,您可以指定“QueryPoints”数字功能通过使用一个单元阵列组成的数字列向量和一个空数组。

例子:QueryPoints, {pt, []}

数据类型:||细胞

国旗并行运行,指定为逗号分隔组成的“UseParallel”真正的。如果您指定“UseParallel”作为真正的,plotPartialDependence执行通过使用并行循环迭代parfor当每个观察和预测反应平均。

例子:“UseParallel”,真的

数据类型:逻辑

输出参数

全部折叠

轴的情节,作为一个坐标轴对象返回。有关如何修改轴的外观和提取数据从情节,看到的轴的外观(MATLAB)和从图中提取部分依赖估计

更多关于

全部折叠

部分依赖情节

部分依赖情节[1](PDP)可视化特性之间的关系,并预测反应在一个训练有素的回归模型。plotPartialDependence创建线情节或曲面图预测反应的一个特性或特性,分别在其他变量被边缘化。

考虑一个子集的PDPX年代整个的特性集X= {x1,x2、…x}。一个子集X年代包括一个特性或两个特性:X年代= {xS1}X年代= {xS1,xS2}。让XC是互补的X年代X。预测的响应f(X)取决于所有特性X:

f(X)=f(X年代,XC)。

预测反应的部分依赖X年代被定义为预期的期望响应对吗XC:

f 年代 ( X 年代 ) = E C ( f ( X 年代 , X C ) ] = f ( X 年代 , X C ) p C ( X C ) d X C ,

在哪里pC(XC)的边际概率XC,也就是说, p C ( X C ) p ( X 年代 , X C ) d X 年代 。假设每个观察是等可能的,和之间的依赖X年代XC的相互作用X年代XC在反应并不强烈,plotPartialDependence估计部分依赖通过观察预测数据如下:

f 年代 ( X 年代 ) 1 N = 1 N f ( X 年代 , X C ) , (1)

在哪里N是观察和的数量吗X= (X年代,XC)观察。

plotPartialDependence创建一个PDP用方程1。输入一个训练有素的模型(f (·)),并选择功能(X年代通过使用输入参数)可视化Mdlvar,分别。plotPartialDependence计算部分依赖于100的均匀间隔的点X年代或您指定的点使用“QueryPoints”名称-值对的论点。您可以指定号码(N)的观测样本给定预测数据使用“NumObservationsToSample”名称-值对的论点。

个人条件期望的情节

个人条件期望(ICE)阴谋[2]作为一个扩展的PDP,可视化特性之间的关系为每个观测和预测的反应。而PDP可视化的平均特性之间的关系,并预测反应,一套冰情节分解的平均信息和可视化为每个观察个体依赖性。

plotPartialDependence创建一个为每个观察冰情节。一套冰情节是有用的调查部分依赖来自异构性问题不同的观察结果。plotPartialDependence还可以创建冰情节与任何预测数据通过输入参数提供X。您可以使用此功能来探索预测反应空间。

考虑一个冰情节选择功能x年代与给定的观察XC,在那里X年代= {x年代},XC补充的吗X年代在整个的特性集X,X= (X年代,XC)观察。冰图对应的被加数求和方程1:

f 年代 ( X 年代 ) = f ( X 年代 , X C )

plotPartialDependence情节 f 年代 ( X 年代 ) 对于每一个观察当你指定“条件”作为“绝对”。如果您指定“条件”作为“中心”,plotPartialDependence吸引所有的阴谋后去除水平影响由于不同的观察:

f 年代 , 为中心的 ( X 年代 ) = f ( X 年代 , X C ) f ( 最小值 ( X 年代 ) , X C )

这种减法可以确保每个情节从0开始,这样你就可以检查的累积效应X年代和之间的交互X年代XC

加权算法遍历

加权算法遍历[1]是一个方法来估计局部依赖基于树的回归模型。估计的加权平均是部分依赖与叶节点对应的响应值在树遍历访问。

X年代完整的特性集的一个子集XXC是互补的X年代X。为每一个X年代值计算部分依赖,该算法遍历树的根(开始)节点到叶节点(终端),发现叶节点的权重。遍历首先分配一个权重值的一个根节点。如果一个节点分裂X年代,该算法遍历到适当的子节点根据X年代价值。子节点的重量是相同的值作为它的父节点。如果一个节点分裂XC,该算法遍历子节点。每个子节点的重量成为它的父节点的价值乘以对应的分数的观察每个孩子节点。在完成遍历树,该算法通过使用分配的权重计算加权平均。

回归树的合奏,估计平均部分依赖个人回归树的加权平均。

算法

plotPartialDependence使用一个预测函数来预测反应。plotPartialDependence选择适当的预测函数根据Mdl并运行预测默认设置。对每个细节预测功能,请参见预测如下表函数。如果Mdl是一个基于树模型和“条件”“没有”,然后plotPartialDependence使用加权算法遍历而不是预测函数。有关详细信息,请参见加权算法遍历

训练有素的模型类型 回归模型对象 函数来预测反应
引导聚合合奏的决策树 CompactTreeBagger 预测
引导聚合合奏的决策树 TreeBagger 预测
整体的回归模型 RegressionEnsemble,RegressionBaggedEnsemble,CompactRegressionEnsemble 预测
高斯过程回归 RegressionGP,CompactRegressionGP 预测
广义线性混合效应模型 GeneralizedLinearMixedModel 预测
广义线性模型 GeneralizedLinearModel,CompactGeneralizedLinearModel 预测
线性混合效应模型 LinearMixedModel 预测
线性回归 LinearModel,CompactLinearModel 预测
对高维数据线性回归 RegressionLinear 预测
非线性回归 NonLinearModel 预测
回归树 RegressionTree,CompactRegressionTree 预测
金宝app支持向量机回归 RegressionSVM,CompactRegressionSVM 预测

引用

[1]弗里德曼,j . h .“贪婪的函数近似:梯度提高机器。”统计年报。5号卷。29日,2001年,页1189 - 1232。

Goldstein [2]。,A. Kapelner, J. Bleich, and E. Pitkin. “Peeking inside the black box: Visualizing statistical learning with plots of individual conditional expectation.”计算和图形统计杂志》上。24卷,No . 1, 2015, pp。44 - 65。

[3]Hastie, T。,R. Tibshirani, and J. H. Friedman.统计学习的元素。纽约:施普林格,2001年。

扩展功能

介绍了R2017b