主要内容

plotPartialDependence

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

描述

例子

plotPartialDependence (RegressionMdlvar计算并绘制中所列预测变量之间的部分依赖关系var并利用回归模型预测反应RegressionMdl,其中包含预测器数据。

  • 如果你指定一个变量var时,该函数创建了一个关于变量的偏依赖关系的折线图。

  • 如果你指定两个变量var时,该函数创建了对两个变量的偏依赖关系的曲面图。

例子

plotPartialDependence (ClassificationMdlvar标签计算并绘制中所列预测变量之间的部分依赖关系var和指定课程的分数标签利用分类模型ClassificationMdl,其中包含预测器数据。

  • 如果你指定一个变量var中每个类对变量的偏依赖关系的折线图标签

  • 如果你指定两个变量var时,该函数创建了对两个变量的偏依赖关系的曲面图。中必须指定一个类标签

例子

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

例子

plotPartialDependence (有趣的var数据计算并绘制中所列预测变量之间的部分依赖关系var和自定义模型返回的输出有趣的,使用预测器数据数据

  • 如果你指定一个变量var,函数为返回的输出的每一列创建对变量的偏依赖关系的折线图有趣的

  • 如果你指定两个变量var时,该函数创建了对两个变量的偏依赖关系的曲面图。当你指定两个变量时,有趣的必须返回列向量,或者必须通过设置OutputColumns名称-值参数。

例子

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

例子

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

例子

全部折叠

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

加载carsmall数据集。

负载carsmall

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

X =[重量,气缸,马力];Y = mpg;

训练回归树X而且Y

Mdl = fitrtree(X,Y);

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

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

{

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

plotPartialDependence (Mdl, 1)

图中包含一个轴对象。标题为“偏依赖图”的axis对象包含一个类型为line的对象。

标线表示之间的平均部分关系重量(标记为x1),英里/加仑(标记为Y)在训练好的回归树中Mdl.的x-axis小刻度表示中唯一的值x1

回归树查看器显示第一个决定是是否x1小于3085.5。PDP在附近也有较大的变化x1= 3085.5。树查看器根据预测变量可视化每个节点上的每个决策。的值拆分了多个节点x1的依赖关系Yx1不容易。然而,plotPartialDependence图平均预测的反应x1的偏依赖关系Yx1

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

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

加载fisheriris数据集,包含物种(物种)及测量()对150份鸢尾花标本的萼片长度、萼片宽度、花瓣长度和花瓣宽度进行分析。数据集包含来自三个物种的各50个标本:濑鱼、维珍鱼和维珍鱼。

负载fisheriris

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

Mdl = fitcnb(meas,种);

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

plotPartialDependence (Mdl 3 Mdl.ClassNames);

图中包含一个轴对象。标题为偏依赖Plot的axis对象包含3个类型为line的对象。这些物品代表了setosa, versicolica, virgica。

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

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

生成样本预测器数据x1而且x2

rng (“默认”%用于再现性N = 200;X1 = rand(n,1)*2-1;X2 = rand(n,1)*2-1;

生成响应值,包括之间的交互x1而且x2

Y = x1-2*x1.*(x2>0)+0.1*rand(n,1);

创建一个高斯过程回归模型(x1, x2))而且Y

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

为第一个预测器创建一个包含PDP(红线)的图形x1的散点图(圆形标记)x1和预测的响应,以及一组ICE图(灰线)通过指定有条件的为“为中心”

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

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

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

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

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

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

负载census1994

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

X = adultdata(:,[“年龄”“workClass”“education_num”“marital_status”“种族”...“性”“capital_gain”“capital_loss”“hours_per_week”“工资”]);Xnew = adulttest(:,[“年龄”“workClass”“education_num”“marital_status”“种族”...“性”“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))

图中包含一个轴对象。标题为“偏依赖图”的axis对象包含一个类型为line的对象。

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

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

图中包含一个轴对象。标题为“偏依赖图”的axis对象包含一个类型为line的对象。

高预测分数的部分依赖关系在两个图中表现出相似的形状工资> 50 k)年龄.这两个图都表明,高收入的预测分数在30岁之前快速上升,然后在60岁之前几乎保持不变,然后快速下降。然而,根据新数据绘制的图表显示,65岁以上人群的得分略高。

创建一个PDP来分析预测因子和异常值之间的关系isolationForest对象。你不能通过isolationForest对象直接指向plotPartialDependence函数。相反,定义一个自定义函数,该函数返回对象的异常分数,然后将该函数传递给plotPartialDependence

加载中存储的1994年人口普查数据census1994.mat.该数据集由美国人口普查局的人口统计数据组成。

负载census1994

census1994包含两个数据集adultdata而且成人

训练隔离森林模型成人.这个函数iforest返回一个IsolationForest对象。

rng (“默认”%用于再现性Mdl =森林(成体);

定义自定义函数myAnomalyScores方法计算的异常分数isanomaly的函数IsolationForest;自定义函数定义出现在这个例子结束了

根据变量创建异常分数的PDP年龄成人数据集。plotPartialDependence接受函数句柄形式的自定义模型。由函数句柄表示的函数必须接受预测器数据,并为每个观察结果返回一个列向量或矩阵。指定自定义模型为@(台)myAnomalyScores (Mdl(资源)这样自定义函数就会使用经过训练的模型Mdl并接受预测数据。

plotPartialDependence(@(台)myAnomalyScores (Mdl(资源),“年龄”、成人)包含(“年龄”) ylabel (“异常分数”

图中包含一个轴对象。标题为“偏依赖图”的axis对象包含一个类型为line的对象。

自定义函数myAnomalyScores

函数scores = myanomalscores (Mdl,tbl) [~,scores] = isanomaly(Mdl,tbl);结束

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

加载carsmall数据集。

负载carsmall

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

X =[重量,气缸,马力,型号];Y = mpg;

使用训练回归集成X而且Y

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

方法创建预测变量的重要性plotPartialDependence而且predictorImportance功能。的plotPartialDependence函数将选定的预测器与预测的响应之间的关系可视化。predictorImportance用单个值总结预测器的重要性。

为每个预测器创建一个包括PDP图(红线)和ICE图(灰线)的图形plotPartialDependence并指定"条件”、“绝对”.每个图还包括所选预测器和预测响应的散点图(圆形标记)。另外,加载carbig数据集并将其用作新的预测数据,Xnew.当你提供Xnew,plotPartialDependence函数使用Xnew而不是预测器中的数据Mdl

负载carbigXnew =[重量,气缸,马力,型号];图t = tiledlayout(2,2,“TileSpacing”“紧凑”);标题(t)“个别条件期望图”i = 1: 4 nexttile plotPartialDependence(Mdl,i,Xnew,“条件”“绝对”)标题(""结束

图中包含4个轴对象。Axes对象1包含408个类型为line, scatter的对象。坐标轴对象2包含408个类型为line, scatter的对象。坐标轴对象3包含408个类型为line, scatter的对象。Axes对象4包含408个类型为line, scatter的对象。

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

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

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

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

训练一个广义可加性模型(GAM),其中包含预测因子的线性和交互项。然后,创建一个同时包含线性项和交互项的PDP,以及一个仅包含线性项的PDP。指定在创建pdp时是否包含交互术语。

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

负载电离层

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

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

Mdl是一个ClassificationGAM模型对象。

中列出交互术语Mdl

Mdl。的相互作用
ans =10×21 5 7 8 6 7 5 6 5 7 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)举行

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

该图显示分数(后验概率)的部分依赖于x5取决于模型是否包含交互术语,特别是在何处x5介于0.2到0.45之间。

训练支持向量机(金宝appSVM)回归模型carsmall数据集,并为两个预测变量创建PDP。然后,从的输出中提取部分依赖估计plotPartialDependence.方法获取部分依赖关系值partialDependence函数。

加载carsmall数据集。

负载carsmall

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

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

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

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

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

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

图中包含一个轴对象。标题为偏依赖Plot的axis对象包含一个类型为surface的对象。

PDP显示了之间的相互作用效应重量而且气缸.的偏依赖英里/加仑重量的值而改变气缸

的估计偏依赖关系英里/加仑重量而且气缸.的XDataYData,ZData的值斧子。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包含查询点的部分依赖项值x而且y

如果你指定有条件的为“绝对的“plotPartialDependence创建一个包括PDP、散点图和一组ICE图的图形。ax.Children (1)而且ax.Children (2)分别对应于PDP图和散点图。余下的要素斧子。Children与ICE图相对应。的XData而且YData的值ax.Children(我)分别为x轴值(所选预测值)和y轴值(相应的偏依赖值)。

输入参数

全部折叠

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

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

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

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

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

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

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

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

自定义模型,指定为函数句柄。函数句柄有趣的必须表示一个接受预测器数据的函数数据并以列向量或矩阵的形式返回输出。输出的每一行必须对应于预测器数据中的每个观察(行)。

默认情况下,plotPartialDependence的所有输出列有趣的对于偏依赖的计算。属性指定要使用的输出列OutputColumns名称-值参数。

如果预测器数据(数据)在一个表中,plotPartialDependence如果一个变量是逻辑向量、分类向量、字符数组、字符串数组或字符向量的单元格数组,则假定该变量是分类的。如果预测器数据是一个矩阵,plotPartialDependence假设所有预测因子都是连续的。要将任何其他预测符标识为类别预测符,请使用CategoricalPredictors名称-值参数。

数据类型:function_handle

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

一个预测变量

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

预测变量的名称。项中的项必须匹配PredictorNames财产RegressionMdl而且ClassificationMdl或者变量名数据自定义模型的表中有趣的

两个预测变量

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

预测变量的名称。数组中的每个元素都是一个预测变量的名称。属性中的项必须匹配PredictorNames财产RegressionMdl而且ClassificationMdl的变量名数据自定义模型的表中有趣的

如果指定两个预测变量,则必须在中指定一个类标签ClassificationMdl中指定一个输出列OutputColumns对于自定义模型有趣的

例子:[" x1”、“x3”)

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

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

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

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

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

例子:(“红”、“蓝色”)

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

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

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

对于回归模型(RegressionMdl)和分类模型(ClassificationMdl),数据必须与训练模型的预测器数据一致,存储在X变量财产。

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

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

  • 数据一定不能稀疏。

如果您指定的回归或分类模型不包含预测器数据,则必须提供数据.如果模型是包含预测器数据的完整模型对象,并且指定数据参数,然后plotPartialDependence忽略模型中的预测器数据并使用数据只有。

如果您指定一个自定义模型有趣的,你必须提供数据

数据类型:||表格

名称-值参数

指定可选参数对为Name1 = Value1,…,以=家,在那里的名字参数名称和价值对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。

在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字在报价。

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

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

价值 描述
“没有”

plotPartialDependence创建PDP。图类型取决于中指定的预测变量的数量var

  • 〇一个预测变量plotPartialDependence创建部分依赖关系的二维线图。如果您提供分类模型(ClassificationMdl),该函数为中指定的每个类标签创建折线图标签.如果您提供自定义模型(有趣的),该函数为返回的输出的每一列创建折线图有趣的.属性指定要使用的输出列OutputColumns名称-值参数。

  • 〇两个预测变量plotPartialDependence创建一个局部依赖于这两个变量的曲面图。对于分类模型,必须在中指定一个类标签标签.对于自定义模型,必须提供一个返回列向量的模型,或通过设置OutputColumns名称-值参数。

“绝对”

plotPartialDependence创建一个包含三种类型的图的图形:

  • 有一条红线的PDP

  • 所选预测变量与预测反应或分数的散点图

  • ICE图为每个观测值,用灰色线表示

使用“绝对”选项中,必须指定一个预测变量var.此外,对于分类模型,必须在中指定一个类标签标签.对于自定义模型,必须提供一个返回列向量的模型,或通过设置OutputColumns名称-值参数。

“中心”

plotPartialDependence创建包含相同的三种类型的图的图形“绝对”.该函数对图进行偏移,使所有图都从零开始。

使用“中心”选项中,必须指定一个预测变量var.此外,对于分类模型,必须在中指定一个类标签标签.对于自定义模型,必须提供一个返回列向量的模型,或通过设置OutputColumns名称-值参数。

例子:“有条件”、“绝对”

标记在部分依赖计算中包括广义可加模型(GAM)的交互项,指定为真正的.此参数仅对GAM有效。也就是说,您只能在以下情况下指定此参数RegressionMdlRegressionGAMCompactRegressionGAM,或ClassificationMdlClassificationGAMCompactClassificationGAM

默认的IncludeInteractions值是真正的如果模型包含交互项。取值必须为如果模型不包含交互项。

例子:“IncludeInteractions”,假的

数据类型:逻辑

标志,以在部分依赖计算中包括广义可加模型(GAM)的截取项,指定为真正的.此参数仅对GAM有效。也就是说,您只能在以下情况下指定此参数RegressionMdlRegressionGAMCompactRegressionGAM,或ClassificationMdlClassificationGAMCompactClassificationGAM

例子:“IncludeIntercept”,假的

数据类型:逻辑

要采样的观察数,指定为正整数。默认值为数据或者模型(RegressionMdlClassificationMdl).如果您指定的值大于总的观察数,则plotPartialDependence使用所有的观察结果。

plotPartialDependence不进行替换的样本观测datasample函数并使用采样的观测值来计算部分依赖关系。

plotPartialDependence在采样观测值的唯一值处显示小标记。

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

例子:“NumObservationsToSample”,100

数据类型:|

要绘制的轴,指定为axis对象。如果不指定轴,并且当前轴是直角轴,则plotPartialDependence使用当前轴(gca).如果坐标轴不存在,plotPartialDependence在一个新的图形中绘图。

例子:“父”,斧头

指定为数值列向量、数值两列矩阵或两个数值列向量的单元格数组的数值预测器的部分依赖关系。

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

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

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

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

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

如果有条件的“绝对”“中心”,然后软件将预测数据值(数据或者预测数据RegressionMdlClassificationMdl),将所选预测因素移至查询点。

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

如果选择一个数值变量和一个类别变量,则可以指定QueryPoints对于数值变量,使用由数值列向量和空数组组成的单元格数组。

例子:“QueryPoints”{pt, []}

数据类型:||细胞

要并行运行的标志,指定为真正的.如果你指定“UseParallel”,真的,plotPartialDependence函数执行-循环迭代并行使用parfor预测每个观察结果的反应或得分,并求平均值。此选项需要并行计算工具箱™。

例子:“UseParallel”,真的

数据类型:逻辑

自定义模型的分类预测器列表有趣的,指定为本表中的值之一。

价值 描述
正整数向量

向量中的每个条目都是一个指标值,表明相应的预测器是分类的。索引值在1和之间p,在那里p变量的数量是多少数据

逻辑向量

一个真正的Entry表示对应的预测器是分类的。向量的长度是p

字符矩阵 矩阵的每一行都是一个预测变量的名称。名称必须与预测器数据的变量名称相匹配数据在表格中。用额外的空格填充名字,这样字符矩阵的每一行都有相同的长度。
字符向量的字符串数组或单元格数组 数组中的每个元素都是一个预测变量的名称。名称必须与预测器数据的变量名称相匹配数据在表格中。
“所有” 所有预测因素都是绝对的。

默认情况下,如果预测器数据数据在一个表中,plotPartialDependence如果一个变量是逻辑向量、分类向量、字符数组、字符串数组或字符向量的单元格数组,则假定该变量是分类的。如果预测器数据是一个矩阵,plotPartialDependence假设所有预测因子都是连续的。要将任何其他预测符标识为类别预测符,请使用CategoricalPredictors名称-值参数。

此参数仅在使用指定自定义模型时有效有趣的

例子:“CategoricalPredictors”、“所有”

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

自定义模型的输出列有趣的用于部分依赖计算,指定为本表中的值之一。

价值 描述
正整数向量

向量中的每一项都是表示这一点的索引值plotPartialDependence使用相应的输出列进行部分依赖计算。索引值在1和之间,在那里自定义模型是否返回输出矩阵中的列数有趣的

逻辑向量

一个真正的进入意味着plotPartialDependence使用相应的输出列进行部分依赖计算。向量的长度是

“所有” plotPartialDependence使用所有输出列进行部分依赖计算。

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

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

此参数仅在使用指定自定义模型时有效有趣的

例子:“OutputColumns”,[1 - 2]

数据类型:||逻辑|字符|字符串

输出参数

全部折叠

绘图的轴,作为axis对象返回。有关如何修改轴的外观和从图中提取数据的详细信息,请参见轴的外观而且从图中提取部分依赖估计

更多关于

全部折叠

回归模型的部分依赖关系

部分依赖[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年代),使用输入参数RegressionMdl而且var,分别。plotPartialDependence的100个等间距点处计算部分依赖关系X年代或者你指定的点QueryPoints名称-值参数。您可以指定数字(N)的观测值,从给定的预测器数据中取样NumObservationsToSample名称-值参数。

回归模型的个体条件期望

个体条件期望(ICE)[2],作为部分依赖的扩展,表示每个观测值的预测变量与预测响应之间的关系。部分依赖关系显示了预测变量和预测响应之间的平均关系,一组ICE图分解了平均信息,并显示了每个观察结果的个体依赖关系。

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

考虑一个选定预测变量的ICE图x年代给定的观察结果XC,在那里X年代= {x年代XC的互补集是X年代在整个变量集中X,X= (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年代是整个变量集的子集X而且XC的互补集X年代X.为每一个X年代值来计算部分依赖关系,算法从根(开始)节点遍历树到叶(终端)节点,并找到叶节点的权值。遍历从在根节点上分配权重值1开始。如果一个节点分裂X年代时,算法遍历到相应的子节点X年代价值。子节点的权重值与其父节点的值相同。如果一个节点分裂XC时,算法遍历两个子节点。每个子节点的权重变成其父节点的值乘以每个子节点对应的观测值的分数。完成树遍历后,算法使用分配的权重计算加权平均值。

对于袋装树的集合,估计的部分依赖关系是单个树的加权平均值的平均值。

算法

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

回归模型对象

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

分类模型对象

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

选择功能

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

参考文献

弗里德曼,杰罗姆。《贪婪函数逼近:梯度增强机》统计年鉴29日,没有。5(2001): 1189-1232。

[2] Goldstein, Alex, Adam Kapelner, Justin Bleich和Emil Pitkin。“窥探黑盒子内部:用个人条件期望的图表可视化统计学习。”计算与图形统计杂志24日,没有。1(2015年1月2日):44-65。

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

扩展功能

版本历史

在R2017b中引入