主要内容

plotPartialDependence

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

描述

例子

plotPartialDependence (RegressionMdlvar计算和绘制中列出的预测变量之间的部分依赖关系var以及用回归模型预测的响应RegressionMdl,其中包含预测数据。

  • 如果你指定一个变量var,函数创建一个与变量部分相关的线图。

  • 如果在中指定两个变量var,函数创建一个与这两个变量部分相关的曲面图。

例子

plotPartialDependence (ClassificationMdlvar标签计算和绘制中列出的预测变量之间的部分依赖关系var以及标签通过使用分类模型ClassificationMdl,其中包含预测数据。

  • 如果你指定一个变量var还有一节课标签,函数创建指定类对变量的部分依赖关系的线图。

  • 如果你指定一个变量var和多个班级标签,函数在一个图形上为每个类创建一个线图。

  • 如果在中指定两个变量var还有一节课标签,函数创建一个与这两个变量部分相关的曲面图。

例子

plotPartialDependence (___数据使用新的预测数据数据.您可以指定数据除了前面语法中的任何输入参数组合之外。

例子

plotPartialDependence (___名称,值使用由一个或多个名称-值对参数指定的附加选项。例如,如果指定“有条件的”,“绝对”,plotPartialDependence函数创建一个图形,其中包括PDP,所选预测变量和预测响应或分数的散点图,以及每个观测的ICE图。

例子

斧头= plotPartialDependence (___返回绘图的轴。

例子

全部崩溃

使用carsmall数据集,并创建一个PDP,显示特征和经过训练的回归树中的预测响应之间的关系。

加载carsmall数据集。

负载carsmall

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

X=[重量、汽缸、马力];Y=每加仑;

使用XY

Mdl=Firtree(X,Y);

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

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

图回归树查看器包含一个轴对象和其他类型的uimenu, uicontrol对象。axis对象包含60个类型为line, text的对象。

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

绘图部分依赖(Mdl,1)

图中包含一个轴对象。标题为Partial dependency Plot的axis对象包含一个类型为line的对象。

这条标绘线代表了两者之间的平均部分关系重量(标记为x1),英里/加仑(标记为Y)在经过训练的回归树中Mdl.的x中的小刻度表示唯一的值x1

回归树查看器显示第一个决定是是否x1小于3085.5。PDP在附近也显示出了很大的变化x1= 3085.5。树查看器根据预测变量可视化每个节点上的每个决策。可以根据的值找到多个节点x1,但确定的依赖Yx1是不容易的。然而,plotPartialDependence图平均预测的反应x1,因此您可以清楚地看到Yx1

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

用。训练朴素贝叶斯分类模型fisheriris数据集,并创建一个PDP,显示多个类别的预测变量和预测得分(后验概率)之间的关系。

加载fisheriris包含物种的数据集(物种)和测量()的萼片长度,萼片宽度,花瓣长度和花瓣宽度为150个鸢尾标本。该数据集包含了来自三个物种的50个样本:梭子蟹、花斑蟹和弗吉尼亚蟹。

负载fisheriris

用。训练朴素贝叶斯分类模型物种作为回应和作为预测因素。

Mdl = fitcnb(量、种类);

创建一个PDP的分数预测Mdl所有的三个类物种对第三个预测变量x3.属性指定类标签一会性质Mdl

plotPartialDependence (Mdl 3 Mdl.ClassNames);

图中包含一个轴对象。标题为Partial dependency Plot的轴对象包含3个类型为line的对象。这些物品代表着维珍卡。

根据这个模型,发生的概率virginica增加而x3.的概率刚毛大约0.33,从哪里来x3是0到2.5左右,然后概率几乎降到0。

使用生成的样本数据训练高斯过程回归模型,其中响应变量包括预测变量之间的交互作用。然后,创建ICE图,显示每个观测的特征和预测响应之间的关系。

生成样本预测数据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和预测响应,并通过指定一组ICE图(灰色线)“条件”作为“中心”

局部依赖图(Mdl,1,“条件”“中心”

图中包含一个轴对象。标题为“个体条件期望图”的轴对象包含202个类型为线、散点的对象。

“条件”“中心”plotPartialDependence偏移图,使所有图从零开始,这有助于检查所选特征的累积效应。

PDP发现平均关系,因此它不会揭示隐藏的依赖关系,特别是当响应包括特性之间的交互时。然而,ICE图清楚地显示了两种不同的响应依赖关系x1

训练分类模型的集合并创建两个pdp,一个使用训练数据集,另一个使用新数据集。

加载census1994数据集,其中包含美国的年薪数据,分类为< = 50 k> 50 k,以及一些人口统计变量。

负载census1994

从表中提取要分析的变量子集adultdata成人

X = adultdata (: {“年龄”“workClass”“教育数量”“婚姻状况”“种族”...“性”“capital_gain”“capital_loss”“hours_per_week”“工资”});Xnew =成人(:,{“年龄”“workClass”“教育数量”“婚姻状况”“种族”...“性”“capital_gain”“capital_loss”“hours_per_week”“工资”});

使用工资作为响应,剩余变量作为使用函数的预测值fitcensemble.对于二进制分类,fitcensemble聚合100个分类树LogitBoost方法。

Mdl = fitcensemble (X,“工资”);

检查中的类名Mdl

Mdl。ClassNames
ans =2 x1分类< = 50 k > 50 k

创建一个部分依赖图的分数预测Mdl第二节课工资> 50 k)与预测者相反年龄使用训练数据。

plotPartialDependence (Mdl“年龄”Mdl.ClassNames (2))

图中包含一个轴对象。标题为Partial dependency Plot的axis对象包含一个类型为line的对象。

创建一个班级成绩的PDP> 50 k年龄使用表中新的预测器数据Xnew

plotPartialDependence (Mdl“年龄”,Mdl.ClassNames(2),Xnew)

图中包含一个轴对象。标题为Partial dependency Plot的axis对象包含一个类型为line的对象。

这两个曲线图显示了高风险预测分数的部分相关性的相似形状工资> 50 k)年龄.这两个图都表明,对高薪的预测得分在30岁之前增长很快,然后在60岁之前几乎持平,然后快速下降。然而,基于新数据的图表显示,年龄在65岁以上的人得分略高。

训练一个回归集合使用carsmall数据集,并使用新数据集为每个预测变量创建一个PDP图和ICE图,carbig.然后比较数据,分析预测变量的重要性。同时,将结果与返回的预测器重要性的估计进行比较predictorImportance函数。

加载carsmall数据集。

负载carsmall

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

X=[重量、气缸、马力、车型年款];Y=每加仑;

使用XY

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

创建预测变量的重要性使用plotPartialDependencepredictorImportance功能。的plotPartialDependence函数将选定的预测器和预测的响应之间的关系可视化。predictorImportance总结了单值预测器的重要性。

使用以下方法为每个预测器创建一个图形,包括PDP图(红线)和ICE图(灰线)plotPartialDependence并具体说明“有条件的”,“绝对”.每个图还包括一个散点图(圆圈标记)的选定预测器和预测响应。同时,加载carbig并将其作为新的预测数据,Xnew. 当你提供Xnew,plotPartialDependence函数使用Xnew而不是预测数据Mdl

负载carbigXnew=[重量、气缸、马力、车型年款];图t=平铺布局(2,2,“TileSpacing”“紧凑”);标题(t)“个人条件期望图”对于i = 1: 4 nexttile plotpartialdependency (Mdl,i,Xnew,“条件”“绝对的”)标题(''结束

图中包含4个轴对象。坐标轴对象1包含408个类型为线、散点的对象。坐标轴对象2包含408个类型为线、散点的对象。坐标轴对象3包含408个类型为线、散点的对象。坐标轴对象4包含408个类型为线、散点的对象。

通过使用计算预测器重要性的估计predictorImportance。此函数将由于每个预测器上的拆分而导致的均方误差(MSE)的变化相加,然后将总和除以分支节点的数量。

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

图中包含一个轴对象。标题为Predictor Importance estimate的axes对象包含一个类型为bar的对象。

的变量重量影响最大的是英里/加仑根据预测的重要性。PDP的重量也表明英里/加仑有高度的部分依赖性重量.的变量气缸对环境的影响最小英里/加仑根据预测的重要性。PDP的气缸也表明英里/加仑是不是变化很大取决于气缸

训练一个具有线性和交互项的广义可加性模型(GAM)用于预测。然后,创建一个既有线性项又有交互项的PDP和一个只有线性项的PDP。指定在创建pdp时是否包含交互术语。

加载电离层数据集。该数据集有34个预测器和351个雷达返回的二进制响应,或坏(“b”)或好(‘g’).

负载电离层

使用预测器训练GAMX和类标签Y.推荐的做法是指定类名。指定包含10个最重要的交互项。

Mdl = fitcgam (X, Y,“类名”, {“b”‘g’},“互动”10);

Mdl是一个ClassificationGAM模型对象。

列出中的交互项Mdl

Mdl。的相互作用
ans =10×21 5 7 8 6 7 5 6 5 7 5 5 8 3 5 4 7 1 7 4 5

每一行的的相互作用表示一个交互项,并包含交互项的预测变量的列索引。

找出交互项中最频繁的预测因子。

模式(Mdl。相互作用,“全部”
ans = 5

交互项中最常见的预测因子是第5个预测因子(x5).为第五个预测者创建pdp。要从计算中排除交互项,请指定“IncludeInteractions”,假的对于第二个PDP。

plotPartialDependence (Mdl 5 Mdl.ClassNames (1))plotPartialDependence (Mdl 5 Mdl.ClassNames (1),“IncludeInteractions”假)网格传奇(“线性和互动术语”“线性条件仅”)标题(“第5个预测者的后验概率pdp”)举行

图中包含一个轴对象。以第五预测器后验概率pdp为标题的轴对象包含2个类型为line的对象。这些对象表示线性和交互项,仅表示线性项。

图中显示了分数(后验概率)的部分依赖性x5取决于模型是否包含交互项,特别是在哪里x5介于0.2和0.45之间。

训练支持向量机(金宝appSVM)回归模型使用carsmall数据集,并创建两个预测变量的PDP。然后,从的输出中提取部分相关估计plotPartialDependence.或者,您可以通过使用partialDependence函数。

加载carsmall数据集。

负载carsmall

指定重量气缸位移马力作为预测变量(资源描述).

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

使用。构建支持向量机回归模型资源描述以及响应变量英里/加仑.使用带有自动核尺度的高斯核函数。

Mdl = fitrsvm (MPG(资源,“ResponseName”“英里”...“CategoricalPredictors”“气缸”“标准化”,真的,...“KernelFunction”“高斯”“KernelScale”“汽车”);

创建一个PDP,以可视化预测响应的部分依赖性(英里/加仑)的预测变量重量气缸.指定要计算其部分依赖性的查询点重量通过使用“QueryPoints”名称-值对参数。不能指定“QueryPoints”气缸因为它是一个分类变量。plotPartialDependence使用所有的分类值。

pt = linspace (min(重量),max(重量),50)';ax = plotPartialDependence (Mdl, {“重量”“气缸”},“QueryPoints”, {pt, []});视图(140,30)%修改查看角度

图中包含一个轴对象。标题为Partial dependency Plot的axis对象包含一个类型为surface的对象。

PDP显示了两者之间的相互作用效应重量气缸.部分相关英里/加仑重量值的变化气缸

提取的估计偏相关英里/加仑重量气缸.的扩展属性YDataZData的值斧子。Children分别为x轴值(第一个选定的预测值)、y轴值(第二个选定的预测值)和z轴值(对应的部分相关性值)。

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

或者,您可以通过使用partialDependence函数。

(pd, x, y) = partialDependence (Mdl, {“重量”“气缸”},“QueryPoints”, {pt, []});

pd包含查询点的部分依赖项值xy

如果您指定“条件”作为“绝对的”plotPartialDependence创建一个包括PDP、散点图和一组ICE图的图形。ax.Children (1)ax.Children (2)分别对应于PDP和散点图。剩余的元素斧子。Children对应ICE图。的扩展属性YData的值ax.Children(我)分别为x轴值(所选预测值)和y轴值(相应的偏相关值)。

输入参数

全部崩溃

回归模型,指定为完整或紧凑的回归模型对象,如下表所示。金宝app

模型 完整或紧凑模型对象
广义线性模型 广义线性模型CompactGeneralizedLinearModel
广义线性混合效应模型 GeneralizedLinearMixedModel
线性回归 LinearModelCompactLinearModel
线性混合效应模型 LinearMixedModel
非线性回归 NonLinearModel
回归模型集合 RegressionEnsembleRegressionBaggedEnsembleCompactRegressionEnsemble
广义可加模型 RegressionGAMCompactRegressionGAM
高斯过程回归 RegressionGPCompactRegressionGP
高斯核回归模型采用随机特征展开 RegressionKernel
高维数据的线性回归 RegressionLinear
神经网络回归模型 RegressionNeuralNetworkCompactRegressionNeuralNetwork
金宝app支持向量机回归 RegressionSVMCompactRegressionSVM
回归树 RegressionTreeCompactRegressionTree
决策树集成的自举聚合 树人CompactTreeBagger

如果RegressionMdl如果模型对象不包含预测器数据(例如,紧凑模型),您必须提供输入参数吗数据

plotPartialDependence不支持使用稀疏矩阵金宝app训练的模型对象。当您训练一个模型时,使用一个完整的数字矩阵或表格来预测数据,其中行对应于单个的观察结果。

分类模型,指定为完整或紧凑的分类模型对象,如下表所示。金宝app

模型 完整或紧凑模型对象
判别分析分类器 ClassificationDiscriminantCompactClassificationDiscriminant
支持向量机或其他分类器的多类模型金宝app 分类紧凑分类
用于分类的学习者集合 ClassificationEnsembleCompactClassificationEnsembleClassificationBaggedEnsemble
广义可加模型 ClassificationGAMCompactClassificationGAM
基于随机特征展开的高斯核分类模型 ClassificationKernel
k-最近邻分类器 ClassificationKNN
线性分类模型 ClassificationLinear
多类朴素贝叶斯模型 ClassificationNaiveBayes紧分类朴素贝叶斯
神经网络分类器 分类神经网络CompactClassificationNeuralNetwork
金宝app支持向量机(SVM)分类器用于一类和二值分类 ClassificationSVMCompactClassificationSVM
用于多类分类的二叉决策树 ClassificationTreeCompactClassificationTree
袋装决策树集合 树人CompactTreeBagger

如果ClassificationMdl如果模型对象不包含预测器数据(例如,紧凑模型),您必须提供输入参数吗数据

plotPartialDependence不支持使用稀疏矩阵金宝app训练的模型对象。当您训练一个模型时,使用一个完整的数字矩阵或表格来预测数据,其中行对应于单个的观察结果。

预测器变量,指定为正整数向量、字符向量、字符串标量、字符串数组或字符向量的单元数组。您可以指定一个或两个预测变量,如下表所示。

一个预测变量

价值 描述
正整数 对应于预测器数据列的指标值。
字符向量或字符串标量

预测变量的名称。该名称必须与中的条目匹配RegressionMdl。PredictorNamesClassificationMdl。PredictorNames

两个预测变量

价值 描述
两个正整数的向量 对应于预测器数据列的索引值。
字符向量的字符串数组或单元格数组

预测变量的名称。数组中的每个元素都是一个预测变量的名称。名称必须与里面的条目相匹配RegressionMdl。PredictorNamesClassificationMdl。PredictorNames

例子:{x1, x3的}

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

类标签,指定为类别或字符数组、逻辑或数字向量或字符向量的单元格数组。中的值和数据类型标签的类名必须匹配一会性质ClassificationMdlClassificationMdl。一会).

  • 中指定一个变量时,才能指定多个类标签var并指定“条件”作为“没有”(默认)。

  • 使用partialDependence如果您想在一个函数调用中计算多个变量和多个类标签的部分依赖关系。

此参数仅在指定分类模型对象时有效ClassificationMdl

例子:{“红”、“蓝”}

例子:ClassificationMdl。3类名([1])指定标签作为第一和第三类ClassificationMdl

数据类型:||逻辑|字符|细胞|分类

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

数据必须与训练模型的预测数据一致(RegressionMdlClassificationMdl),存储在X变量财产。

  • 如果你用数值矩阵训练模型,那么数据必须是一个数值矩阵。组成列的变量数据必须具有与训练模型的预测变量相同的数量和顺序。

  • 如果您使用表训练模型(例如,资源描述),然后数据一定是一张桌子。所有的预测变量数据必须具有与中的名称和类型相同的变量名称和数据类型资源描述.但是,的列顺序数据不需要对应的列顺序资源描述

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

如果RegressionMdlClassificationMdl您是否必须提供不包含预测器数据的模型对象数据。如果模型是包含预测数据的完整模型对象,并且您指定了此参数,则plotPartialDependence不使用预测数据的模型和使用数据只有。

数据类型:||桌子

名称-值参数

指定可选的逗号分隔的对名称,值参数。的名字是参数名和价值是对应的值。的名字必须出现在引号内。您可以按任意顺序指定多个名称和值对参数,如下所示:Name1, Value1,…,的家

例子:plotPartialDependence (Mdl、var、数据“NumObservationsToSample”,100年,“UseParallel”,真的)中使用100个抽样观察创建一个PDP数据和执行对于并行循环迭代。

绘图类型,指定为“没有”“绝对的”,或“中心”

价值 描述
“没有”

plotPartialDependence创建一个PDP。图的类型取决于中指定的预测变量的数量var中指定的类标签的数量标签(对于分类模型)。

  • 一个预测变量和一个类标签-plotPartialDependence计算查询点上的部分依赖关系,并创建部分依赖关系的二维线图。

  • 一个预测变量和多个类标签-plotPartialDependence为选定的类创建一个包含多个2-D线图的图形。

  • 两个预测变量和一个类标签-plotPartialDependence创建一个与两个变量部分相关的曲面图。

“绝对的”

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

  • 带红线的PDP

  • 所选预测变量的散点图,用圆形标记预测反应或分数

  • 用灰色线绘制每个观测值的ICE图

中只选择一个预测变量时,此值有效var还有一个类标签标签(对于分类模型)。

“中心”

plotPartialDependence创建一个地物,该地物包括与“绝对的”.该函数偏移绘图,以便所有绘图从零开始。

中只选择一个预测变量时,此值有效var还有一个类标签标签(对于分类模型)。

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

标志在部分依赖计算中包含广义可加模型(GAM)的交互项,指定为符合事实的错误的.此参数仅对GAM有效。也就是说,您只能指定此参数RegressionMdlRegressionGAMCompactRegressionGAM,或ClassificationMdlClassificationGAMCompactClassificationGAM

默认的“IncludeInteractions”值是符合事实的如果模型包含交互项。该值必须为错误的如果模型不包含交互项。

例子:“IncludeInteractions”,假的

数据类型:逻辑

标记在部分依赖计算中包含广义可加模型(GAM)的截距项,指定为符合事实的错误的.此参数仅对GAM有效。也就是说,您只能指定此参数RegressionMdlRegressionGAMCompactRegressionGAM,或ClassificationMdlClassificationGAMCompactClassificationGAM

例子:“IncludeIntercept”,假的

数据类型:逻辑

要抽样的观察数,指定为正整数。默认值是观测总数数据还是模型(RegressionMdlClassificationMdl)。如果指定的值大于总观察数,则plotPartialDependence使用所有观察结果。

plotPartialDependence样本观察,没有替换使用datasample函数,并使用采样的观察值来计算部分相关性。

plotPartialDependence在抽样观察的唯一值处显示小的标记。

如果您指定“条件”作为“绝对的”“中心”plotPartialDependence为每个采样观测创建一个包括ICE图的图形。

例子:“NumObservationsToSample”,100

数据类型:|

要绘制的轴,指定为轴对象。如果你没有指定坐标轴,并且当前的坐标轴是笛卡尔坐标,那么plotPartialDependence使用当前轴(gca).如果轴不存在,plotPartialDependence在一个新的图形的情节。

例子:“父”,斧头

用于计算数值预测器的部分依赖性的点,该预测器指定为数值列向量、数值两列矩阵或由两个数值列向量组成的单元格数组。

  • 如果你选择一个预测变量var,使用数字列向量。

  • 如果在中选择两个预测变量var

    • 使用数字两列矩阵为每个预测变量指定相同数量的点。

    • 使用由两个数字列向量组成的单元格数组为每个预测器变量指定不同数量的点。

默认值是数值列向量或数值两列矩阵,具体取决于所选预测器变量的数量。每一列包含100个均匀间隔的点,在对应预测变量的采样观测值的最小值和最大值之间。

如果“条件”“绝对的”“中心”,然后软件将预测数据值(数据或预测数据RegressionMdlClassificationMdl)的选择预测器。

您不能修改“QueryPoints”对于一个分类变量。的plotPartialDependence函数使用所选变量中的所有分类值。

如果选择一个数值变量和一个分类变量,则可以指定“QueryPoints”通过使用由数值列向量和空数组组成的单元格数组来获取数值变量。

例子:QueryPoints, {pt, []}

数据类型:||细胞

并行运行的标志,指定为符合事实的错误的.如果您指定“UseParallel”,真的,plotPartialDependence函数执行对于-使用parfor预测每个观察结果的反应或分数并将其平均。此选项需要并行计算工具箱™。

例子:“UseParallel”,真的

数据类型:逻辑

输出参数

全部崩溃

图的坐标轴,作为坐标轴对象返回。修改坐标轴外观和从图中提取数据的方法请参见轴线外观从图中提取部分依赖估计

更多关于

全部崩溃

回归模型的偏依赖

部分依赖[1]表示在训练过的回归模型中预测变量和预测响应之间的关系。plotPartialDependence通过忽略其他变量,计算预测响应对预测变量子集的部分依赖性。

考虑对子集的部分依赖X年代整个预测变量集X= {x1x2, …,x.一个子集X年代包括一个或两个变量:X年代= {xS1X年代= {xS1xS2允许XC的互补集X年代在里面X.预测的响应fX)取决于所有的变量X

fX) =fX年代XC).

预测响应的部分依赖性X年代是由预测响应的期望来定义的XC

f 年代 X 年代 E C f X 年代 X C f X 年代 X C p C X C d X C

在哪里pCXC)为的边际概率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函数,您可以指定经过训练的模型(f(·))和选择变量(X年代),使用输入参数RegressionMdlvar,分别。plotPartialDependence计算100个等距点的局部相关性X年代或者你用“QueryPoints”名称-值对的论点。你可以指定号码(N)通过使用“NumObservationsToSample”名称-值对的论点。

回归模型的个体条件期望

个人条件期望(ICE)[2],作为部分依赖的延伸,表示预测变量和每个观测的预测响应之间的关系。部分依赖性显示了预测变量和预测响应之间的平均关系,而一组ICE图分解了平均信息,并显示了每个观测的独立依赖性。

plotPartialDependence为每个观测创建一个ICE图。一套ICE图有助于研究来自不同观测的部分依赖的异质性。plotPartialDependence也可以用输入参数提供的任何预测数据创建ICE图数据.您可以使用该特性来探索预测的响应空间。

考虑一个选定的预测变量的ICE图x年代根据给定的观察结果XC,在那里X年代= {x年代XC的互补集X年代在整个变量集合中XX= (X年代XC观察。ICE图对应于中求和的和方程1

f 年代 X 年代 f X 年代 X C

plotPartialDependence情节 f 年代 X 年代 对于每一个观察当您指定“条件”作为“绝对的”.如果您指定“条件”作为“中心”plotPartialDependence根据不同的观察结果,在移除关卡效果后绘制所有图:

f 年代 为中心的 X 年代 f X 年代 X C f 最小值 X 年代 X C

此减法确保每个绘图从零开始,以便可以检查图形的累积效果X年代以及相互作用X年代XC

分类模型的部分依赖和ICE

在分类模型中,plotPartialDependence用与回归模型相同的方法计算部分依赖和个人条件期望,但有一个例外:不是使用来自模型的预测响应,而是使用中指定的类的预测分数标签

加权算法遍历

加权遍历算法[1]是一种估计基于树的模型的部分依赖性的方法。估计的部分依赖性是在树遍历期间访问的叶节点对应的响应值或得分值的加权平均值。

X年代是整个变量集的子集XXC的互补集X年代在里面X.为每一个X年代值来计算部分依赖,算法从根(开始)节点到叶(终端)节点遍历树,并找到叶节点的权值。遍历首先在根节点上分配一个权值为1。如果一个节点被X年代,算法将遍历相应的子节点,这取决于X年代价值。子节点的权重变为与其父节点相同的值。如果一个节点被XC,算法遍历两个子节点。每个子节点的权重变为其父节点的值乘以对应于每个子节点的观测值的分数。在完成树遍历后,该算法利用分配的权重计算加权平均值。

对于一组袋装树,估计的偏相关性是单个树的加权平均值的平均值。

算法

plotPartialDependence使用一个预测预测反应或分数的功能。plotPartialDependence选择合适的预测根据模型(RegressionMdlClassificationMdl)和运行预测使用默认设置。详细资料预测功能,请参见预测函数。如果指定的模型是基于树的模型(不包括增强的树集合)和“条件”“没有”然后plotPartialDependence采用加权遍历算法代替预测函数。有关详细信息,请参见加权算法遍历

回归模型对象

模型类型 完整或紧凑的回归模型对象 预测反应功能
决策树集成的自举聚合 CompactTreeBagger 预测
决策树集成的自举聚合 树人 预测
回归模型集合 RegressionEnsembleRegressionBaggedEnsembleCompactRegressionEnsemble 预测
高斯核回归模型采用随机特征展开 RegressionKernel 预测
高斯过程回归 RegressionGPCompactRegressionGP 预测
广义加性模型 RegressionGAMCompactRegressionGAM 预测
广义线性混合效应模型 GeneralizedLinearMixedModel 预测
广义线性模型 广义线性模型CompactGeneralizedLinearModel 预测
线性混合效应模型 LinearMixedModel 预测
线性回归 LinearModelCompactLinearModel 预测
高维数据的线性回归 RegressionLinear 预测
神经网络回归模型 RegressionNeuralNetworkCompactRegressionNeuralNetwork 预测
非线性回归 NonLinearModel 预测
回归树 RegressionTreeCompactRegressionTree 预测
金宝app支持向量机 RegressionSVMCompactRegressionSVM 预测

分类模型对象

模型类型 完整或紧凑分类模型对象 用于预测标签和分数的函数
判别分析分类器 ClassificationDiscriminantCompactClassificationDiscriminant 预测
支持向量机或其他分类器的多类模型金宝app 分类紧凑分类 预测
用于分类的学习者集合 ClassificationEnsembleCompactClassificationEnsembleClassificationBaggedEnsemble 预测
基于随机特征展开的高斯核分类模型 ClassificationKernel 预测
广义加性模型 ClassificationGAMCompactClassificationGAM 预测
k最近的邻居模型 ClassificationKNN 预测
线性分类模型 ClassificationLinear 预测
朴素贝叶斯模型 ClassificationNaiveBayes紧分类朴素贝叶斯 预测
神经网络分类器 分类神经网络CompactClassificationNeuralNetwork 预测
金宝app支持向量机的一类和二值分类 ClassificationSVMCompactClassificationSVM 预测
用于多类分类的二叉决策树 ClassificationTreeCompactClassificationTree 预测
袋装决策树集合 树人CompactTreeBagger 预测

选择功能

  • partialDependence计算不可视化的部分依赖性。该函数可以在一次函数调用中计算两个变量和多个类的部分依赖关系。

参考文献

[1]弗里德曼,杰罗姆。贪婪函数近似:梯度增压机统计年鉴29日,没有。5(2001): 1189 - 1232。

Goldstein, Alex, Adam Kapelner, Justin Bleich, Emil Pitkin。《黑盒子里的窥视:用个体条件期望图可视化统计学习》计算和图形统计杂志第1期第24期(2015年1月2日):44-65。

哈斯蒂,特雷弗,罗伯特·蒂布希拉尼和杰罗姆·弗里德曼。统计学习的要素。纽约,纽约:施普林格纽约,2001。

扩展功能

介绍了R2017b