主要内容

partialDependence

计算部分依赖

描述

例子

PD.=部分依存(RegressionMdlvars.计算部分相关PD.所列预测变量之间vars.以及用回归模型预测的响应RegressionMdl,其中包含预测数据。

例子

PD.=部分依存(ClassificationMdlvars.标签计算部分相关PD.所列预测变量之间vars.以及所指定的类别的分数标签通过使用分类模型ClassificationMdl,其中包含预测数据。

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

例子

PD.=部分依存(___名称,值使用一个或多个名称值对参数指定的其他选项。例如,如果您指定“UseParallel”,“真正的”,partialDependence函数使用并行计算执行部分依赖关系计算。

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

例子

全部收缩

用。训练朴素贝叶斯分类模型fisheriris数据集,以及计算部分依赖性值,其显示了预测器变量与预测分数之间的关系,以及多个类别的关系。

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

加载fisheriris

培训一个天真的贝叶斯分类模型物种作为回应和作为预测因素。

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

计算被预测分数的第三个预测变量(花瓣长度)的部分依赖值MDL.所有的三个类物种.属性指定类标签一会财产MDL.

[Pd,x] = PartialDependence(MDL,3,MDL.Classnames);

PD包含查询点x的部分依赖值。您可以通过使用绘图功能(如)绘制计算的部分依赖值阴谋酒吧.阴谋PD.x通过使用酒吧函数。

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

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

根据这个模型,发生的概率virginica随着花瓣长度增加。概率setosa.约为0.33,花瓣长度从0到2.5左右,然后概率几乎为0。

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

plotPartialDependence (Mdl 3 Mdl.ClassNames)

图中包含一个坐标轴。标题为“部分相关图”的轴包含3个类型为line的对象。这些物品代表着维珍卡。

培训分类模型的集合,并在两个类的两个变量上计算部分依赖值。然后绘制每个类的部分依赖值。

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

加载census1994

从表中提取要分析的变量子集AdultData.

X = adultdata (1:50 0, {'年龄'“workClass”'教育_num''婚姻状况'“种族”......“性”“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对于这两个类(<= 50K.> 50 k).指定要抽样的观察数为100。

(pd, x, y) = partialDependence (Mdl, {'年龄''教育_num'},mdl.classnames,“NumObservationsToSample”, 100);

创建第一类的部分依赖值的表面图(<= 50K.)通过使用SURFL.函数。

图冲浪(x, y,挤压(pd(1::)))包含('年龄')ylabel('教育\ _num') zlabel ('阶级得分<= 50k')标题(“部分依赖情节”30)视图([130])%修改查看角度

图中包含一个坐标轴。标题为“部分依赖关系图”的轴包含一个类型为surface的对象。

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

图冲浪(x, y,挤压(pd(2::)))包含('年龄')ylabel('教育\ _num') zlabel (' >班成绩50K')标题(“部分依赖情节”30)视图([130])%修改查看角度

图中包含一个坐标轴。标题为“部分依赖关系图”的轴包含一个类型为surface的对象。

这两个图表明了根据类的不同部分依赖模式。

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

加载Carsmall.数据集。

加载Carsmall.

创建一个包含的表重量气瓶位移, 和马力

TBL =桌子(重量,气缸,位移,马力);

使用预测器变量列出SVM回归模型资源描述以及响应变量MPG..使用具有自动内核刻度的高斯内核功能。

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

计算预测响应的部分依赖性(MPG.)在预测器变量上重量马力.属性指定要计算部分依赖性的查询点'querypoints'名称-值对的论点。

Numpoints = 10;PTX = Linspace(min(重量),最大(重量),numpoints)';pty = linspace(min(马力),max(马力),numpoints)';(pd, x, y) = partialDependence (Mdl, {'重量'“马力”},'querypoints', (ptX企业]);

创建一个包含5x5平铺图表布局的图形。用。绘制对两个变量的部分依赖关系ImagesC.函数。然后通过使用绘制每个变量的直方图柱状图函数。指定直方图的边缘,以便直方图条的中心与查询点对齐。更改坐标轴属性以对齐绘图的坐标轴。

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 = NELTTILE(1,[4,1]);dy = diff(pty(1:2));eddy = [pty-dy / 2; pty(end)+ dy];直方图(马力,eddy)Xlabel(“马力”) xlim (ax1.YLim);ax3。XDir =“反向”;Camroll(-90)

图包含3个轴。具有标题部分依赖性图的轴1包含类型图像的对象。轴2包含类型直方图的对象。轴3包含类型直方图的对象。

的每个元素PD.指定图像图的一个像素的颜色。与图像轴对齐的直方图显示了预测器的分布。

输入参数

全部收缩

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

模型 完整或紧凑模型对象
广义线性模型 GeneralizedLinearModel.CompactGeneralizedLinearModel
广义线性混合效应模型 GeneralizedLinearMixedModel
线性回归 LinearModelCompactLinearModel
线性混合效应模型 linearmixedmodel.
非线性回归 NonLinearModel
回归模型集合 回归回归释迦缩短CompactRegressionEnsemble
广义可加模型 RegressionGAMCompactRegressionGAM
高斯过程回归 RegressionGPCompactregressionGP.
高斯核回归模型采用随机特征展开 RegressionKernel
线性回归用于高维数据 回归线性
神经网络回归模型 RegressionNeuralNetworkCompactRegressionNeuralNetwork
万博1manbetx支持向量机回归 RegressionSVMCompactRegressionSVM
回归树 RegressionTreeCompactregressiontree.
决策树集成的自举聚合 treebaggerCompactTreeBagger

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

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

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

模型 完整或紧凑模型对象
判别分析分类器 分类Discriminant.CompactClassificationDiscriminant.
支持向量机或其他分类器的多类模型万博1manbetx Classifiedecoc.CompactClassificeCoc.
学习者的集体融合 ClassificationEnsembleCompactClassificationEnsembleClassificationBaggedEnsemble
广义可加模型 ClassificationGAMCompactClassificationGAM
高斯内核分类模型使用随机特征扩展 ClassificationKernel
k- 最终邻居分类器 ClassificationKnn.
线性分类模型 分类线性
多类朴素贝叶斯模型 ClassificationNaiveBayesCompactClassificaNiveBayes.
神经网络分类器 ClassificationneuralKetwork.CompactClassificationneAuralKetwork.
万博1manbetx支持向量机(SVM)分类器,用于单级和二进制分类 ClassificationSVMCompactClassificationSVM
用于多类分类的二叉决策树 ClassificationTreeCompactClassificationTree.
袋装决策树的合奏 treebaggerCompactTreeBagger

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

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

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

一个预测变量

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

预测器变量的名称。名称必须与条目匹配RegressionMdl。PredictorNames或者ClassificationMdl。PredictorNames

两个预测变量

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

预测变量的名称。数组中的每个元素是预测器变量的名称。名称必须与条目匹配RegressionMdl。PredictorNames或者ClassificationMdl。PredictorNames

例子:{'x1','x3'}

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

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

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

此参数仅在何时有效ClassificationMdl是一个分类模型对象。

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

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

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

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

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

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

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

  • partialDependence不支持稀疏矩阵。万博1manbetx

如果RegressionMdl或者ClassificationMdl您是否必须提供不包含预测器数据的模型对象数据.如果该模型是包含预测器数据的完整模型对象,请指定此参数,然后partialDependence不使用预测数据的模型和使用数据只有。

数据类型:||桌子

名称-值对的观点

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

例子:partialDependence (Mdl、var、数据“NumObservationsToSample”,100年,“UseParallel”,真的)用中100个采样观测值计算偏相关值数据和执行为了- 并行迭代。

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

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

例子:'internalidantaction',false

数据类型:逻辑

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

例子:“IncludeIntercept”,假的

数据类型:逻辑

样本的观察次数,指定为正整数。默认值是总观察的数量数据或模型(RegressionMdl或者ClassificationMdl).如果您指定大于总观察的数量的值,那么partialDependence使用所有观察。

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

例子:'numobservationstosample',100

数据类型:|

指定为数字列向量,数字两列矩阵或两个数字列向量的单元阵列的数字依赖性指定的部分依赖。

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

  • 如果选择两个预测变量vars.

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

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

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

您不能修改'querypoints'对于一个分类变量。的partialDependence函数使用所选变量中的所有分类值。

如果选择一个数字变量和一个分类变量,则可以指定'querypoints'通过使用由数字列向量和空阵列组成的小区数组来表示数字变量。

例子:QueryPoints, {pt, []}

数据类型:||细胞

标志以并行运行,指定为真的或者错误的.如果您指定'使用反应',真实,partialDependence函数执行为了- 通过使用并行迭代parfor当预测每个观察结果并平均它们时的响应或分数。此选项需要并行计算工具箱™。

例子:'使用反应',真实

数据类型:逻辑

输出参数

全部收缩

部分依赖值,作为numx.——- - - - - -数量数值矩阵(用于回归模型)或numLabels——- - - - - -numx.——- - - - - -数量数字数组(用于分类模型)。numx.数量第一个和第二个变量的查询点的数量在吗vars.,分别。numLabels类标签的数量在吗标签

价值PD(I,J,K)查询点的部分依赖值是多少x(j)y(k)类标签。x(j)是个j第一个预测变量的查询点,和y(k)是个k第二个预测变量的第一个查询点。

第一个预测器变量的查询点vars.,作为数字或类别列向量返回。

如果预测器变量是数字的,则可以使用'querypoints'名称-值对的论点。

数据类型:||分类

查询点的第二个预测变量vars.,作为数字或类别列向量返回。

如果预测器变量是数字的,则可以使用'querypoints'名称-值对的论点。

数据类型:||分类

更多关于

全部收缩

回归模型的偏依赖

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

考虑对子集的部分依赖X年代整个预测变量集X= {x1x2,......,x.一个子集X年代包括一个或两个变量:X年代= {xS1或者X年代= {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在反应不强烈时,partialDependence利用观测到的预测数据估计部分依赖关系如下:

f 年代 X 年代 1 N σ. 1 N f X 年代 X C (1)

在哪里N是观察人数和X= (X年代XC是个观察。

当你打电话的时候partialDependence函数,您可以指定经过训练的模型(F(·))和选择变量(X年代),使用输入参数RegressionMdlvars.,分别。partialDependence计算100个均匀间隔点的部分依赖X年代或者你用'querypoints'名称-值对的论点。你可以指定号码(N)通过使用通过给定的预测仪数据来样的观察“NumObservationsToSample”名称-值对的论点。

部分依赖分类模型

在分类模型中,partialDependence以与回归模型的方式相同的方式计算部分依赖性,其中一个例外:而不是使用从模型中的预测响应,而是使用预测的分数用于指定的类标签

加权算法遍历

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

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

对于袋装树的集合,估计的部分依赖性是各种树木的加权平均值的平均值。

算法

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

回归模型对象

模型类型 完整或紧凑的回归模型对象 预测反应功能
决策树集成的自举聚合 CompactTreeBagger 预测
决策树集成的自举聚合 treebagger 预测
回归模型集合 回归回归释迦缩短CompactRegressionEnsemble 预测
高斯核回归模型采用随机特征展开 RegressionKernel 预测
高斯过程回归 RegressionGPCompactregressionGP. 预测
广义添加剂模型 RegressionGAMCompactRegressionGAM 预测
广义线性混合效应模型 GeneralizedLinearMixedModel 预测
广义线性模型 GeneralizedLinearModel.CompactGeneralizedLinearModel 预测
线性混合效应模型 linearmixedmodel. 预测
线性回归 LinearModelCompactLinearModel 预测
线性回归用于高维数据 回归线性 预测
神经网络回归模型 RegressionNeuralNetworkCompactRegressionNeuralNetwork 预测
非线性回归 NonLinearModel 预测
回归树 RegressionTreeCompactregressiontree. 预测
万博1manbetx支持矢量机器 RegressionSVMCompactRegressionSVM 预测

分类模型对象

模型类型 完整或紧凑分类模型对象 预测标签和分数的功能
判别分析分类器 分类Discriminant.CompactClassificationDiscriminant. 预测
支持向量机或其他分类器的多类模型万博1manbetx Classifiedecoc.CompactClassificeCoc. 预测
学习者的集体融合 ClassificationEnsembleCompactClassificationEnsembleClassificationBaggedEnsemble 预测
高斯内核分类模型使用随机特征扩展 ClassificationKernel 预测
广义添加剂模型 ClassificationGAMCompactClassificationGAM 预测
k最近的邻居模型 ClassificationKnn. 预测
线性分类模型 分类线性 预测
朴素贝叶斯模型 ClassificationNaiveBayesCompactClassificaNiveBayes. 预测
神经网络分类器 ClassificationneuralKetwork.CompactClassificationneAuralKetwork. 预测
万博1manbetx支持向量机的一类和二值分类 ClassificationSVMCompactClassificationSVM 预测
用于多类分类的二叉决策树 ClassificationTreeCompactClassificationTree. 预测
袋装决策树的合奏 treebaggerCompactTreeBagger 预测

替代功能

参考文献

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

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

扩展功能

在R2020B中介绍