plotLocalEffects
绘制广义加性模型(GAM)中术语的局部效应
描述
plotLocalEffects (
创建一个柱状图,显示广义相加模型中术语的局部效应Mdl
,queryPoint
)Mdl
在指定查询点的预测上queryPoint
.
plotLocalEffects (
使用一个或多个名称-值参数指定其他选项。例如,Mdl
,queryPoint
,名称,值
)“IncludeIntercept”,真的
指定在柱状图中包含拦截项。
例子
情节当地的影响
训练一个单变量广义加性分类模型,该模型包含预测因子的线性项。使用内存高效模型对象对新观察结果进行分类。方法解释指定数据实例的预测plotLocalEffects
函数。
加载电离层
数据集。该数据集有34个预测器和351个雷达返回二进制响应,坏的(“b”
)或好(‘g’
).
负载电离层
训练一个单变量GAM来识别雷达返回是否坏(“b”
)或好(‘g’
).
Mdl = fitcgam (X, Y);
Mdl
是一个ClassificationGAM
模型对象。
通过减小经过训练的模型的大小来保存内存。
CMdl =紧凑(Mdl);
对训练数据的第一次观察结果进行分类,并在图中绘制术语的局部效应Mdl
在预测。
标签=预测(CMdl X (1,:))
标签=1 x1单元阵列{' g '}
: plotLocalEffects (CMdl X (1))
的预测
函数对第一个观察结果进行分类X (1:)
作为‘g’
.的plotLocalEffects
函数创建一个水平柱状图,显示10个最重要的术语对预测的局部影响。每个局部效应值显示了每个术语对分类分数的贡献‘g’
,即分类的后验概率的logit‘g’
的观察。
比较GAMs中的局部效应
训练一个GAM的二元分类与线性和相互作用项的预测。使用模型中的线性项和交互项创建局部效应图,然后仅使用模型中的线性项创建一个图。指定在创建局部效果图时是否包含交互术语。
加载电离层
数据集。该数据集有34个预测器和351个雷达返回二进制响应,坏的(“b”
)或好(‘g’
).
负载电离层
使用预测器训练GAMX
和类标签Y
.推荐的做法是指定类名。指定包含10个最重要的交互术语。
Mdl = fitcgam (X, Y,“类名”, {“b”,‘g’},“互动”10);
Mdl
是一个ClassificationGAM
模型对象。
为第10次观测创建局部效应图。同时使用线性和相互作用的术语Mdl
对于第一个图,只使用线性项Mdl
对于第二个情节。要排除交互术语,请指定“IncludeInteractions”,假的
.
t = tiledlayout (2, 1);标题(t)“第十次观测的地方影响图”nexttile plotLocalEffects(Mdl,X(10,:)) title('带有线性和交互项的GAM '(Mdl) nexttile plotLocalEffects X (10:)“IncludeInteractions”、假)标题(“只有线性项的GAM”)
图中显示了10个最重要的术语。两个图都包含9个常见术语和1个不常见术语。第一个图包括交互项x1
和x5
,而第二个图包括的线性项x14英寸
.
在局部效应图中包含拦截项
训练一个单变量GAM用于回归,其中包含线性项作为预测因子。方法解释指定数据实例的预测plotLocalEffects
函数。
加载数据集NYCHousing2015
.
负载NYCHousing2015
该数据集包括10个变量,包含2015年纽约市房产销售的信息。这个例子使用这些变量来分析销售价格(SALEPRICE
).
对数据集进行预处理。移除异常值,转换为datetime
阵列(SALEDATE
)到月份编号,并移动响应变量(SALEPRICE
)到最后一栏。
idx = isoutlier (NYCHousing2015.SALEPRICE);NYCHousing2015 (idx:) = [];NYCHousing2015。SALEDATE=month(NYCHousing2015.SALEDATE); NYCHousing2015 = movevars(NYCHousing2015,“SALEPRICE”,“后”,“SALEDATE”);
显示表的前三行。
头(NYCHousing2015, 3)
区附近BUILDINGCLASSCATEGORY RESIDENTIALUNITS COMMERCIALUNITS LANDSQUAREFEET GROSSSQUAREFEET YEARBUILT SALEDATE SALEPRICE _______ ____________ ____________________________ ________________ _______________ ______________ _______________ _________ ________ _________ 2{‘BATHGATE}{01一个家庭住宅的}1 0 4750 2619 1899 8 0 2{‘BATHGATE}{01一个家庭住宅的}1 0 4750 2619 1899 8 0 2{‘BATHGATE}{01一个家庭住宅的}1 1 1287 2528 1899 12 0
训练销售价格的单变量GAM。指定以下变量区
,社区
,BUILDINGCLASSCATEGORY
,SALEDATE
分类预测。
Mdl = fitrgam (NYCHousing2015,“SALEPRICE”,“CategoricalPredictors”,[1 2 3 9]);
Mdl
是一个RegressionGAM
模型对象。
的估计截距(常数)项Mdl
.
Mdl。拦截
ans = 3.7518 e + 05
如果训练数据不包含,则拦截项值接近回归GAM中响应变量的平均值南
值。计算响应变量的平均值。
意思是(NYCHousing2015.SALEPRICE)
ans = 3.7518 e + 05
预测第一次观察到的培训数据的销售价格,并在图中绘制条件的局部影响Mdl
在预测。指定“IncludeIntercept”,真的
将截距项包含在图中。
yFit =预测(Mdl NYCHousing2015 (1,:))
yFit = 4.4421 e + 05
plotLocalEffects (Mdl NYCHousing2015 (1:)“IncludeIntercept”,真正的)
的预测
函数预测第一次观察的销售价格为4.4421 e5
.的plotLocalEffects
函数创建一个水平柱状图,其中显示术语的局部效果Mdl
在预测。每个局部效应值显示了每一项对预测销售价格的贡献。
输入参数
Mdl
- - - - - -广义加性模型
ClassificationGAM
模型对象|CompactClassificationGAM
模型对象|RegressionGAM
模型对象|CompactRegressionGAM
模型对象
广义加性模型,指定为ClassificationGAM
,CompactClassificationGAM
,RegressionGAM
,或CompactRegressionGAM
模型对象。
queryPoint
- - - - - -查询点
数值的行向量|单列表
查询点。plotLocalEffects
绘制局部效果,指定为数值的行向量或单行表。
对于数值的行向量:
组成列的变量
queryPoint
必须与训练的预测变量的顺序相同Mdl
.如果你训练
Mdl
使用一个表(例如,资源描述
),然后queryPoint
可以是一个数值矩阵如果资源描述
包含所有数值变量。
对于单行表:
如果你训练
Mdl
使用一个表(例如,资源描述
),则所有预测变量均为queryPoint
必须具有与中相同的变量名和数据类型资源描述
.的列顺序queryPoint
是否需要对应列的顺序资源描述
.如果你训练
Mdl
使用一个数字矩阵,然后预测器名称在Mdl。PredictorNames
和对应的预测变量名queryPoint
一定是一样的。要在训练期间指定预测器名称,请使用“PredictorNames”
名称-值参数。的所有预测变量queryPoint
必须是数字向量。queryPoint
可以包含其他变量(响应变量、观察权重等),但是plotLocalEffects
忽略了它们。plotLocalEffects
除了字符向量的单元格数组外,不支持多列变量或单元格数组。
数据类型:单
|双
|表格
名称-值参数
指定可选参数对为Name1 = Value1,…,以=家
,在那里的名字
参数名称和价值
对应的值。名-值参数必须出现在其他参数之后,但对的顺序并不重要。
在R2021a之前,名称和值之间用逗号隔开,并括起来的名字
在报价。
例子:plotLocalEffects (Mdl、queryPoint IncludeInteractions,假的,‘NumTerms’,5)
指定创建一个条形图,其中包含用于预测器的五个最重要的线性项Mdl
排除相互作用项Mdl
.
IncludeInteractions
- - - - - -标记以包含交互术语
真正的
|假
标记,以在图中包含模型的交互术语,指定为真正的
或假
.
默认的“IncludeInteractions”
值是真正的
如果Mdl
包含交互方面。取值必须为假
如果模型不包含交互项。
例子:“IncludeInteractions”,假的
数据类型:逻辑
IncludeIntercept
- - - - - -标志以包含拦截术语
假
(默认)|真正的
标志,以在图中包含模型的拦截项,指定为真正的
或假
.
例子:“IncludeIntercept”,真的
数据类型:逻辑
NumTerms
- - - - - -要绘制的项数
分钟(M, 10)
在哪里米
项的个数在吗Mdl
(默认)|正整数标量
要绘制的项数,指定为正整数标量。plotLocalEffects
绘制具有最高绝对局部效应值的指定数量的项。
例子:“NumTerms”,5
指定绘制五个最重要的项。plotLocalEffects
使用绝对局部效应值确定重要性的顺序。
数据类型:单
|双
版本历史
介绍了R2021a
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。
您也可以从以下列表中选择网站:
如何获得最佳的网站性能
选择中国网站(中文或英文)以获得最佳的网站表现。其他MathWorks国家网站没有针对从您的位置访问进行优化。