主要内容

partialDependence

计算部分依赖

自从R2020b

描述

例子

pd= partialDependence (RegressionMdl,var)计算部分依赖pd之间的预测变量中列出var并使用回归模型预测的反应RegressionMdl,其中包含预测数据。

例子

pd= partialDependence (ClassificationMdl,var,标签)计算部分依赖pd之间的预测变量中列出var和分数中指定的类标签通过使用分类模型ClassificationMdl,其中包含预测数据。

例子

pd= partialDependence (___,数据)使用新的预测数据数据。您可以指定数据除了任何输入参数组合在前面的语法。

例子

pd= partialDependence (有趣的,var,数据)计算部分中列出的预测变量之间的依赖var和返回的输出自定义模型有趣的使用预测数据数据

例子

pd= partialDependence (___,名称,值)使用附加选项指定一个或多个名称参数。例如,如果您指定“UseParallel”,“真正的”,partialDependence函数使用并行计算执行部分依赖计算。

(pd,x,y)= partialDependence (___)同样的回报xy,其中包含查询的第一和第二点预测变量var,分别。如果您指定一个变量var,然后partialDependence返回一个空矩阵([])y

例子

全部折叠

朴素贝叶斯分类模型的训练fisheriris数据集和计算部分依赖值显示预测变量之间的关系和预测的分数为多个类(后验概率)。

加载fisheriris数据集,其中包含物种(物种)和测量(花萼长度,萼片宽,花瓣长度和花瓣宽度150虹膜样本。数据集包含50个标本每个三个物种:setosa,杂色的,virginica。

负载fisheriris

训练朴素贝叶斯分类模型物种的反应,为预测因子。

Mdl = fitcnb(量、种类、“PredictorNames”,(“花萼长度”,“花萼宽”,“花瓣长度”,“花瓣宽度”]);

计算值在第三部分依赖预测变量预测的分数(花瓣长度)Mdl所有的三个类物种。通过使用指定的类标签一会的属性Mdl

(pd, x) = partialDependence (Mdl 3 Mdl.ClassNames);

pd包含部分依赖x值查询点。你可以画出部分依赖计算值使用绘图等功能情节酒吧。情节pdx通过使用酒吧函数。

栏(x, pd)传说(Mdl.ClassNames)包含(“花瓣长度”)ylabel (“分数”)标题(“部分依赖阴谋”)

图包含一个坐标轴对象。坐标轴对象与标题部分依赖图,包含花瓣长度,ylabel分数包含3条类型的对象。杂色的,这些对象代表setosa virginica。

根据这个模型,的概率virginica随花瓣长度。的概率setosa长度约为0.33,花瓣是0到2.5左右,然后下降的概率几乎为0。

或者,您可以使用plotPartialDependence函数计算值和情节部分依赖。

plotPartialDependence (Mdl 3 Mdl.ClassNames)

图包含一个坐标轴对象。坐标轴对象与标题部分依赖图,包含花瓣长度,ylabel分数包含3线类型的对象。杂色的,这些对象代表setosa virginica。

训练一个分类模型和计算部分依赖为多个类在两个变量的值。每个类的部分依赖值进行绘制。

加载census1994数据集,其中包含我们年薪数据,分类< = 50 k> 50 k,一些人口统计学变量。

负载census1994

从表中提取变量分析的一个子集adultdata

X = adultdata (1:50 0,“年龄”,“workClass”,“education_num”,“marital_status”,“种族”,“性”,“capital_gain”,“capital_loss”,“hours_per_week”,“工资”]);

训练随机森林分类树的使用fitcensemble并指定方法为“袋”。再现性,使用模板创建的树templateTree可再生的选择。

rng (“默认”)t = templateTree (“复制”,真正的);Mdl = fitcensemble (X,“工资”,“方法”,“包”,“学习者”t);

检查的类名Mdl

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

计算部分的预测因子上的得分值的依赖年龄education_num对两类(< = 50 k> 50 k)。指定数量的观测样本100。

(pd, x, y) = partialDependence (Mdl, (“年龄”,“education_num”),Mdl.ClassNames,“NumObservationsToSample”,100);

创建一个表面的情节部分依赖一流的值(< = 50 k)通过使用冲浪函数。

图冲浪(x, y,挤压(pd(1::)))包含(“年龄”)ylabel (“教育\ _num”)zlabel (“类< = 50 k的分数”)标题(“部分依赖阴谋”30)视图([130])%修改视角

图包含一个坐标轴对象。坐标轴对象与标题部分依赖图,包含年龄,ylabel e d u c t i o n _ n m包含一个类型的对象的表面。

创建一个表面的情节为第二部分依赖值类(> 50 k)。

图冲浪(x, y,挤压(pd(2::)))包含(“年龄”)ylabel (“教育\ _num”)zlabel (“类> 50 k的分数”)标题(“部分依赖阴谋”30)视图([130])%修改视角

图包含一个坐标轴对象。坐标轴对象与标题部分依赖图,包含年龄,ylabel e d u c t i o n _ n m包含一个类型的对象的表面。

两个情节显示不同的部分依赖模式取决于类。

加载carbig样本数据集。

负载carbig

向量位移,气缸,Model_Year汽车发动机排量,包含数据的发动机气缸,分别和年汽车制造。

多项式回归模型使用位移气缸作为预测变量和Model_Year作为响应。

predvars =(位移、缸);Mdl = fitmnr (predvars Model_Year PredictorNames = (“位移”,“气缸”]);

创建一个向量的噪声预测的数据通过使用预测变量兰德函数。

Data = predvars(1:10:最终,);rng (“默认”)行=长度(数据);=数据+ 10 *兰德([行,2]);

计算部分对应的响应类别概率依赖汽车制造在1980年位移。使用噪声预测数据计算部分依赖。

(pd, x, ~) = partialDependence (Mdl,“位移”,80年数据)
pd =1×1000.0030 0.0031 0.0031 0.0032 0.0032 0.0033 0.0033 0.0033 0.0034 0.0034 0.0035 0.0035 0.0036 0.0036 0.0036 0.0037 0.0037 0.0037 0.0038 0.0038 0.0038 0.0039 0.0039 0.0039 0.0039 0.0039 0.0040 0.0040 0.0040 0.0040 0.0040 0.0040 0.0040 0.0040 0.0040 0.0040 0.0040 0.0040 0.0040 0.0040 0.0039 0.0039 0.0039 0.0039 0.0038 0.0038 0.0038 0.0037 0.0037 0.0036
x =100×173.7850 77.1781 80.5713 83.9644 87.3575 90.7507 94.1438 97.5370 100.9301 104.3232⋮

输出显示了计算值的部分依赖类别概率位移。因为位移是一个连续变量,partialDependence函数计算查询部分依赖于100等距的点x

情节部分使用的依赖plotPartialDependence

plotPartialDependence (Mdl“位移”,80年数据)

情节显示,当位移从大约70增加到大约180年,一辆汽车在1980年生产的概率增加。作为位移继续增加,1980年汽车制造的概率减少。

训练支持向量机(万博1manbetxSVM)回归模型使用carsmall数据集,并计算部分依赖两个预测变量。然后,创建一个图,显示了部分依赖两个变量以及每个变量的直方图。

加载carsmall数据集。

负载carsmall

创建一个表,其中包含重量,气缸,位移,马力

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

火车一个SVM回归模型使用的预测变量资源描述和响应变量英里/加仑。使用高斯核函数与一个自动内核规模。

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

计算部分依赖预测的响应(英里/加仑在预测变量)重量马力。指定查询点计算局部使用的依赖QueryPoints名称-值参数。

numPoints = 10;ptX = linspace (min(重量),max(重量),numPoints) ';企业= linspace (min(马力),max(马力),numPoints) ';(pd, x, y) = partialDependence (Mdl, (“重量”,“马力”),“QueryPoints”,(ptX企业]);

创建一个图,其中包含一个5-by-5平铺图布局。情节部分依赖使用的两个变量显示亮度图像函数。然后画出直方图为每个变量使用柱状图函数。指定的边缘直方图,使直方图酒吧的中心对齐与查询点。改变轴属性来调整轴的阴谋。

t = tiledlayout (5 5“TileSpacing”,“紧凑”);ax₁= nexttile (2 (4, 4));显示亮度图像(x, y, pd)标题(“部分依赖阴谋”)colorbar (“eastoutside”ax₁。YDir =“正常”;ax2 = nexttile(22日[1,4]);dX = diff (ptX (1:2));edgeX = [ptX-dX / 2; ptX(结束)+ dX);直方图(重量,edgeX);包含(“重量”)xlim (ax1.XLim);ax3 = nexttile (1, 4, 1]);dY = diff(企业(1:2));edgeY = [ptY-dY / 2;企业(结束)+ (dY);直方图(马力,edgeY)包含(“马力”)xlim (ax1.YLim);ax3。XDir =“反向”;camroll (-90)

图包含3轴对象。坐标轴对象1标题部分依赖情节包含一个类型的对象的形象。轴和包含对象2重量包含一个直方图类型的对象。轴和包含对象3马力包含一个直方图类型的对象。

的每个元素pd指定图像的一个像素的颜色。图像的直方图与坐标轴显示分布的预测。

计算标签的部分依赖分数的预测变量SemiSupervisedSelfTrainingModel对象。你不能通过SemiSupervisedSelfTrainingModel直接对象partialDependence函数。相反,定义一个自定义函数,返回标签分数为对象,然后通过函数partialDependence

随机生成15观测带安全标签的数据时,有五个观测的三个类。

rng (“默认”)%的再现性labeledX = [randn (5,2) * 0.25 + 1 (2);randn (5,2) * 0.25 - 1 (2);randn (5,2) * 0.5);Y =[(5、1)的;(5、1)* 2;(1)* 3);

随机生成300额外的无标号数据观察,100年观察每个类。

unlabeledX = [randn(100 2) * 0.25 +(100 2)的;randn (100 2) * 0.25 - 1 (100 2);randn (100 2) * 0.5);

合适的标签无标号数据通过使用半监督自我训练方法。这个函数fitsemiself返回一个SemiSupervisedSelfTrainingModel对象。

Mdl = fitsemiself (labeledX Y unlabeledX);

定义自定义函数myLabelScores分数的计算,它返回标签预测的函数SemiSupervisedSelfTrainingModel;自定义函数定义出现在这个例子的结束

计算分数的部分依赖unlabeledX对每个变量的所有类。partialDependence接受一个定制的模型函数形式的处理。所表示的函数函数处理必须接受预测数据并返回一个列向量或矩阵的每一行的观察。指定自定义模型@ (X) myLabelScores (Mdl X)自定义函数使用训练模型Mdl和接受预测数据。

(pd1 x1) = partialDependence (@ (X) myLabelScores (Mdl X), 1, unlabeledX);(pd2 x2) = partialDependence (@ (X) myLabelScores (Mdl X), 2, unlabeledX);

你可以画出部分依赖计算值使用绘图等功能情节酒吧。或者,您可以使用plotPartialDependence函数计算值和情节部分依赖。

创建部分依赖情节第一变量和所有类。

plotPartialDependence (@ (X) myLabelScores (Mdl X), 1, unlabeledX)包含(“unlabeledX 1变量”)ylabel (“分数”)传说(“1级”,“二班”,“3班”)

图包含一个坐标轴对象。坐标轴对象与标题部分依赖图,包含1变量unlabeledX, ylabel分数包含3线类型的对象。这些对象代表一班、二班、三班。

自定义函数myLabelScores

函数成绩= myLabelScores (Mdl, X)[~,分数]=预测(Mdl X);结束

输入参数

全部折叠

回归模型,指定为一个完整的或紧凑的回归模型对象,如下表中给出支持的模型。万博1manbetx

模型 全部或紧凑的模型对象
广义线性模型 GeneralizedLinearModel,CompactGeneralizedLinearModel
广义线性混合效应模型 GeneralizedLinearMixedModel
线性回归 LinearModel,CompactLinearModel
线性混合效应模型 LinearMixedModel
非线性回归 NonLinearModel
整体的回归模型 RegressionEnsemble,RegressionBaggedEnsemble,CompactRegressionEnsemble
广义可加模型(GAM) RegressionGAM,CompactRegressionGAM
高斯过程回归 RegressionGP,CompactRegressionGP
高斯核函数回归模型使用随机特性的扩张 RegressionKernel
对高维数据线性回归 RegressionLinear
神经网络回归模型 RegressionNeuralNetwork,CompactRegressionNeuralNetwork
万博1manbetx支持向量机(SVM)回归 RegressionSVM,CompactRegressionSVM
回归树 RegressionTree,CompactRegressionTree
引导聚合合奏的决策树 TreeBagger,CompactTreeBagger

如果RegressionMdl是一个模型对象,不包含预测数据(例如,一个紧凑的模型),你必须提供输入参数了吗数据

partialDependence不支持一个模型对象万博1manbetx训练的稀疏矩阵。当你训练模型,对预测数据使用一个完整的数字矩阵或表行对应于观测的地方。

分类模型,指定为一个完整的或紧凑的分类模型对象,按照下表支持的模型。万博1manbetx

模型 全部或紧凑的模型对象
判别分析分类器 ClassificationDiscriminant,CompactClassificationDiscriminant
多类支持向量机模型或其他分类器万博1manbetx ClassificationECOC,CompactClassificationECOC
系综分类的学习者 ClassificationEnsemble,CompactClassificationEnsemble,ClassificationBaggedEnsemble
广义可加模型(GAM) ClassificationGAM,CompactClassificationGAM
高斯核函数分类模型使用随机特性的扩张 ClassificationKernel
k最近的邻居分类器 ClassificationKNN
线性分类模型 ClassificationLinear
多级朴素贝叶斯模型 ClassificationNaiveBayes,CompactClassificationNaiveBayes
神经网络分类器 ClassificationNeuralNetwork,CompactClassificationNeuralNetwork
万博1manbetx支持向量机(SVM)分类器看到下面成了和二进制分类 ClassificationSVM,CompactClassificationSVM
二叉决策树的多类分类 ClassificationTree,CompactClassificationTree
袋装的决策树 TreeBagger,CompactTreeBagger
多项式回归模型 MultinomialRegression

如果ClassificationMdl是一个模型对象,不包含预测数据(例如,一个紧凑的模型),你必须提供输入参数了吗数据

partialDependence不支持一个模型对象万博1manbetx训练的稀疏矩阵。当你训练模型,对预测数据使用一个完整的数字矩阵或表行对应于观测的地方。

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

默认情况下,partialDependence使用的所有输出列有趣的的部分依赖计算。您可以指定使用哪个输出列通过设置OutputColumns名称-值参数。

如果预测数据(数据)是在一个表中,partialDependence假设变量是直言如果它是一个逻辑向量,分类向量,字符数组,字符串数组或单元阵列特征向量。如果预测数据是一个矩阵,partialDependence假设所有的预测都是连续的。识别任何其他预测分类预测,通过使用指定它们CategoricalPredictors名称-值参数。

数据类型:function_handle

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

一个预测变量

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

预测变量的名称。的名称必须匹配条目PredictorNames财产RegressionMdlClassificationMdl或变量名数据表中为一个自定义模型有趣的

两个预测变量

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

预测变量的名称。数组中的每个元素是一个预测变量的名字。名称必须匹配的条目PredictorNames财产RegressionMdlClassificationMdl或变量的名字数据表中为一个自定义模型有趣的

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

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

类标签,分类或字符数组,指定逻辑或者数值向量、数组或单元的特征向量。和数据类型的值标签必须匹配的类名的一会的属性ClassificationMdl(ClassificationMdl.ClassNames)。

您可以指定一个或多个类标签。

这个论点是有效的只有当你指定一个分类模型对象ClassificationMdl

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

例子:ClassificationMdl.ClassNames((13])指定标签第一和第三类ClassificationMdl

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

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

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

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

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

  • 数据一定不能少。

如果你指定一个回归或分类模型,该模型不包含预测数据,您必须提供数据。如果模型是一个完整的模型对象,其中包含预测数据和指定数据参数,然后partialDependence忽略了预测模型中的数据,并使用数据只有。

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

数据类型:||

名称-值参数

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

R2021a之前,用逗号来分隔每一个名称和值,并附上的名字在报价。

例子:partialDependence (Mdl、var、数据“NumObservationsToSample”, 100年,“UseParallel”,真的)计算部分依赖通过使用100采样观测值数据和执行循环迭代并行。

标志包括交互的广义相加模型(GAM)部分依赖计算,指定为真正的。这个论点是有效的只有GAM。也就是说,您可以指定这个论点只有当RegressionMdlRegressionGAMCompactRegressionGAM,或ClassificationMdlClassificationGAMCompactClassificationGAM

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

例子:“IncludeInteractions”,假的

数据类型:逻辑

标记包含一个截距项的广义相加模型(GAM)部分依赖计算,指定为真正的。这个论点是有效的只有GAM。也就是说,您可以指定这个论点只有当RegressionMdlRegressionGAMCompactRegressionGAM,或ClassificationMdlClassificationGAMCompactClassificationGAM

例子:“IncludeIntercept”,假的

数据类型:逻辑

数量的观测样本,指定为一个正整数。默认值是总数量的观察数据或模型(RegressionMdlClassificationMdl)。如果你指定一个值大于总数量的观察,然后partialDependence使用所有的观察。

partialDependence样本观测不重复使用datasample功能和使用采样观测计算部分依赖。

例子:“NumObservationsToSample”, 100

数据类型:|

点为数值计算部分依赖预测,指定为一个数字列向量,一个数字两列矩阵,或一个单元阵列的两个数值列向量。

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

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

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

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

默认值是一个数字列向量或一个数字两列矩阵,根据选择的预测变量的数量。每一列包含100个等间距的最小值和最大值之间的点的采样观察相应的预测变量。

您不能修改QueryPoints类别变量。的partialDependence函数使用所有分类值在选定的变量中。

如果您选择一个数值型变量和一个分类变量,您可以指定QueryPoints数值变量用一个单元阵列组成的数字列向量和一个空数组。

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

数据类型:||细胞

国旗并行运行,指定为真正的。如果您指定“UseParallel”,真的,partialDependence函数执行通过循环迭代parfor当预测反应或为每个观察和平均成绩。并行循环运行时并行计算工具箱™。

例子:“UseParallel”,真的

数据类型:逻辑

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

价值 描述
向量的正整数

向量中的每个条目是一个索引值表明相应的预测分类。索引值介于1和p,在那里p变量的数量吗数据

逻辑向量

一个真正的意味着相应的预测分类条目。向量的长度p

字符矩阵 矩阵的每一行是一个预测变量的名字。名称必须匹配的变量名预测数据数据在一个表中。垫的名字与额外的空格字符矩阵的每一行有相同的长度。
字符串数组或单元阵列的特征向量 数组中的每个元素是一个预测变量的名字。名称必须匹配的变量名预测数据数据在一个表中。
“所有” 所有预测都直言。

默认情况下,如果预测数据数据在一个表,partialDependence假设变量是直言如果它是一个逻辑向量,分类向量,字符数组,字符串数组或单元阵列特征向量。如果预测数据是一个矩阵,partialDependence假设所有的预测都是连续的。识别任何其他预测分类预测,通过使用指定它们CategoricalPredictors名称-值参数。

这个论点是有效的只有当你指定一个自定义模型通过使用有趣的

例子:“CategoricalPredictors”、“所有”

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

自定义模型的输出列有趣的对部分依赖计算,使用指定的值在这个表。

价值 描述
向量的正整数

中的每个条目表示向量索引值partialDependence使用相应的输出列部分依赖计算。索引值介于1和,在那里是输出矩阵的列数返回的自定义模型有趣的

逻辑向量

一个真正的条目意味着partialDependence使用相应的输出列部分依赖计算。向量的长度

“所有” partialDependence使用所有输出列的部分依赖计算。

这个论点是有效的只有当你指定一个自定义模型通过使用有趣的

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

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

输出参数

全部折叠

部分依赖的价值观,作为数字数组返回。

的维数pd取决于类型的模型(回归、分类或自定义)中指定的变量数量var,中指定的类的数量标签(分类模型只)和中指定的列数OutputColumns(自定义模型只)。

回归模型(RegressionMdl),适用下列条件:

  • 如果指定两个变量var,pd是一个numY——- - - - - -numX矩阵,numYnumX查询点的数量的第二和第一个变量var,分别。的价值pd (i, j)是部分依赖查询点对应的价值吗y(我)x(j)y(我)th查询第二个预测变量,和x(j)j查询的第一个预测变量。

  • 如果您指定一个变量var,pd是一个1——- - - - - -numX向量。

分类模型(ClassificationMdl),适用下列条件:

  • 如果指定两个变量var,pd是一个全国矿工工会——- - - - - -numY——- - - - - -numX数组,全国矿工工会类标签的数量吗标签。的价值pd (i, j, k)查询点的部分依赖价值吗y(j)x(k)th类标签标签

  • 如果您指定一个变量var,pd是一个全国矿工工会——- - - - - -numX矩阵。

  • 如果您指定一个类标签,pd是一个numY——- - - - - -numX矩阵。

  • 如果你指定一个变量和一个类,pd是一个1——- - - - - -numX向量。

为一个自定义模型(有趣的),适用下列条件:

  • 如果指定两个变量var,pd是一个全国矿工工会——- - - - - -numY——- - - - - -numX数组,全国矿工工会输出列的数量吗OutputColumns。的价值pd (i, j, k)查询点的部分依赖价值吗y(j)x(k)th列OutputColumns

  • 如果您指定一个变量var,pd是一个全国矿工工会——- - - - - -numX矩阵。

  • 如果你指定一个列OutputColumns,pd是一个numY——- - - - - -numX矩阵。

  • 如果你指定一个变量和一列,pd是一个1——- - - - - -numX向量。

查询点的第一个预测变量var,返回一个数值或分类列向量。

如果预测变量的数值,那么您可以指定查询点使用QueryPoints名称-值参数。

数据类型:||分类

查询点的第二个预测变量var,返回一个数值或分类列向量。这个输出参数是空的([])如果你仅指定一个变量var

如果预测变量的数值,那么您可以指定查询点使用QueryPoints名称-值参数。

数据类型:||分类

更多关于

全部折叠

回归模型的部分依赖

部分依赖[1]代表之间的关系预测变量和预测反应在一个训练有素的回归模型。partialDependence计算预测反应的部分依赖于预测变量的子集在其他变量被边缘化。

考虑部分的一个子集的依赖X年代整个预测变量的集合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在反应不强,partialDependence估计部分依赖通过观察预测数据如下:

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

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

当你打电话给partialDependence功能,您可以指定一个训练有素的模型(f (·)),并选择变量(X年代通过使用输入参数)RegressionMdlvar,分别。partialDependence计算部分依赖于100的均匀间隔的点X年代或您指定的点使用QueryPoints名称-值参数。您可以指定号码(N)的观测样本给定预测数据使用NumObservationsToSample名称-值参数。

部分依赖分类模型

的分类模型,partialDependence计算部分依赖回归模型一样,但有一个例外:而不是使用的预测响应模型,预测分数的函数使用中指定的类标签

加权算法遍历

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

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

袋装的合奏树木,估计部分依赖平均单个树的加权平均。

算法

对回归模型(RegressionMdl)和一个分类模型(ClassificationMdl),partialDependence使用一个预测函数来预测反应或分数。partialDependence选择适当的预测根据模型和运行时功能预测默认设置。对每个细节预测功能,请参见预测在接下来的两个表的功能。如果指定的模型是一个基于树模型(不包括提高合奏的树木),partialDependence使用加权算法遍历而不是预测函数。有关详细信息,请参见加权算法遍历

回归模型对象

模型类型 全部或紧凑的回归模型对象 函数来预测反应
引导聚合合奏的决策树 CompactTreeBagger 预测
引导聚合合奏的决策树 TreeBagger 预测
整体的回归模型 RegressionEnsemble,RegressionBaggedEnsemble,CompactRegressionEnsemble 预测
高斯核函数回归模型使用随机特性的扩张 RegressionKernel 预测
高斯过程回归 RegressionGP,CompactRegressionGP 预测
广义加性模型 RegressionGAM,CompactRegressionGAM 预测
广义线性混合效应模型 GeneralizedLinearMixedModel 预测
广义线性模型 GeneralizedLinearModel,CompactGeneralizedLinearModel 预测
线性混合效应模型 LinearMixedModel 预测
线性回归 LinearModel,CompactLinearModel 预测
对高维数据线性回归 RegressionLinear 预测
神经网络回归模型 RegressionNeuralNetwork,CompactRegressionNeuralNetwork 预测
非线性回归 NonLinearModel 预测
回归树 RegressionTree,CompactRegressionTree 预测
万博1manbetx支持向量机 RegressionSVM,CompactRegressionSVM 预测

分类模型对象

模型类型 全部或紧凑的分类模型对象 函数来预测标签和分数
判别分析分类器 ClassificationDiscriminant,CompactClassificationDiscriminant 预测
多类支持向量机模型或其他分类器万博1manbetx ClassificationECOC,CompactClassificationECOC 预测
系综分类的学习者 ClassificationEnsemble,CompactClassificationEnsemble,ClassificationBaggedEnsemble 预测
高斯核函数分类模型使用随机特性的扩张 ClassificationKernel 预测
广义加性模型 ClassificationGAM,CompactClassificationGAM 预测
k最近的邻居模型 ClassificationKNN 预测
线性分类模型 ClassificationLinear 预测
朴素贝叶斯模型 ClassificationNaiveBayes,CompactClassificationNaiveBayes 预测
神经网络分类器 ClassificationNeuralNetwork,CompactClassificationNeuralNetwork 预测
万博1manbetx看到下面成了一和二分类支持向量机 ClassificationSVM,CompactClassificationSVM 预测
二叉决策树的多类分类 ClassificationTree,CompactClassificationTree 预测
袋装的决策树 TreeBagger,CompactTreeBagger 预测

选择功能

引用

[1]弗里德曼,杰罗姆。h .“贪婪的近似函数:一个梯度增加机器”。统计年报29日,没有。5 (2001):1189 - 1232。

[2]Hastie,特雷弗,罗伯特•Tibshirani和杰罗姆·弗里德曼。统计学习的元素。纽约纽约,纽约州:施普林格,2009年。

扩展功能

版本历史

介绍了R2020b

全部展开