主要内容

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,“模式”“图”

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

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

plotPartialDependence (Mdl, 1)

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

所画的线表示平均的部分关系重量(标记为x1),英里/加仑(标记为Y)在训练的回归树中Mdl.的x中的唯一值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);

图中包含一个axes对象。标题为Partial dependency Plot的axis对象包含3个类型为line的对象。这些物品代表了彩色,彩色,处女。

根据这个模型,的概率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“条件”“中心”

图中包含一个axes对象。标题为“个体条件期望图”的轴对象包含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))

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

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

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

图中包含一个axes对象。标题为Partial dependency Plot的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 (“异常分数”

图中包含一个axes对象。标题为Partial dependency Plot的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 plotpartialdependency (Mdl,i,Xnew,“条件”“绝对”)标题(""结束

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

计算预测器重要性的估计值predictorImportance.该函数将由于对每个预测器进行拆分而导致的均方误差(MSE)的变化相加,然后将总和除以分支节点的数量。

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

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

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

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

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

负载电离层

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

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

Mdl是一个ClassificationGAM模型对象。

中列出交互项Mdl

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

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

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

训练支持向量机(万博1manbetxSVM)回归模型carsmall数据集,并为两个预测变量创建PDP。然后,从的输出中提取偏依赖估计plotPartialDependence.方法也可以获得部分依赖项值partialDependence函数。

加载carsmall数据集。

负载carsmall

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

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

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

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

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

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

图中包含一个axes对象。标题为Partial dependency 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] = partialdependency (Mdl,[“重量”“气缸”],“QueryPoints”, {pt, []});

pd包含查询点的部分依赖值x而且y

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

输入参数

全部折叠

回归模型,指定为完整或紧凑的回归模型对象,如下表所示的所支持的模型。万博1manbetx

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

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

plotPartialDependence不支持用稀疏矩阵训万博1manbetx练的模型对象。训练模型时,使用完整的数字矩阵或表作为预测数据,其中行对应于单个观察结果。

分类模型,指定为完整或紧凑的分类模型对象,如下面支持的模型表所示。万博1manbetx

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

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

plotPartialDependence不支持用稀疏矩阵训万博1manbetx练的模型对象。训练模型时,使用完整的数字矩阵或表作为预测数据,其中行对应于单个观察结果。

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

默认情况下,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

数据类型:|

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

例子:“父”,斧头

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

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

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

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

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

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

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

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

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

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

数据类型:||细胞

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

例子:“UseParallel”,真的

数据类型:逻辑

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

价值 描述
正整数向量

向量中的每个条目都是一个索引值,指示对应的预测器是分类的。索引值在1和之间p,在那里p变量的数量在吗数据

逻辑向量

一个真正的入口意味着对应的预测因子是绝对的。向量的长度是p

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

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

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

例子:“CategoricalPredictors”、“所有”

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

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

价值 描述
正整数向量

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

逻辑向量

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

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

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

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

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

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

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

输出参数

全部折叠

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

更多关于

全部折叠

回归模型的偏依赖性

部分依赖[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 预测
万博1manbetx支持向量机 RegressionSVMCompactRegressionSVM 预测

分类模型对象

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

选择功能

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

参考文献

弗里德曼,杰罗姆。H. <贪婪函数逼近:梯度提升机>。统计年鉴29日,没有。5(2001): 1189-1232。

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

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

扩展功能

版本历史

在R2017b中引入