fitrgamgydF4y2Ba
拟合广义加性模型(GAM)进行回归gydF4y2Ba
语法gydF4y2Ba
描述gydF4y2Ba
返回一个gydF4y2Ba广义加性模型gydF4y2BaMdlgydF4y2Ba
= fitrgam (gydF4y2Ba资源描述gydF4y2Ba
,gydF4y2BaResponseVarNamegydF4y2Ba
)gydF4y2BaMdlgydF4y2Ba
使用表中包含的示例数据进行训练gydF4y2Ba资源描述gydF4y2Ba
.输入参数gydF4y2BaResponseVarNamegydF4y2Ba
变量名在吗gydF4y2Ba资源描述gydF4y2Ba
其中包含回归的响应值。gydF4y2Ba
使用模型规范参数gydF4y2BaMdlgydF4y2Ba
= fitrgam (gydF4y2Ba资源描述gydF4y2Ba
,gydF4y2Ba公式gydF4y2Ba
)gydF4y2Ba公式gydF4y2Ba
中指定响应变量和预测变量gydF4y2Ba资源描述gydF4y2Ba
.可以指定预测器变量的子集和预测器变量的交互项gydF4y2Ba公式gydF4y2Ba
.gydF4y2Ba
使用表中的预测变量gydF4y2BaMdlgydF4y2Ba
= fitrgam (gydF4y2Ba资源描述gydF4y2Ba
,gydF4y2BaYgydF4y2Ba
)gydF4y2Ba资源描述gydF4y2Ba
和向量中的响应值gydF4y2BaYgydF4y2Ba
.gydF4y2Ba
使用矩阵中的预测器gydF4y2BaMdlgydF4y2Ba
= fitrgam (gydF4y2BaXgydF4y2Ba
,gydF4y2BaYgydF4y2Ba
)gydF4y2BaXgydF4y2Ba
和向量中的响应值gydF4y2BaYgydF4y2Ba
.gydF4y2Ba
除前面语法中的任何输入参数组合外,还使用一个或多个名称-值参数指定选项。例如,gydF4y2BaMdlgydF4y2Ba
= fitrgam (gydF4y2Ba___gydF4y2Ba,gydF4y2Ba名称,值gydF4y2Ba
)gydF4y2Ba“互动”,5gydF4y2Ba
指定在模型中包含五个交互项。属性指定交互术语列表gydF4y2Ba“互动”gydF4y2Ba
名称-值参数。gydF4y2Ba
例子gydF4y2Ba
训练广义加性模型gydF4y2Ba
训练一个单变量GAM,其中包含预测因子的线性项。方法解释指定数据实例的预测gydF4y2BaplotLocalEffectsgydF4y2Ba
函数。gydF4y2Ba
加载数据集gydF4y2BaNYCHousing2015gydF4y2Ba
.gydF4y2Ba
负载gydF4y2BaNYCHousing2015gydF4y2Ba
该数据集包括10个变量,其中包含2015年纽约市房产销售信息。本例使用这些变量来分析销售价格(gydF4y2BaSALEPRICEgydF4y2Ba
).gydF4y2Ba
预处理数据集。删除异常值,转换gydF4y2BadatetimegydF4y2Ba
阵列(gydF4y2BaSALEDATEgydF4y2Ba
)到月份数字,并移动响应变量(gydF4y2BaSALEPRICEgydF4y2Ba
)到最后一列。gydF4y2Ba
idx = isoutlier(nychousing2015 . salesprice);NYCHousing2015(idx,:) = [];NYCHousing2015。SALEDATE=month(NYCHousing2015.SALEDATE); NYCHousing2015 = movevars(NYCHousing2015,“SALEPRICE”gydF4y2Ba,gydF4y2Ba“后”gydF4y2Ba,gydF4y2Ba“SALEDATE”gydF4y2Ba);gydF4y2Ba
显示表的前三行。gydF4y2Ba
头(NYCHousing2015, 3)gydF4y2Ba
区附近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 0gydF4y2Ba
为销售价格训练一个单变量GAM。为gydF4y2Ba区gydF4y2Ba
,gydF4y2Ba社区gydF4y2Ba
,gydF4y2BaBUILDINGCLASSCATEGORYgydF4y2Ba
,gydF4y2BaSALEDATEgydF4y2Ba
作为分类预测因子。gydF4y2Ba
Mdl = fitrgam(NYCHousing2015;gydF4y2Ba“SALEPRICE”gydF4y2Ba,gydF4y2Ba“CategoricalPredictors”gydF4y2Ba,[1 2 3 9])gydF4y2Ba
Mdl = RegressionGAM PredictorNames: {1x9 cell} ResponseName: 'SALEPRICE'分类预测器:[1 2 3 9]ResponseTransform: 'none'拦截:3.7518e+05 IsStandardDeviationFit: 0 NumObservations: 83517属性,方法gydF4y2Ba
MdlgydF4y2Ba
是一个gydF4y2BaRegressionGAMgydF4y2Ba
模型对象。模型显示显示模型属性的部分列表。若要查看完整的属性列表,请双击变量名gydF4y2BaMdlgydF4y2Ba
在工作区中。打开变量编辑器gydF4y2BaMdlgydF4y2Ba
.或者,您可以使用点表示法在命令窗口中显示属性。例如,显示的估计截距(常数)项gydF4y2BaMdlgydF4y2Ba
.gydF4y2Ba
Mdl。拦截gydF4y2Ba
Ans = 3.7518e+05gydF4y2Ba
预测销售价格的第一个观察的训练数据,并绘制局部效应的条款gydF4y2BaMdlgydF4y2Ba
关于预测。gydF4y2Ba
yFit = predict(Mdl,NYCHousing2015(1,:)))gydF4y2Ba
yFit = 4.4421e+05gydF4y2Ba
: plotLocalEffects (Mdl NYCHousing2015 (1))gydF4y2Ba
的gydF4y2Ba预测gydF4y2Ba
函数预测第一个观测值的销售价格为gydF4y2Ba4.4421 e5gydF4y2Ba
.的gydF4y2BaplotLocalEffectsgydF4y2Ba
函数创建一个水平柱状图,显示项的局部效果gydF4y2BaMdlgydF4y2Ba
关于预测。每个局部效应值表示每一项对预测销售价格的贡献。gydF4y2Ba
用交互术语训练GAMgydF4y2Ba
用三种不同的方式训练一个包含预测因子线性和交互项的广义加法模型:gydF4y2Ba
属性指定交互术语gydF4y2Ba
公式gydF4y2Ba
输入参数。gydF4y2Ba指定gydF4y2Ba
“互动”gydF4y2Ba
名称-值参数。gydF4y2Ba方法先用线性项构建模型,并向模型中添加交互项gydF4y2Ba
addInteractionsgydF4y2Ba
函数。gydF4y2Ba
加载gydF4y2BacarbiggydF4y2Ba
数据集,其中包含20世纪70年代和80年代初生产的汽车的测量数据。gydF4y2Ba
负载gydF4y2BacarbiggydF4y2Ba
创建一个包含预测变量的表(gydF4y2Ba加速度gydF4y2Ba
,gydF4y2Ba位移gydF4y2Ba
,gydF4y2Ba马力gydF4y2Ba
,gydF4y2Ba重量gydF4y2Ba
)和响应变量(gydF4y2Ba英里/加仑gydF4y2Ba
).gydF4y2Ba
tbl = table(加速度,排量,马力,重量,MPG);gydF4y2Ba
指定gydF4y2Ba公式gydF4y2Ba
训练包含四个线性项的GAM (gydF4y2Ba加速度gydF4y2Ba
,gydF4y2Ba位移gydF4y2Ba
,gydF4y2Ba马力gydF4y2Ba
,gydF4y2Ba重量gydF4y2Ba
)和两个交互项(gydF4y2Ba*位移加速度gydF4y2Ba
而且gydF4y2Ba位移*马力gydF4y2Ba
).使用表单中的公式指定术语gydF4y2Ba“Y ~项”gydF4y2Ba
.gydF4y2Ba
Mdl1 = fitrgam(tbl,gydF4y2BaMPG ~加速度+排量+马力+重量+加速度:排量+排量:马力gydF4y2Ba);gydF4y2Ba
该函数按照重要性的顺序将交互项添加到模型中。您可以使用gydF4y2Ba的相互作用gydF4y2Ba
属性检查模型中的交互项及其顺序gydF4y2BafitrgamgydF4y2Ba
将它们添加到模型中。显示gydF4y2Ba的相互作用gydF4y2Ba
财产。gydF4y2Ba
Mdl1。的相互作用gydF4y2Ba
ans =gydF4y2Ba2×2gydF4y2Ba2 3 1 2gydF4y2Ba
每行gydF4y2Ba的相互作用gydF4y2Ba
表示一个交互项,并包含该交互项的预测变量的列索引。gydF4y2Ba
指定gydF4y2Ba“互动”gydF4y2Ba
传递培训数据(gydF4y2Ba资源描述gydF4y2Ba
)和响应变量的名称gydF4y2Ba资源描述gydF4y2Ba
来gydF4y2BafitrgamgydF4y2Ba
,使函数包含所有其他变量的线性项作为预测因子。指定gydF4y2Ba“互动”gydF4y2Ba
使用逻辑矩阵来包含两个交互项的名称-值参数,gydF4y2Bax1 * x2gydF4y2Ba
而且gydF4y2Bax2 * x3gydF4y2Ba
.gydF4y2Ba
Mdl2 = fitrgam(tbl,gydF4y2Ba“英里”gydF4y2Ba,gydF4y2Ba“互动”gydF4y2Ba,逻辑([1 1 0 0;0 1 1 0]));Mdl2。的相互作用gydF4y2Ba
ans =gydF4y2Ba2×2gydF4y2Ba2 3 1 2gydF4y2Ba
你也可以指定gydF4y2Ba“互动”gydF4y2Ba
作为相互作用项的数量或gydF4y2Ba“所有”gydF4y2Ba
包括所有可用的交互术语。在指定的交互条件中,gydF4y2BafitrgamgydF4y2Ba
识别那些gydF4y2BapgydF4y2Ba-values不大于gydF4y2Ba“MaxPValue”gydF4y2Ba
值并将它们添加到模型中。默认的gydF4y2Ba“MaxPValue”gydF4y2Ba
为1,以便函数将所有指定的交互项添加到模型中。gydF4y2Ba
指定gydF4y2Ba“互动”、“所有”gydF4y2Ba
并设置gydF4y2Ba“MaxPValue”gydF4y2Ba
名称-值参数为0.05。gydF4y2Ba
(tbl;gydF4y2Ba“英里”gydF4y2Ba,gydF4y2Ba“互动”gydF4y2Ba,gydF4y2Ba“所有”gydF4y2Ba,gydF4y2Ba“MaxPValue”gydF4y2Ba, 0.05);gydF4y2Ba
警告:模型不包括交互项,因为所有交互项的p值都大于“MaxPValue”值,或者软件无法改善模型拟合。gydF4y2Ba
Mdl3。的相互作用gydF4y2Ba
Ans = 0x2空双矩阵gydF4y2Ba
Mdl3gydF4y2Ba
不包括交互术语,这意味着以下之一:所有交互术语都有gydF4y2BapgydF4y2Ba-values大于0.05,或添加交互项并不能改善模型拟合。gydF4y2Ba
使用gydF4y2BaaddInteractionsgydF4y2Ba
函数gydF4y2Ba
训练一个包含预测因子线性项的单变量GAM,然后使用gydF4y2BaaddInteractionsgydF4y2Ba
函数。指定的第二个输入参数gydF4y2BaaddInteractionsgydF4y2Ba
以同样的方式指定gydF4y2Ba“互动”gydF4y2Ba
的名称-值参数gydF4y2BafitrgamgydF4y2Ba
.您可以使用逻辑矩阵指定交互术语的列表、交互术语的数量或gydF4y2Ba“所有”gydF4y2Ba
.gydF4y2Ba
指定交互项的数量为3,将三个最重要的交互项添加到训练的模型中。gydF4y2Ba
Mdl4 = fitrgam(tbl,gydF4y2Ba“英里”gydF4y2Ba);UpdatedMdl4 = addInteractions(Mdl4,3);UpdatedMdl4。的相互作用gydF4y2Ba
ans =gydF4y2Ba3×2gydF4y2Ba2 3 1 2 3 4gydF4y2Ba
Mdl4gydF4y2Ba
是单变量GAM,和gydF4y2BaUpdatedMdl4gydF4y2Ba
是一个更新的GAM,包含了所有的条款gydF4y2BaMdl4gydF4y2Ba
还有三个额外的相互作用项。gydF4y2Ba
创建交叉验证的GAM使用gydF4y2BafitrgamgydF4y2Ba
使用10次折叠训练交叉验证的GAM,这是默认的交叉验证选项gydF4y2BafitrgamgydF4y2Ba
.然后,用gydF4y2BakfoldPredictgydF4y2Ba
使用在训练折叠观测上训练的模型来预测验证折叠观测的响应。gydF4y2Ba
加载gydF4y2BacarbiggydF4y2Ba
数据集,其中包含20世纪70年代和80年代初生产的汽车的测量数据。gydF4y2Ba
负载gydF4y2BacarbiggydF4y2Ba
创建一个包含预测变量的表(gydF4y2Ba加速度gydF4y2Ba
,gydF4y2Ba位移gydF4y2Ba
,gydF4y2Ba马力gydF4y2Ba
,gydF4y2Ba重量gydF4y2Ba
)和响应变量(gydF4y2Ba英里/加仑gydF4y2Ba
).gydF4y2Ba
tbl = table(加速度,排量,马力,重量,MPG);gydF4y2Ba
使用默认的交叉验证选项创建一个交叉验证的GAM。指定gydF4y2Ba“CrossVal”gydF4y2Ba
名称-值参数为gydF4y2Ba“上”gydF4y2Ba
.gydF4y2Ba
rng (gydF4y2Ba“默认”gydF4y2Ba)gydF4y2Ba%用于再现性gydF4y2BaCVMdl = fitrgam(tbl,gydF4y2Ba“英里”gydF4y2Ba,gydF4y2Ba“CrossVal”gydF4y2Ba,gydF4y2Ba“上”gydF4y2Ba)gydF4y2Ba
CVMdl = RegressionPartitionedGAM CrossValidatedModel: 'GAM' PredictorNames: {1x4 cell} ResponseName: 'MPG' NumObservations: 398 KFold: 10 Partition: [1x1 cvpartition] NumTrainedPerFold: [1x1 struct] ResponseTransform: 'none' IsStandardDeviationFit: 0 Properties, MethodsgydF4y2Ba
的gydF4y2BafitrgamgydF4y2Ba
函数创建gydF4y2BaRegressionPartitionedGAMgydF4y2Ba
模型对象gydF4y2BaCVMdlgydF4y2Ba
10次折叠。在交叉验证期间,软件完成以下步骤:gydF4y2Ba
将数据随机划分为10组。gydF4y2Ba
对于每个集合,保留该集合作为验证数据,并使用其他9个集合训练模型。gydF4y2Ba
的10个紧凑的、训练过的模型a存储在一个10 × 1的单元格向量中gydF4y2Ba
训练有素的gydF4y2Ba
交叉验证模型对象的属性gydF4y2BaRegressionPartitionedGAMgydF4y2Ba
.gydF4y2Ba
属性可以覆盖默认的交叉验证设置gydF4y2Ba“CVPartition”gydF4y2Ba
,gydF4y2Ba“坚持”gydF4y2Ba
,gydF4y2Ba“KFold”gydF4y2Ba
,或gydF4y2Ba“Leaveout”gydF4y2Ba
名称-值参数。gydF4y2Ba
预测中观测结果的响应gydF4y2Ba资源描述gydF4y2Ba
通过使用gydF4y2BakfoldPredictgydF4y2Ba
.该函数使用在没有该观察的情况下训练的模型预测每个观察的响应。gydF4y2Ba
yHat = kfoldPredict(CVMdl);gydF4y2Ba
yHatgydF4y2Ba
是数值向量。显示前五个预测反应。gydF4y2Ba
yHat (1:5)gydF4y2Ba
ans =gydF4y2Ba5×1gydF4y2Ba19.4848 15.7203 15.5742 15.3185 17.8223gydF4y2Ba
计算回归损失(均方误差)。gydF4y2Ba
L = kfoldLoss(cvdl)gydF4y2Ba
L = 17.7248gydF4y2Ba
kfoldLossgydF4y2Ba
返回10次折叠的平均均方误差。gydF4y2Ba
优化GAM使用gydF4y2BaOptimizeHyperparametersgydF4y2Ba
方法优化与交叉验证相关的GAM的超参数gydF4y2BaOptimizeHyperparametersgydF4y2Ba名称-值参数。gydF4y2Ba
加载gydF4y2BacarbiggydF4y2Ba
数据集,其中包含20世纪70年代和80年代初生产的汽车的测量数据。gydF4y2Ba
负载gydF4y2BacarbiggydF4y2Ba
指定gydF4y2Ba加速度gydF4y2Ba
,gydF4y2Ba位移gydF4y2Ba
,gydF4y2Ba马力gydF4y2Ba
,gydF4y2Ba重量gydF4y2Ba
作为预测变量(gydF4y2BaXgydF4y2Ba
),gydF4y2Ba英里/加仑gydF4y2Ba
作为响应变量(gydF4y2BaYgydF4y2Ba
).gydF4y2Ba
X =[加速度,排水量,马力,重量];Y = mpg;gydF4y2Ba
将数据划分为训练集和测试集。使用大约80%的观测数据来训练模型,20%的观测数据来测试训练模型在新数据上的性能。使用gydF4y2BacvpartitiongydF4y2Ba
对数据进行分区。gydF4y2Ba
rng (gydF4y2Ba“默认”gydF4y2Ba)gydF4y2Ba%用于再现性gydF4y2Bacvp = cvpartition(长度(MPG),gydF4y2Ba“坚持”gydF4y2Ba, 0.20);XTrain = X(训练(cvp),:);YTrain = Y(训练(cvp));XTest = X(test(cvp),:);YTest = Y(test(cvp));gydF4y2Ba
通过将训练数据传递给gydF4y2BafitrgamgydF4y2Ba
函数,并包括gydF4y2BaOptimizeHyperparametersgydF4y2Ba
论点。指定gydF4y2Ba“OptimizeHyperparameters”gydF4y2Ba
作为gydF4y2Ba“汽车”gydF4y2Ba
这gydF4y2BafitrgamgydF4y2Ba
找到的最优值gydF4y2BaInitialLearnRateForPredictorsgydF4y2Ba
,gydF4y2BaNumTreesPerPredictorgydF4y2Ba
,gydF4y2Ba的相互作用gydF4y2Ba
,gydF4y2BaInitialLearnRateForInteractionsgydF4y2Ba
,gydF4y2BaNumTreesPerInteractiongydF4y2Ba
.为了重现性,选择gydF4y2Ba“expected-improvement-plus”gydF4y2Ba
采集功能。默认的采集函数取决于运行时,因此可以给出不同的结果。gydF4y2Ba
rng (gydF4y2Ba“默认”gydF4y2Ba) Mdl = fitrgam(XTrain,YTrain,gydF4y2Ba“OptimizeHyperparameters”gydF4y2Ba,gydF4y2Ba“汽车”gydF4y2Ba,gydF4y2Ba...gydF4y2Ba“HyperparameterOptimizationOptions”gydF4y2Ba,gydF4y2Ba...gydF4y2Ba结构(gydF4y2Ba“AcquisitionFunctionName”gydF4y2Ba,gydF4y2Ba“expected-improvement-plus”gydF4y2Ba))gydF4y2Ba
|==========================================================================================================================================================| | Iter | Eval |目的:| |目的BestSoFar | BestSoFar | InitialLearnRate - | NumTreesPerP——| |交互InitialLearnRate - | NumTreesPerI——| | | |结果日志(1 +损失)运行时| |(观察)| (estim) | ForPredictors | redictor | | ForInteractions | nteraction | |==========================================================================================================================================================| | 最好1 | | 2.874 | 4.6069 | 2.874 | 2.874 | 0.21533 | 500 | 1 | 0.35042 | 13 | | 2 | | 2.89接受| 0.20809 | 2.874 | 2.8748 | 0.062841 | 14 | 1 | 0.014907 | 10 | | 3 |接受| 3.3298 | 1.796 | 2.874 | 2.8746 | 0.001387 | 222 | 0 | - | - | | 最好4 | | 2.8562 | 5.8182 | 2.8562 | 2.8564 | 0.08216 | 434 | 4 | 0.14875 | 283 | | 5 |接受| 2.976 | 1.8052 | 2.8562 | 2.8564 | 0.99942 | 217 | 1 | 0.0017491 | 34 | | 6 |最好| 2.8195 | 1.382 | 2.8195 | 2.8198 | 0.13778 | 152 | 6 | 0.012566 | 13 | | 7最好| | 2.7519 | 0.90985 | 2.7519 | 2.752 | 0.12531 | 42 | 4 | 0.27647 | 53 | | 8 | |最好2.7301 | 3.565 | 2.7301 | 2.7301 | 0.18671 | 0.0063418 | 3 | | 487 | | 9最好| | 2.7196 | 0.46532 | 2.7196 | 2.7196 | 0.13792 | 10 | 5 | 0.1663 | 27日| | |接受10 | 2.8281 | 2.9027 | 2.7196 | 2.7196 | 0.23324 | 0.75904 | 4 | | 314 | | | 11日接受| 2.7864 | 0.25131 | 2.7196 | 2.7196 | 0.13035 | 0.30171 | 1 | | 476 | | | 12日接受| 2.7993 | 0.61803 | 2.7196 | 2.7647 | 0.16476 | 10 | 6 | 0.015498 | 32 | | | 13日接受| 2.7847 | 4.5171 | 2.7196 | 2.7197 | 0.0090953 | 499 | 5 | 0.027878|40||14 | Accept | 3.5847 | 0.27508 | 2.7196 | 2.7592 | 0.0035123 | 11 | 3 | 0.011127 | 11 | | 15 | Accept | 2.7237 | 4.9018 | 2.7196 | 2.759 | 0.015848 | 498 | 3 | 0.14359 | 238 | | 16 | Accept | 2.779 | 1.569 | 2.7196 | 2.7588 | 0.012829 | 10 | 3 | 0.028814 | 217 | | 17 | Accept | 2.7761 | 4.7776 | 2.7196 | 2.7272 | 0.023165 | 488 | 1 | 0.32642 | 302 | | 18 | Accept | 2.8604 | 4.1417 | 2.7196 | 2.7677 | 0.013548 | 495 | 2 | 0.97963 | 141 | | 19 | Accept | 3.5466 | 0.12735 | 2.7196 | 2.7196 | 0.019794 | 10 | 0 | - | - | | 20 | Accept | 2.7513 | 7.3431 | 2.7196 | 2.7196 | 0.02408 | 62 | 6 | 0.023502 | 490 | |==========================================================================================================================================================| | Iter | Eval | Objective: | Objective | BestSoFar | BestSoFar | InitialLearnRate-| NumTreesPerP-| Interactions | InitialLearnRate-| NumTreesPerI-| | | result | log(1+loss) | runtime | (observed) | (estim.) | ForPredictors | redictor | | ForInteractions | nteraction | |==========================================================================================================================================================| | 21 | Accept | 2.7243 | 0.92354 | 2.7196 | 2.7196 | 0.040761 | 11 | 3 | 0.10556 | 120 | | 22 | Best | 2.6969 | 5.0161 | 2.6969 | 2.697 | 0.0032557 | 494 | 2 | 0.039381 | 487 | | 23 | Accept | 2.8184 | 3.8034 | 2.6969 | 2.697 | 0.0072249 | 19 | 3 | 0.27653 | 494 | | 24 | Accept | 2.7788 | 4.3989 | 2.6969 | 2.697 | 0.0064015 | 482 | 1 | 0.013479 | 479 | | 25 | Accept | 2.7646 | 4.4343 | 2.6969 | 2.6971 | 0.0013222 | 473 | 2 | 0.17272 | 436 | | 26 | Accept | 2.8368 | 0.28304 | 2.6969 | 2.6971 | 0.93418 | 11 | 5 | 0.16983 | 11 | | 27 | Accept | 2.7724 | 1.7205 | 2.6969 | 2.6971 | 0.039216 | 11 | 2 | 0.037865 | 480 | | 28 | Accept | 2.8795 | 0.87918 | 2.6969 | 2.6971 | 0.73103 | 11 | 1 | 0.014567 | 480 | | 29 | Accept | 2.782 | 4.0221 | 2.6969 | 2.7267 | 0.0047632 | 493 | 1 | 0.069346 | 247 | | 30 | Accept | 2.7734 | 0.98578 | 2.6969 | 2.7297 | 0.038679 | 103 | 1 | 0.052986 | 68 |
__________________________________________________________ 优化完成。最大目标达到30个。总函数评估:30总运行时间:88.0979秒总目标函数评估时间:78.4482最佳观测可行点:InitialLearnRateForPredictors NumTreesPerPredictor Interactions InitialLearnRateForInteractions NumTreesPerInteraction _____________________________ ____________________ ____________ _______________________________ ______________________ 0.0032557 494 2 0.039381 487观测到的目标函数值= 2.6969估计的目标函数值= 2.7297函数评估时间= 5.0161最佳估计可行点(根据模型):InitialLearnRateForPredictors NumTreesPerPredictor交互InitialLearnRateForInteractions NumTreesPerInteraction _____________________________ ____________________ ____________ _______________________________ ______________________ 0.0032557 494 0.039381 487估计目标函数值= 2.7297估计时间评估函数= 5.009gydF4y2Ba
Mdl = RegressionGAM ResponseName: 'Y' CategoricalPredictors: [] ResponseTransform: 'none' Intercept: 23.7405 Interactions: [2×2 double] IsStandardDeviationFit: 0 NumObservations: 318 HyperparameterOptimizationResults: [1×1 BayesianOptimization] Properties, MethodsgydF4y2Ba
fitrgamgydF4y2Ba
返回一个gydF4y2BaRegressionGAMgydF4y2Ba
使用最佳估计可行点的模型对象。基于贝叶斯优化过程的底层高斯过程模型,最佳估计可行点是使交叉验证损失(均方误差,MSE)的置信上限最小化的超参数集。gydF4y2Ba
贝叶斯优化过程内部维持了目标函数的高斯过程模型。目标函数为gydF4y2Ba日志gydF4y2Ba
(1 +交叉验证MSE)用于回归。对于每次迭代,优化过程都会更新高斯过程模型,并使用该模型找到一组新的超参数。迭代显示的每一行都显示了新的超参数集和这些列值:gydF4y2Ba
客观的gydF4y2Ba
-在新的超参数集上计算目标函数值。gydF4y2Ba目标运行时gydF4y2Ba
-目标函数评价时间。gydF4y2BaEval结果gydF4y2Ba
—结果报告,指定为gydF4y2Ba接受gydF4y2Ba
,gydF4y2Ba最好的gydF4y2Ba
,或gydF4y2Ba错误gydF4y2Ba
.gydF4y2Ba接受gydF4y2Ba
表示目标函数返回一个有限值,和gydF4y2Ba错误gydF4y2Ba
指示目标函数返回一个不是有限实标量的值。gydF4y2Ba最好的gydF4y2Ba
指示目标函数返回一个有限值,该值低于先前计算的目标函数值。gydF4y2BaBestSoFar(观察)gydF4y2Ba
-目前计算的最小目标函数值。此值是当前迭代的目标函数值(如果gydF4y2BaEval结果gydF4y2Ba
当前迭代的值为gydF4y2Ba最好的gydF4y2Ba
)或前一个的值gydF4y2Ba最好的gydF4y2Ba
迭代。gydF4y2BaBestSoFar (estim)。gydF4y2Ba
-在每次迭代中,软件在迄今为止尝试的所有超参数集上,使用更新的高斯过程模型估计目标函数值的置信上限。然后软件选择上置信界最小的点。的gydF4y2BaBestSoFar (estim)。gydF4y2Ba
方法返回的目标函数值gydF4y2BapredictObjectivegydF4y2Ba
函数在最小值处。gydF4y2Ba
迭代显示下面的图显示gydF4y2BaBestSoFar(观察)gydF4y2Ba
而且gydF4y2BaBestSoFar (estim)。gydF4y2Ba
分别用蓝色和绿色表示。gydF4y2Ba
返回的对象gydF4y2BaMdlgydF4y2Ba
使用最佳估计可行点,即产生的超参数集gydF4y2BaBestSoFar (estim)。gydF4y2Ba
在最终的高斯过程模型的基础上进行最后的迭代。gydF4y2Ba
得到的最佳估计可行点gydF4y2BaMdlgydF4y2Ba
在gydF4y2BaHyperparameterOptimizationResultsgydF4y2Ba
财产。gydF4y2Ba
Mdl.HyperparameterOptimizationResults.XAtMinEstimatedObjectivegydF4y2Ba
ans =gydF4y2Ba表1×5gydF4y2BaInitialLearnRateForPredictors NumTreesPerPredictor交互InitialLearnRateForInteractions NumTreesPerInteraction _____________________________ ____________________ ____________ _______________________________ ______________________ 0.0032557 494 0.039381 487gydF4y2Ba
或者,您可以使用gydF4y2BabestPointgydF4y2Ba
函数。默认情况下,gydF4y2BabestPointgydF4y2Ba
函数使用gydF4y2Ba“min-visited-upper-confidence-interval”gydF4y2Ba
标准。gydF4y2Ba
[x,CriterionValue,iteration] = bestPoint(mml . hyperparameteroptimizationresults)gydF4y2Ba
x =gydF4y2Ba表1×5gydF4y2BaInitialLearnRateForPredictors NumTreesPerPredictor交互InitialLearnRateForInteractions NumTreesPerInteraction _____________________________ ____________________ ____________ _______________________________ ______________________ 0.0032557 494 0.039381 487gydF4y2Ba
CriterionValue = 2.7908gydF4y2Ba
迭代= 22gydF4y2Ba
您还可以提取最佳观测可行点(即最后gydF4y2Ba最好的gydF4y2Ba
点在迭代显示)从gydF4y2BaHyperparameterOptimizationResultsgydF4y2Ba
属性或通过指定gydF4y2Ba标准gydF4y2Ba
作为gydF4y2Ba“min-observed”gydF4y2Ba
.gydF4y2Ba
Mdl.HyperparameterOptimizationResults.XAtMinObjectivegydF4y2Ba
ans =gydF4y2Ba表1×5gydF4y2BaInitialLearnRateForPredictors NumTreesPerPredictor交互InitialLearnRateForInteractions NumTreesPerInteraction _____________________________ ____________________ ____________ _______________________________ ______________________ 0.0032557 494 0.039381 487gydF4y2Ba
[x_observed,CriterionValue_observed,iteration_observed] = bestPoint(Mdl。HyperparameterOptimizationResults,gydF4y2Ba“标准”gydF4y2Ba,gydF4y2Ba“min-observed”gydF4y2Ba)gydF4y2Ba
x_observed =gydF4y2Ba表1×5gydF4y2BaInitialLearnRateForPredictors NumTreesPerPredictor交互InitialLearnRateForInteractions NumTreesPerInteraction _____________________________ ____________________ ____________ _______________________________ ______________________ 0.0032557 494 0.039381 487gydF4y2Ba
CriterionValue_observed = 2.6969gydF4y2Ba
Iteration_observed = 22gydF4y2Ba
在本例中,两个标准选择相同的超参数集(第22次迭代)作为最佳点。每个的判据值是不同的,因为gydF4y2BaCriterionValuegydF4y2Ba
为最终高斯过程模型计算的目标函数值的上界,gydF4y2BaCriterionValue_observedgydF4y2Ba
使用所选超参数计算的实际目标函数值。有关更多信息,请参见gydF4y2Ba标准gydF4y2Ba的名称-值参数gydF4y2BabestPointgydF4y2Ba
.gydF4y2Ba
通过计算均方误差(MSEs)来评估回归模型在训练集和测试集上的性能。MSE值越小,性能越好。gydF4y2Ba
LTraining = resubLoss(Mdl)gydF4y2Ba
LTraining = 6.2224gydF4y2Ba
LTest =损失(Mdl,XTest,YTest)gydF4y2Ba
LTest = 18.5724gydF4y2Ba
优化交叉验证的GAM使用gydF4y2BabayesoptgydF4y2Ba
在交叉验证方面优化GAM的参数gydF4y2BabayesoptgydF4y2Ba
函数。gydF4y2Ba
或者,您可以找到的最佳值gydF4y2BafitrgamgydF4y2Ba
的名称-值参数gydF4y2BaOptimizeHyperparametersgydF4y2Ba名称-值参数。有关示例,请参见gydF4y2Ba使用OptimizeHyperparameters优化GAMgydF4y2Ba.gydF4y2Ba
加载gydF4y2BacarbiggydF4y2Ba
数据集,其中包含20世纪70年代和80年代初生产的汽车的测量数据。gydF4y2Ba
负载gydF4y2BacarbiggydF4y2Ba
指定gydF4y2Ba加速度gydF4y2Ba
,gydF4y2Ba位移gydF4y2Ba
,gydF4y2Ba马力gydF4y2Ba
,gydF4y2Ba重量gydF4y2Ba
作为预测变量(gydF4y2BaXgydF4y2Ba
),gydF4y2Ba英里/加仑gydF4y2Ba
作为响应变量(gydF4y2BaYgydF4y2Ba
).gydF4y2Ba
X =[加速度,排水量,马力,重量];Y = mpg;gydF4y2Ba
您必须删除缺少响应值的观察值,以修复优化过程的交叉验证集。从响应变量中删除缺失值,并在预测变量中删除相应的观察值。gydF4y2Ba
[Y,TF] = rmmissing(Y);X = X(~ tf);gydF4y2Ba
为交叉验证设置一个分区。此步骤修复优化在每个步骤中使用的交叉验证集。gydF4y2Ba
c = cvpartition(length(Y),gydF4y2Ba“KFold”gydF4y2Ba5);gydF4y2Ba
准备gydF4y2BaoptimizableVariablegydF4y2Ba
对象的名称-值参数,您希望使用贝叶斯优化。的最佳值gydF4y2BaMaxNumSplitsPerPredictorgydF4y2Ba
而且gydF4y2BaNumTreesPerPredictorgydF4y2Ba
参数的gydF4y2BafitrgamgydF4y2Ba
.gydF4y2Ba
maxnumsplitting = optimizableVariable(gydF4y2Ba“maxNumSplits”gydF4y2Ba(1, 10),gydF4y2Ba“类型”gydF4y2Ba,gydF4y2Ba“整数”gydF4y2Ba);numTrees = optimizableVariable(gydF4y2Ba“numTrees”gydF4y2Ba[1500],gydF4y2Ba“类型”gydF4y2Ba,gydF4y2Ba“整数”gydF4y2Ba);gydF4y2Ba
创建一个接受输入的目标函数gydF4y2Baz = [maxnumsplitting,numTrees]gydF4y2Ba
的交叉验证的损失值gydF4y2BazgydF4y2Ba
.gydF4y2Ba
minfun = @(z)kfoldLoss(fitrgam(X,Y,gydF4y2Ba“CVPartition”gydF4y2BacgydF4y2Ba...gydF4y2Ba“MaxNumSplitsPerPredictor”gydF4y2Baz.maxNumSplits,gydF4y2Ba...gydF4y2Ba“NumTreesPerPredictor”gydF4y2Baz.numTrees));gydF4y2Ba
如果指定交叉验证选项,则gydF4y2BafitrgamgydF4y2Ba
函数返回交叉验证的模型对象gydF4y2BaRegressionPartitionedGAMgydF4y2Ba
.的gydF4y2BakfoldLossgydF4y2Ba
函数返回交叉验证模型得到的回归损失(均方误差)。因此,函数句柄gydF4y2BaminfungydF4y2Ba
中的参数处计算交叉验证损失gydF4y2BazgydF4y2Ba
.gydF4y2Ba
寻找最佳参数gydF4y2Ba[maxNumSplits, numTrees]gydF4y2Ba
使用gydF4y2BabayesoptgydF4y2Ba
.为了重现性,选择gydF4y2Ba“expected-improvement-plus”gydF4y2Ba
采集功能。默认的采集函数取决于运行时,因此可以给出不同的结果。gydF4y2Ba
rng (gydF4y2Ba“默认”gydF4y2Ba) results = bayesopt(minfun,[maxnumsplitting,numTrees],gydF4y2Ba“详细”gydF4y2Ba0,gydF4y2Ba...gydF4y2Ba“IsObjectiveDeterministic”gydF4y2Ba,真的,gydF4y2Ba...gydF4y2Ba“AcquisitionFunctionName”gydF4y2Ba,gydF4y2Ba“expected-improvement-plus”gydF4y2Ba);gydF4y2Ba
从中获得最佳点gydF4y2Ba结果gydF4y2Ba
.gydF4y2Ba
zbest = bestPoint(结果)gydF4y2Ba
zb =gydF4y2Ba1×2表gydF4y2Ba8 . maxnumsplitting numTrees ____________ ________ 1gydF4y2Ba
训练一个优化的GAMgydF4y2BazbgydF4y2Ba
值。gydF4y2Ba
Mdl = fitrgam(X,Y,gydF4y2Ba...gydF4y2Ba“MaxNumSplitsPerPredictor”gydF4y2Bazbest.maxNumSplits,gydF4y2Ba...gydF4y2Ba“NumTreesPerPredictor”gydF4y2Ba, zbest.numTrees);gydF4y2Ba
输入参数gydF4y2Ba
资源描述gydF4y2Ba
- - - - - -gydF4y2Ba样本数据gydF4y2Ba
表格gydF4y2Ba
用于训练模型的示例数据,指定为表。每行gydF4y2Ba资源描述gydF4y2Ba
对应一个观测值,每一列对应一个预测变量。不允许使用字符向量的单元格数组以外的多列变量和单元格数组。gydF4y2Ba
可选地,gydF4y2Ba
资源描述gydF4y2Ba
可以包含响应变量的一列和观测权重的一列。响应变量和权重值必须是数值向量。gydF4y2Ba中必须指定响应变量gydF4y2Ba
资源描述gydF4y2Ba
通过使用gydF4y2BaResponseVarNamegydF4y2Ba
或gydF4y2Ba公式gydF4y2Ba
并指定观测权重gydF4y2Ba资源描述gydF4y2Ba
通过使用gydF4y2Ba“重量”gydF4y2Ba
.gydF4y2Ba通过使用指定响应变量gydF4y2Ba
ResponseVarNamegydF4y2Ba
- - - - - -gydF4y2BafitrgamgydF4y2Ba
使用其余变量作为预测器。中剩余变量的子集gydF4y2Ba资源描述gydF4y2Ba
作为预测器,使用指定预测器变量gydF4y2Ba“PredictorNames”gydF4y2Ba
.gydF4y2Ba使用定义模型规范gydF4y2Ba
公式gydF4y2Ba
- - - - - -gydF4y2BafitrgamgydF4y2Ba
中的变量的子集gydF4y2Ba资源描述gydF4y2Ba
作为预测变量和响应变量,如gydF4y2Ba公式gydF4y2Ba
.gydF4y2Ba
如果gydF4y2Ba
资源描述gydF4y2Ba
不包含响应变量,然后通过使用gydF4y2BaYgydF4y2Ba
.响应变量的长度gydF4y2BaYgydF4y2Ba
和进去的行数gydF4y2Ba资源描述gydF4y2Ba
必须是相等的。中变量的子集gydF4y2Ba资源描述gydF4y2Ba
作为预测器,使用指定预测器变量gydF4y2Ba“PredictorNames”gydF4y2Ba
.gydF4y2Ba
fitrgamgydF4y2Ba
认为gydF4y2Ba南gydF4y2Ba
,gydF4y2Ba”gydF4y2Ba
(空字符向量),gydF4y2Ba""gydF4y2Ba
(空字符串),gydF4y2Ba< >失踪gydF4y2Ba
,gydF4y2Ba<定义>gydF4y2Ba
值gydF4y2Ba资源描述gydF4y2Ba
丢失的值。gydF4y2Ba
fitrgamgydF4y2Ba
在拟合中不使用所有缺失值的观测值。gydF4y2BafitrgamgydF4y2Ba
在拟合中不使用缺少响应值的观测值。gydF4y2BafitrgamgydF4y2Ba
使用带有一些缺失值的观测值作为预测器,以找到这些观测值具有有效值的变量上的分割。gydF4y2Ba
数据类型:gydF4y2Ba表格gydF4y2Ba
ResponseVarNamegydF4y2Ba
- - - - - -gydF4y2Ba响应变量名gydF4y2Ba
变量名gydF4y2Ba资源描述gydF4y2Ba
响应变量名,指定为包含响应变量名的字符向量或字符串标量gydF4y2Ba资源描述gydF4y2Ba
.例如,如果响应变量gydF4y2BaYgydF4y2Ba
存储在gydF4y2Ba资源描述。YgydF4y2Ba
,然后指定为gydF4y2Ba“Y”gydF4y2Ba
.gydF4y2Ba
数据类型:gydF4y2Ba字符gydF4y2Ba
|gydF4y2Ba字符串gydF4y2Ba
公式gydF4y2Ba
- - - - - -gydF4y2Ba模型规范gydF4y2Ba
特征向量gydF4y2Ba|gydF4y2Ba字符串标量gydF4y2Ba
模型规范,在表单中指定为字符向量或字符串标量gydF4y2Ba“Y ~项”gydF4y2Ba
.的gydF4y2Ba公式gydF4y2Ba
参数指定响应变量和预测变量的线性和交互项。使用gydF4y2Ba公式gydF4y2Ba
中指定变量的子集gydF4y2Ba资源描述gydF4y2Ba
作为训练模型的预测因子。如果您指定了一个公式,那么该软件不使用任何变量gydF4y2Ba资源描述gydF4y2Ba
没有出现在gydF4y2Ba公式gydF4y2Ba
.gydF4y2Ba
例如,指定gydF4y2BaY ~ x1 + x2 + x3 + x1, x2”gydF4y2Ba
.在这种形式下,gydF4y2BaYgydF4y2Ba
表示响应变量,和gydF4y2Bax1gydF4y2Ba
,gydF4y2Bax2gydF4y2Ba
,gydF4y2Bax3gydF4y2Ba
表示预测变量的线性项。gydF4y2Bax1, x2gydF4y2Ba
表示的交互项gydF4y2Bax1gydF4y2Ba
而且gydF4y2Bax2gydF4y2Ba
.gydF4y2Ba
公式中的变量名必须同时为gydF4y2Ba资源描述gydF4y2Ba
(gydF4y2BaTbl.Properties.VariableNamesgydF4y2Ba
)和有效的MATLABgydF4y2Ba®gydF4y2Ba标识符。中的变量名可以验证gydF4y2Ba资源描述gydF4y2Ba
通过使用gydF4y2BaisvarnamegydF4y2Ba
函数。变量名无效,则可以使用gydF4y2Bamatlab.lang.makeValidNamegydF4y2Ba
函数。gydF4y2Ba
或者,您可以为预测器指定响应变量和线性术语gydF4y2Ba公式gydF4y2Ba
,并为使用的预测器指定交互术语gydF4y2Ba“互动”gydF4y2Ba
.gydF4y2Ba
fitrgamgydF4y2Ba
仅使用术语whose构建一组交互树gydF4y2BapgydF4y2Ba-values不大于gydF4y2Ba“MaxPValue”gydF4y2Ba
价值。gydF4y2Ba
例子:gydF4y2BaY ~ x1 + x2 + x3 + x1, x2”gydF4y2Ba
数据类型:gydF4y2Ba字符gydF4y2Ba
|gydF4y2Ba字符串gydF4y2Ba
YgydF4y2Ba
- - - - - -gydF4y2Ba响应数据gydF4y2Ba
数值列向量gydF4y2Ba
响应数据,指定为数值列向量。每一项gydF4y2BaYgydF4y2Ba
的对应行中的数据是否响应gydF4y2BaXgydF4y2Ba
或gydF4y2Ba资源描述gydF4y2Ba
.gydF4y2Ba
软件考虑gydF4y2Ba南gydF4y2Ba
值gydF4y2BaYgydF4y2Ba
丢失的值。gydF4y2BafitrgamgydF4y2Ba
在拟合中不使用缺少响应值的观测值。gydF4y2Ba
数据类型:gydF4y2Ba单gydF4y2Ba
|gydF4y2Ba双gydF4y2Ba
XgydF4y2Ba
- - - - - -gydF4y2Ba预测数据gydF4y2Ba
数字矩阵gydF4y2Ba
预测器数据,指定为数值矩阵。每行gydF4y2BaXgydF4y2Ba
对应一个观测值,每一列对应一个预测变量。gydF4y2Ba
fitrgamgydF4y2Ba
认为gydF4y2Ba南gydF4y2Ba
值gydF4y2BaXgydF4y2Ba
作为缺失值。该函数不使用符合中所有缺失值的观测值。gydF4y2BafitrgamgydF4y2Ba
使用一些缺少值的观测值gydF4y2BaXgydF4y2Ba
在这些观察值有效的变量上找到分裂。gydF4y2Ba
数据类型:gydF4y2Ba单gydF4y2Ba
|gydF4y2Ba双gydF4y2Ba
名称-值参数gydF4y2Ba
指定可选参数对为gydF4y2BaName1 = Value1,…,以=家gydF4y2Ba
,在那里gydF4y2Ba的名字gydF4y2Ba
参数名称和gydF4y2Ba价值gydF4y2Ba
对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。gydF4y2Ba
在R2021a之前,使用逗号分隔每个名称和值,并将其括起来gydF4y2Ba的名字gydF4y2Ba
在报价。gydF4y2Ba
例子:gydF4y2Ba“互动”,“所有”、“MaxPValue”,0.05gydF4y2Ba
指定包含所有可用的交互术语gydF4y2BapgydF4y2Ba-values不大于0.05。gydF4y2Ba
FitStandardDeviationgydF4y2Ba
- - - - - -gydF4y2Ba标记拟合模型的标准偏差gydF4y2Ba
假gydF4y2Ba
或gydF4y2Ba0gydF4y2Ba
(默认)|gydF4y2Ba真正的gydF4y2Ba
或gydF4y2Ba1gydF4y2Ba
为响应变量的标准偏差拟合模型,以逻辑形式指定gydF4y2Ba0gydF4y2Ba
(gydF4y2Ba假gydF4y2Ba
)或gydF4y2Ba1gydF4y2Ba
(gydF4y2Ba真正的gydF4y2Ba
).gydF4y2Ba
如果你指定gydF4y2Ba“FitStandardDeviation”gydF4y2Ba
作为gydF4y2Ba真正的gydF4y2Ba
,然后gydF4y2BafitrgamgydF4y2Ba
为响应变量的标准偏差训练附加模型,并设置gydF4y2BaIsStandardDeviationFitgydF4y2Ba
输出GAM对象的属性gydF4y2BaMdlgydF4y2Ba
来gydF4y2Ba真正的gydF4y2Ba
.gydF4y2Ba
要计算给定观测值的标准偏差值,请使用gydF4y2Ba预测gydF4y2Ba
,gydF4y2BaresubPredictgydF4y2Ba
,或gydF4y2BakfoldPredictgydF4y2Ba
.这些函数还返回响应变量的预测区间。gydF4y2Ba
推荐的做法是在拟合标准偏差模型以获得标准偏差估计的准确性时使用最优超参数。指定gydF4y2BaOptimizeHyperparametersgydF4y2Ba
作为gydF4y2Ba“all-univariate”gydF4y2Ba
(对于单变量GAM)或gydF4y2Ba“所有”gydF4y2Ba
(对于二元GAM)一起gydF4y2Ba“FitStandardDeviation”,真的gydF4y2Ba
.gydF4y2Ba
例子:gydF4y2Ba“FitStandardDeviation”,真的gydF4y2Ba
数据类型:gydF4y2Ba逻辑gydF4y2Ba
InitialLearnRateForInteractionsgydF4y2Ba
- - - - - -gydF4y2Ba交互项的梯度增强学习率gydF4y2Ba
1gydF4y2Ba
(默认)|gydF4y2Ba(0,1)中的数字标量gydF4y2Ba
交互项的梯度提升学习率,指定为区间(0,1]中的数值标量。gydF4y2BafitrgamgydF4y2Ba
在整个训练过程中对交互项使用此速率。gydF4y2Ba
使用较小的学习率训练模型需要更多的学习迭代,但通常可以获得更好的精度。gydF4y2Ba
有关梯度增强的详细信息,请参见gydF4y2Ba梯度增强算法gydF4y2Ba.gydF4y2Ba
例子:gydF4y2Ba“InitialLearnRateForInteractions”,0.1gydF4y2Ba
数据类型:gydF4y2Ba单gydF4y2Ba
|gydF4y2Ba双gydF4y2Ba
InitialLearnRateForPredictorsgydF4y2Ba
- - - - - -gydF4y2Ba线性项的梯度增强学习率gydF4y2Ba
1gydF4y2Ba
(默认)|gydF4y2Ba(0,1)中的数字标量gydF4y2Ba
线性项的梯度提升学习率,指定为区间(0,1]中的数值标量。gydF4y2BafitrgamgydF4y2Ba
在整个训练过程中对线性项使用此速率。gydF4y2Ba
使用较小的学习率训练模型需要更多的学习迭代,但通常可以获得更好的精度。gydF4y2Ba
有关梯度增强的详细信息,请参见gydF4y2Ba梯度增强算法gydF4y2Ba.gydF4y2Ba
例子:gydF4y2Ba“InitialLearnRateForPredictors”,0.1gydF4y2Ba
数据类型:gydF4y2Ba单gydF4y2Ba
|gydF4y2Ba双gydF4y2Ba
的相互作用gydF4y2Ba
- - - - - -gydF4y2Ba交互项的数量或列表gydF4y2Ba
0gydF4y2Ba
(默认)|gydF4y2Ba非负整数标量gydF4y2Ba|gydF4y2Ba逻辑矩阵gydF4y2Ba|gydF4y2Ba“所有”gydF4y2Ba
要包含在候选集中的交互术语的数量或列表gydF4y2Ba年代gydF4y2Ba,指定为非负整数标量、逻辑矩阵或gydF4y2Ba“所有”gydF4y2Ba
.gydF4y2Ba
交互项的数目,指定为非负整数-gydF4y2Ba年代gydF4y2Ba包含指定数量的重要交互项,这些项是根据gydF4y2BapgydF4y2Ba-项的值。gydF4y2Ba
交互术语列表,指定为逻辑矩阵-gydF4y2Ba年代gydF4y2Ba项指定的条款gydF4y2Ba
tgydF4y2Ba
——- - - - - -gydF4y2BapgydF4y2Ba
逻辑矩阵,其中gydF4y2BatgydF4y2Ba
交互项的个数,和gydF4y2BapgydF4y2Ba
用于训练模型的预测器的数量。例如,gydF4y2Ba逻辑([1 10 0;0 1 1])gydF4y2Ba
表示两对交互项:一对第一个和第二个预测符,一对第二个和第三个预测符。gydF4y2Ba如果gydF4y2Ba
fitrgamgydF4y2Ba
使用输入变量的子集作为预测器,然后函数仅使用该子集对预测器进行索引。即逻辑矩阵的列索引不计算响应和观测权重变量。索引也不计算函数未使用的任何变量。gydF4y2Ba“所有”gydF4y2Ba
- - - - - -gydF4y2Ba年代gydF4y2Ba包括所有可能的交互项对,即gydF4y2BaP *(P - 1)/2gydF4y2Ba
总项数。gydF4y2Ba
在的交互项中gydF4y2Ba年代gydF4y2Ba,gydF4y2BafitrgamgydF4y2Ba
函数标识了gydF4y2BapgydF4y2Ba-values不大于gydF4y2Ba“MaxPValue”gydF4y2Ba
值并使用它们来构建一组交互树。使用默认值(gydF4y2Ba“MaxPValue”gydF4y2Ba
,1)利用中所有术语构建交互树gydF4y2Ba年代gydF4y2Ba.gydF4y2Ba
例子:gydF4y2Ba“互动”、“所有”gydF4y2Ba
数据类型:gydF4y2Ba单gydF4y2Ba
|gydF4y2Ba双gydF4y2Ba
|gydF4y2Ba逻辑gydF4y2Ba
|gydF4y2Ba字符gydF4y2Ba
|gydF4y2Ba字符串gydF4y2Ba
MaxNumSplitsPerInteractiongydF4y2Ba
- - - - - -gydF4y2Ba每个交互树的最大决策分裂数gydF4y2Ba
4gydF4y2Ba(默认)|gydF4y2Ba正整数标量gydF4y2Ba
每个交互树(交互术语的增强树)的最大决策分割(或分支节点)数量,指定为正整数标量。gydF4y2Ba
例子:gydF4y2Ba“MaxNumSplitsPerInteraction”,5gydF4y2Ba
数据类型:gydF4y2Ba单gydF4y2Ba
|gydF4y2Ba双gydF4y2Ba
MaxNumSplitsPerPredictorgydF4y2Ba
- - - - - -gydF4y2Ba每个预测树的最大决策分割数gydF4y2Ba
1gydF4y2Ba(默认)|gydF4y2Ba正整数标量gydF4y2Ba
每个预测树(线性项的增强树)的决策分割(或分支节点)的最大数量,指定为正整数标量。默认情况下,gydF4y2BafitrgamgydF4y2Ba
使用树桩作为预测树。gydF4y2Ba
例子:gydF4y2Ba“MaxNumSplitsPerPredictor”,5gydF4y2Ba
数据类型:gydF4y2Ba单gydF4y2Ba
|gydF4y2Ba双gydF4y2Ba
MaxPValuegydF4y2Ba
- - - - - -gydF4y2Ba最大gydF4y2BapgydF4y2Ba-value用于检测交互项gydF4y2Ba
1gydF4y2Ba(默认)|gydF4y2Ba[0,1]中的数值标量gydF4y2Ba
最大gydF4y2BapgydF4y2Ba-value用于检测交互项,指定为区间[0,1]中的数字标量。gydF4y2Ba
fitrgamgydF4y2Ba
首先找到候选集gydF4y2Ba年代gydF4y2Ba相互作用的术语gydF4y2Ba公式gydF4y2Ba
或gydF4y2Ba“互动”gydF4y2Ba
.然后,该函数确定其交互项gydF4y2BapgydF4y2Ba-values不大于gydF4y2Ba“MaxPValue”gydF4y2Ba
值并使用它们来构建一组交互树。gydF4y2Ba
默认值(gydF4y2Ba“MaxPValue”,1gydF4y2Ba
)为候选集中的所有交互术语构建交互树gydF4y2Ba年代gydF4y2Ba.gydF4y2Ba
有关检测交互项的详细信息,请参见gydF4y2Ba交互项检测gydF4y2Ba.gydF4y2Ba
例子:gydF4y2Ba“MaxPValue”,0.05gydF4y2Ba
数据类型:gydF4y2Ba单gydF4y2Ba
|gydF4y2Ba双gydF4y2Ba
NumBinsgydF4y2Ba
- - - - - -gydF4y2Ba数值预测器的箱数gydF4y2Ba
256gydF4y2Ba
(默认)|gydF4y2Ba正整数标量gydF4y2Ba|gydF4y2Ba[]gydF4y2Ba
(空的)gydF4y2Ba
数值预测器的箱数,指定为正整数标量或gydF4y2Ba[]gydF4y2Ba
(空的)。gydF4y2Ba
如果您指定gydF4y2Ba
“NumBins”gydF4y2Ba
值作为正整数标量(gydF4y2BanumBinsgydF4y2Ba
),然后gydF4y2BafitrgamgydF4y2Ba
将每个数字预测器放入最多gydF4y2BanumBinsgydF4y2Ba
等概率容器,然后在容器索引上生长树,而不是原始数据。gydF4y2Ba箱子的数量可以小于gydF4y2Ba
numBinsgydF4y2Ba
如果一个预测器的值小于gydF4y2BanumBinsgydF4y2Ba
独特的价值观。gydF4y2BafitrgamgydF4y2Ba
不包含分类预测符。gydF4y2Ba
如果gydF4y2Ba
“NumBins”gydF4y2Ba
值为空(gydF4y2Ba[]gydF4y2Ba
),然后gydF4y2BafitrgamgydF4y2Ba
不丢弃任何预测器。gydF4y2Ba
当您使用大型训练数据集时,此分箱选项可以加快训练速度,但可能会导致准确性下降。的默认值gydF4y2Ba“NumBins”gydF4y2Ba
,然后根据精度和训练速度改变值。gydF4y2Ba
训练过的模型gydF4y2BaMdlgydF4y2Ba
控件中存储料仓边gydF4y2BaBinEdgesgydF4y2Ba
财产。gydF4y2Ba
例子:gydF4y2Ba“NumBins”,50岁gydF4y2Ba
数据类型:gydF4y2Ba单gydF4y2Ba
|gydF4y2Ba双gydF4y2Ba
NumTreesPerInteractiongydF4y2Ba
- - - - - -gydF4y2Ba每个交互项的树数gydF4y2Ba
One hundred.gydF4y2Ba(默认)|gydF4y2Ba正整数标量gydF4y2Ba
每个交互项的树数,指定为正整数标量。gydF4y2Ba
的gydF4y2Ba“NumTreesPerInteraction”gydF4y2Ba
Value等价于预测器交互项的梯度增强迭代次数。对于每一次迭代,gydF4y2BafitrgamgydF4y2Ba
将一组交互树添加到模型中,每个交互术语对应一棵树。要了解梯度增强算法,请参见gydF4y2Ba梯度增强算法gydF4y2Ba.gydF4y2Ba
通过查看时显示的诊断信息,可以判断拟合模型是否具有指定的树数gydF4y2Ba“详细”gydF4y2Ba
是1还是2,还是通过检查gydF4y2BaReasonForTerminationgydF4y2Ba
模型的属性值gydF4y2BaMdlgydF4y2Ba
.gydF4y2Ba
例子:gydF4y2Ba“NumTreesPerInteraction”,500年gydF4y2Ba
数据类型:gydF4y2Ba单gydF4y2Ba
|gydF4y2Ba双gydF4y2Ba
NumTreesPerPredictorgydF4y2Ba
- - - - - -gydF4y2Ba每个线性项的树数gydF4y2Ba
300gydF4y2Ba(默认)|gydF4y2Ba正整数标量gydF4y2Ba
每个线性项的树数,指定为正整数标量。gydF4y2Ba
的gydF4y2Ba“NumTreesPerPredictor”gydF4y2Ba
Value等价于预测器线性项的梯度增强迭代次数。对于每一次迭代,gydF4y2BafitrgamgydF4y2Ba
向模型中添加一组预测树,每个预测树对应一棵。要了解梯度增强算法,请参见gydF4y2Ba梯度增强算法gydF4y2Ba.gydF4y2Ba
通过查看时显示的诊断信息,可以判断拟合模型是否具有指定的树数gydF4y2Ba“详细”gydF4y2Ba
是1还是2,还是通过检查gydF4y2BaReasonForTerminationgydF4y2Ba
模型的属性值gydF4y2BaMdlgydF4y2Ba
.gydF4y2Ba
例子:gydF4y2Ba“NumTreesPerPredictor”,500年gydF4y2Ba
数据类型:gydF4y2Ba单gydF4y2Ba
|gydF4y2Ba双gydF4y2Ba
CategoricalPredictorsgydF4y2Ba
- - - - - -gydF4y2Ba分类预测器列表gydF4y2Ba
正整数向量gydF4y2Ba|gydF4y2Ba逻辑向量gydF4y2Ba|gydF4y2Ba字符矩阵gydF4y2Ba|gydF4y2Ba字符串数组gydF4y2Ba|gydF4y2Ba字符向量的单元格数组gydF4y2Ba|gydF4y2Ba“所有”gydF4y2Ba
类别预测符列表,指定为此表中的值之一。gydF4y2Ba
价值gydF4y2Ba | 描述gydF4y2Ba |
---|---|
正整数向量gydF4y2Ba | 向量中的每个条目都是一个指标值,表明相应的预测器是分类的。索引值在1和之间gydF4y2Ba 如果gydF4y2Ba |
逻辑向量gydF4y2Ba | 一个gydF4y2Ba |
字符矩阵gydF4y2Ba | 矩阵的每一行都是一个预测变量的名称。名称必须与中的条目匹配gydF4y2BaPredictorNamesgydF4y2Ba .用额外的空格填充名字,这样字符矩阵的每一行都有相同的长度。gydF4y2Ba |
字符向量的字符串数组或单元格数组gydF4y2Ba | 数组中的每个元素都是一个预测变量的名称。名称必须与中的条目匹配gydF4y2BaPredictorNamesgydF4y2Ba .gydF4y2Ba |
“所有”gydF4y2Ba |
所有预测因素都是绝对的。gydF4y2Ba |
默认情况下,如果预测器数据在表(gydF4y2Ba资源描述gydF4y2Ba
),gydF4y2BafitrgamgydF4y2Ba
如果一个变量是逻辑向量、无序分类向量、字符数组、字符串数组或字符向量的单元格数组,则假定它是分类的。如果预测器数据为矩阵(gydF4y2BaXgydF4y2Ba
),gydF4y2BafitrgamgydF4y2Ba
假设所有预测因子都是连续的。要将任何其他预测符标识为类别预测符,请使用gydF4y2BaCategoricalPredictorsgydF4y2Ba
名称-值参数。gydF4y2Ba
例子:gydF4y2Ba“CategoricalPredictors”、“所有”gydF4y2Ba
数据类型:gydF4y2Ba单gydF4y2Ba
|gydF4y2Ba双gydF4y2Ba
|gydF4y2Ba逻辑gydF4y2Ba
|gydF4y2Ba字符gydF4y2Ba
|gydF4y2Ba字符串gydF4y2Ba
|gydF4y2Ba细胞gydF4y2Ba
NumPrintgydF4y2Ba
- - - - - -gydF4y2Ba诊断消息打印输出之间的迭代次数gydF4y2Ba
10gydF4y2Ba
(默认)|gydF4y2Ba非负整数标量gydF4y2Ba
诊断消息打印输出之间的迭代次数,指定为非负整数标量。此参数仅在指定时有效gydF4y2Ba“详细”gydF4y2Ba
为1。gydF4y2Ba
如果你指定gydF4y2Ba“详细”,1gydF4y2Ba
而且gydF4y2BaNumPrint, NumPrintgydF4y2Ba
时,软件显示诊断信息gydF4y2BanumPrintgydF4y2Ba
在命令窗口中的迭代。gydF4y2Ba
例子:gydF4y2Ba“NumPrint”,500年gydF4y2Ba
数据类型:gydF4y2Ba单gydF4y2Ba
|gydF4y2Ba双gydF4y2Ba
PredictorNamesgydF4y2Ba
- - - - - -gydF4y2Ba预测变量名称gydF4y2Ba
唯一名称的字符串数组gydF4y2Ba|gydF4y2Ba唯一字符向量的单元格数组gydF4y2Ba
预测器变量名,指定为唯一名称的字符串数组或唯一字符向量的单元格数组。的功能gydF4y2BaPredictorNamesgydF4y2Ba
这取决于你提供训练数据的方式。gydF4y2Ba
如果你提供gydF4y2Ba
XgydF4y2Ba
而且gydF4y2BaYgydF4y2Ba
,那么你就可以使用了gydF4y2BaPredictorNamesgydF4y2Ba
中预测变量的名称gydF4y2BaXgydF4y2Ba
.gydF4y2Ba里面名字的顺序gydF4y2Ba
PredictorNamesgydF4y2Ba
必须对应的列顺序gydF4y2BaXgydF4y2Ba
.也就是说,gydF4y2BaPredictorNames {1}gydF4y2Ba
名字是gydF4y2BaX (: 1)gydF4y2Ba
,gydF4y2BaPredictorNames {2}gydF4y2Ba
名字是gydF4y2BaX (:, 2)gydF4y2Ba
等等。同时,gydF4y2Ba大小(X, 2)gydF4y2Ba
而且gydF4y2Ba元素个数(PredictorNames)gydF4y2Ba
必须是相等的。gydF4y2Ba默认情况下,gydF4y2Ba
PredictorNamesgydF4y2Ba
是gydF4y2Ba{x1, x2,…}gydF4y2Ba
.gydF4y2Ba
如果你提供gydF4y2Ba
资源描述gydF4y2Ba
,那么你就可以使用了gydF4y2BaPredictorNamesgydF4y2Ba
选择在训练中使用哪些预测变量。也就是说,gydF4y2BafitrgamgydF4y2Ba
中仅使用预测变量gydF4y2BaPredictorNamesgydF4y2Ba
以及训练中的响应变量。gydF4y2BaPredictorNamesgydF4y2Ba
的子集gydF4y2BaTbl.Properties.VariableNamesgydF4y2Ba
并且不能包括响应变量的名称。gydF4y2Ba默认情况下,gydF4y2Ba
PredictorNamesgydF4y2Ba
包含所有预测变量的名称。gydF4y2Ba一个好的实践是使用其中一种来指定训练的预测器gydF4y2Ba
PredictorNamesgydF4y2Ba
或gydF4y2Ba公式gydF4y2Ba
,但不是两者都有。gydF4y2Ba
例子:gydF4y2Ba“PredictorNames”(“SepalLength”、“SepalWidth”,“PetalLength”,“PetalWidth”)gydF4y2Ba
数据类型:gydF4y2Ba字符串gydF4y2Ba
|gydF4y2Ba细胞gydF4y2Ba
ResponseNamegydF4y2Ba
- - - - - -gydF4y2Ba响应变量名gydF4y2Ba
“Y”gydF4y2Ba
(默认)|gydF4y2Ba特征向量gydF4y2Ba|gydF4y2Ba字符串标量gydF4y2Ba
响应变量名,指定为字符向量或字符串标量。gydF4y2Ba
如果你提供gydF4y2Ba
YgydF4y2Ba
,那么你就可以使用了gydF4y2BaResponseNamegydF4y2Ba
为响应变量指定名称。gydF4y2Ba如果你提供gydF4y2Ba
ResponseVarNamegydF4y2Ba
或gydF4y2Ba公式gydF4y2Ba
,那么你就不能用了gydF4y2BaResponseNamegydF4y2Ba
.gydF4y2Ba
例子:gydF4y2Ba“ResponseName”、“反应”gydF4y2Ba
数据类型:gydF4y2Ba字符gydF4y2Ba
|gydF4y2Ba字符串gydF4y2Ba
ResponseTransformgydF4y2Ba
- - - - - -gydF4y2Ba响应转换gydF4y2Ba
“没有”gydF4y2Ba
(默认)|gydF4y2Ba函数处理gydF4y2Ba
响应转换,指定为任意一种gydF4y2Ba“没有”gydF4y2Ba
或者一个函数句柄。默认为gydF4y2Ba“没有”gydF4y2Ba
,这意味着gydF4y2Ba@ (y) ygydF4y2Ba
,或者没有变换。对于MATLAB函数或您定义的函数,使用其函数句柄进行响应变换。函数句柄必须接受一个向量(原始响应值)并返回一个相同大小的向量(转换后的响应值)。gydF4y2Ba
例子:gydF4y2Ba假设您创建了一个函数句柄,通过使用将指数变换应用于输入向量gydF4y2BaMyfunction = @(y)exp(y)gydF4y2Ba
.然后,您可以将响应转换指定为gydF4y2Bamyfunction ResponseTransform,gydF4y2Ba
.gydF4y2Ba
数据类型:gydF4y2Ba字符gydF4y2Ba
|gydF4y2Ba字符串gydF4y2Ba
|gydF4y2Bafunction_handlegydF4y2Ba
详细的gydF4y2Ba
- - - - - -gydF4y2Ba冗长的水平gydF4y2Ba
0gydF4y2Ba
(默认)|gydF4y2Ba1gydF4y2Ba
|gydF4y2Ba2gydF4y2Ba
详细级别,指定为gydF4y2Ba0gydF4y2Ba
,gydF4y2Ba1gydF4y2Ba
,或gydF4y2Ba2gydF4y2Ba
.的gydF4y2Ba详细的gydF4y2Ba
value控制软件在命令窗口中显示的信息量。gydF4y2Ba
下表总结了可用的详细级别选项。gydF4y2Ba
价值gydF4y2Ba | 描述gydF4y2Ba |
---|---|
0gydF4y2Ba |
软件没有显示任何信息。gydF4y2Ba |
1gydF4y2Ba |
该软件显示诊断信息每gydF4y2BanumPrintgydF4y2Ba 迭代,gydF4y2BanumPrintgydF4y2Ba 是gydF4y2Ba“NumPrint”gydF4y2Ba 价值。gydF4y2Ba |
2gydF4y2Ba |
软件在每次迭代时显示诊断消息。gydF4y2Ba |
诊断消息的每一行都显示了关于每个增强迭代的信息,并包括以下列:gydF4y2Ba
类型gydF4y2Ba
-训练树木的类型,gydF4y2Ba1 dgydF4y2Ba
(预测树,或用于预测器的线性项的增强树)或gydF4y2Ba二维gydF4y2Ba
(交互树,或预测器交互术语的增强树)gydF4y2BaNumTreesgydF4y2Ba
-每个线性项或交互项的树数gydF4y2BafitrgamgydF4y2Ba
到目前为止添加到模型中gydF4y2Ba异常gydF4y2Ba
- - - - - -gydF4y2Ba异常gydF4y2Ba模型的gydF4y2BaRelTolgydF4y2Ba
-模型预测的相对变化:gydF4y2Ba ,在那里gydF4y2Ba 迭代时模型预测的列向量吗gydF4y2BakgydF4y2BaLearnRategydF4y2Ba
-当前迭代使用的学习率gydF4y2Ba
例子:gydF4y2Ba“详细”,1gydF4y2Ba
数据类型:gydF4y2Ba单gydF4y2Ba
|gydF4y2Ba双gydF4y2Ba
权重gydF4y2Ba
- - - - - -gydF4y2Ba观察权重gydF4y2Ba
(大小(X, 1), 1)gydF4y2Ba
(默认)|gydF4y2Ba标量向量gydF4y2Ba|gydF4y2Ba变量名gydF4y2Ba资源描述gydF4y2Ba
观察权重,指定为矢量的标量值或变量的名称gydF4y2Ba资源描述gydF4y2Ba
.软件对每一行的观察结果进行加权gydF4y2BaXgydF4y2Ba
或gydF4y2Ba资源描述gydF4y2Ba
中对应的值gydF4y2Ba权重gydF4y2Ba
.的大小gydF4y2Ba权重gydF4y2Ba
必须等于行数gydF4y2BaXgydF4y2Ba
或gydF4y2Ba资源描述gydF4y2Ba
.gydF4y2Ba
如果将输入数据指定为表gydF4y2Ba资源描述gydF4y2Ba
,然后gydF4y2Ba权重gydF4y2Ba
可以是变量名中的gydF4y2Ba资源描述gydF4y2Ba
它包含一个数值向量。在这种情况下,您必须指定gydF4y2Ba权重gydF4y2Ba
作为字符向量或字符串标量。例如,如果权重向量gydF4y2BaWgydF4y2Ba
存储为gydF4y2Ba资源描述。WgydF4y2Ba
,然后指定为gydF4y2Ba' W 'gydF4y2Ba
.gydF4y2Ba
fitrgamgydF4y2Ba
的值规范化gydF4y2Ba权重gydF4y2Ba
和为1。gydF4y2Ba
数据类型:gydF4y2Ba单gydF4y2Ba
|gydF4y2Ba双gydF4y2Ba
|gydF4y2Ba字符gydF4y2Ba
|gydF4y2Ba字符串gydF4y2Ba
请注意gydF4y2Ba
方法时,不能使用任何交叉验证名称-值参数gydF4y2Ba“OptimizeHyperparameters”gydF4y2Ba
名称-值参数。您可以修改交叉验证gydF4y2Ba“OptimizeHyperparameters”gydF4y2Ba
只有使用gydF4y2Ba“HyperparameterOptimizationOptions”gydF4y2Ba
名称-值参数。gydF4y2Ba
CrossValgydF4y2Ba
- - - - - -gydF4y2Ba标记来训练交叉验证的模型gydF4y2Ba
“关闭”gydF4y2Ba
(默认)|gydF4y2Ba“上”gydF4y2Ba
标记来训练交叉验证的模型,指定为gydF4y2Ba“上”gydF4y2Ba
或gydF4y2Ba“关闭”gydF4y2Ba
.gydF4y2Ba
如果你指定gydF4y2Ba“上”gydF4y2Ba
,然后该软件用10次折叠训练交叉验证的模型。gydF4y2Ba
方法重写此交叉验证设置gydF4y2Ba“CVPartition”gydF4y2Ba
,gydF4y2Ba“坚持”gydF4y2Ba
,gydF4y2Ba“KFold”gydF4y2Ba
,或gydF4y2Ba“Leaveout”gydF4y2Ba
名称-值参数。在创建交叉验证模型时,一次只能使用一个交叉验证名称-值参数。gydF4y2Ba
或者,在创建模型后通过传递交叉验证gydF4y2BaMdlgydF4y2Ba
来gydF4y2BacrossvalgydF4y2Ba
.gydF4y2Ba
例子:gydF4y2Ba“Crossval”,“上”gydF4y2Ba
CVPartitiongydF4y2Ba
- - - - - -gydF4y2Ba交叉验证分区gydF4y2Ba
[]gydF4y2Ba
(默认)|gydF4y2BacvpartitiongydF4y2Ba
分区对象gydF4y2Ba
交叉验证分区,指定为gydF4y2BacvpartitiongydF4y2Ba
创建的分区对象gydF4y2BacvpartitiongydF4y2Ba
.分区对象指定交叉验证的类型以及训练集和验证集的索引。gydF4y2Ba
要创建交叉验证的模型,您只能指定以下四个名称-值参数中的一个:gydF4y2BaCVPartitiongydF4y2Ba
,gydF4y2Ba坚持gydF4y2Ba
,gydF4y2BaKFoldgydF4y2Ba
,或gydF4y2BaLeaveoutgydF4y2Ba
.gydF4y2Ba
例子:gydF4y2Ba假设您创建一个随机分区,对500个观察结果进行5次交叉验证,使用gydF4y2Bacvp = cvpartition(500,'KFold',5)gydF4y2Ba
.然后,您可以通过使用指定交叉验证的模型gydF4y2Ba“CVPartition”,本量利gydF4y2Ba
.gydF4y2Ba
坚持gydF4y2Ba
- - - - - -gydF4y2Ba顽固性验证的数据比例gydF4y2Ba
范围(0,1)中的标量值gydF4y2Ba
用于拒绝验证的数据的百分比,指定为范围(0,1)中的标量值。如果你指定gydF4y2Ba‘坚持’,pgydF4y2Ba
,然后软件完成以下步骤:gydF4y2Ba
随机选择并保留gydF4y2Ba
p * 100gydF4y2Ba
%的数据作为验证数据,并使用其余数据训练模型。gydF4y2Ba将紧凑的、训练过的模型存储在gydF4y2Ba
训练有素的gydF4y2Ba
交叉验证模型的属性。gydF4y2Ba
要创建交叉验证的模型,您只能指定以下四个名称-值参数中的一个:gydF4y2BaCVPartitiongydF4y2Ba
,gydF4y2Ba坚持gydF4y2Ba
,gydF4y2BaKFoldgydF4y2Ba
,或gydF4y2BaLeaveoutgydF4y2Ba
.gydF4y2Ba
例子:gydF4y2Ba“坚持”,0.1gydF4y2Ba
数据类型:gydF4y2Ba双gydF4y2Ba
|gydF4y2Ba单gydF4y2Ba
KFoldgydF4y2Ba
- - - - - -gydF4y2Ba折叠数gydF4y2Ba
10gydF4y2Ba
(默认)|gydF4y2Ba大于1的正整数值gydF4y2Ba
交叉验证模型中使用的折叠数,指定为大于1的正整数值。如果你指定gydF4y2BaKFold, kgydF4y2Ba
,然后软件完成以下步骤:gydF4y2Ba
将数据随机划分为gydF4y2Ba
kgydF4y2Ba
集。gydF4y2Ba对于每个集合,保留该集合作为验证数据,并使用另一个集合训练模型gydF4y2Ba
kgydF4y2Ba
- 1gydF4y2Ba集。gydF4y2Ba存储gydF4y2Ba
kgydF4y2Ba
紧凑,训练有素的模型gydF4y2BakgydF4y2Ba
的-by-1单元格向量gydF4y2Ba训练有素的gydF4y2Ba
交叉验证模型的属性。gydF4y2Ba
要创建交叉验证的模型,您只能指定以下四个名称-值参数中的一个:gydF4y2BaCVPartitiongydF4y2Ba
,gydF4y2Ba坚持gydF4y2Ba
,gydF4y2BaKFoldgydF4y2Ba
,或gydF4y2BaLeaveoutgydF4y2Ba
.gydF4y2Ba
例子:gydF4y2Ba“KFold”,5gydF4y2Ba
数据类型:gydF4y2Ba单gydF4y2Ba
|gydF4y2Ba双gydF4y2Ba
LeaveoutgydF4y2Ba
- - - - - -gydF4y2Ba省略一个交叉验证标志gydF4y2Ba
“关闭”gydF4y2Ba
(默认)|gydF4y2Ba“上”gydF4y2Ba
省略一个交叉验证标志,指定为gydF4y2Ba“上”gydF4y2Ba
或gydF4y2Ba“关闭”gydF4y2Ba
.如果你指定gydF4y2Ba“Leaveout”,“上”gydF4y2Ba
,然后对每个的gydF4y2BangydF4y2Ba观察(gydF4y2BangydF4y2Ba(不包括遗漏的观测数据)的观测数据数目是否已列明gydF4y2BaNumObservationsgydF4y2Ba
属性的模型),软件完成这些步骤:gydF4y2Ba
保留一个观察数据作为验证数据,并使用另一个数据训练模型gydF4y2BangydF4y2Ba- 1次观察。gydF4y2Ba
存储gydF4y2BangydF4y2Ba紧凑,训练有素的模型在一个gydF4y2BangydF4y2Ba的-by-1单元格向量gydF4y2Ba
训练有素的gydF4y2Ba
交叉验证模型的属性。gydF4y2Ba
要创建交叉验证的模型,您只能指定以下四个名称-值参数中的一个:gydF4y2BaCVPartitiongydF4y2Ba
,gydF4y2Ba坚持gydF4y2Ba
,gydF4y2BaKFoldgydF4y2Ba
,或gydF4y2BaLeaveoutgydF4y2Ba
.gydF4y2Ba
例子:gydF4y2Ba“Leaveout”,“上”gydF4y2Ba
OptimizeHyperparametersgydF4y2Ba
- - - - - -gydF4y2Ba需要优化的参数gydF4y2Ba
“没有”gydF4y2Ba
(默认)|gydF4y2Ba“汽车”gydF4y2Ba
|gydF4y2Ba“auto-univariate”gydF4y2Ba
|gydF4y2Ba“auto-bivariate”gydF4y2Ba
|gydF4y2Ba“所有”gydF4y2Ba
|gydF4y2Ba“all-univariate”gydF4y2Ba
|gydF4y2Ba“all-bivariate”gydF4y2Ba
|gydF4y2Ba符合条件的参数名的字符串数组或单元格数组gydF4y2Ba|gydF4y2Ba向量的gydF4y2BaoptimizableVariablegydF4y2Ba
对象gydF4y2Ba
要优化的参数,指定为以下值之一:gydF4y2Ba
“没有”gydF4y2Ba
-不要优化。gydF4y2Ba“汽车”gydF4y2Ba
——优化gydF4y2BaInitialLearnRateForPredictorsgydF4y2Ba
,gydF4y2BaNumTreesPerPredictorgydF4y2Ba
,gydF4y2Ba的相互作用gydF4y2Ba
,gydF4y2BaInitialLearnRateForInteractionsgydF4y2Ba
,gydF4y2BaNumTreesPerInteractiongydF4y2Ba
.gydF4y2Ba“auto-univariate”gydF4y2Ba
——优化gydF4y2BaInitialLearnRateForPredictorsgydF4y2Ba
而且gydF4y2BaNumTreesPerPredictorgydF4y2Ba
.gydF4y2Ba“auto-bivariate”gydF4y2Ba
——优化gydF4y2Ba的相互作用gydF4y2Ba
,gydF4y2BaInitialLearnRateForInteractionsgydF4y2Ba
,gydF4y2BaNumTreesPerInteractiongydF4y2Ba
.gydF4y2Ba“所有”gydF4y2Ba
-优化所有符合条件的参数。gydF4y2Ba“all-univariate”gydF4y2Ba
优化所有符合条件的单变量参数。gydF4y2Ba“all-bivariate”gydF4y2Ba
-优化所有符合条件的双变量参数。gydF4y2Ba符合条件的参数名的字符串数组或单元格数组。gydF4y2Ba
向量的gydF4y2Ba
optimizableVariablegydF4y2Ba
对象的输出gydF4y2BahyperparametersgydF4y2Ba
.gydF4y2Ba
符合条件的参数gydF4y2BafitrgamgydF4y2Ba
是:gydF4y2Ba
单变量hyperparametersgydF4y2Ba
InitialLearnRateForPredictorsgydF4y2Ba
- - - - - -gydF4y2BafitrgamgydF4y2Ba
在实值之间搜索,在范围内按对数缩放gydF4y2Ba(1 e - 3, 1)gydF4y2Ba
.gydF4y2BaMaxNumSplitsPerPredictorgydF4y2Ba
- - - - - -gydF4y2BafitrgamgydF4y2Ba
搜索范围内的整数gydF4y2Ba[1, maxNumSplits]gydF4y2Ba
,在那里gydF4y2BamaxNumSplitsgydF4y2Ba
是gydF4y2BaNumObservations-1 30 min (max (2))gydF4y2Ba
.gydF4y2BaNumObservationsgydF4y2Ba
不包括缺失观测值的观测值数是否存储在gydF4y2BaNumObservationsgydF4y2Ba
返回模型的属性gydF4y2BaMdlgydF4y2Ba
.gydF4y2BaNumTreesPerPredictorgydF4y2Ba
- - - - - -gydF4y2BafitrgamgydF4y2Ba
在整数之间搜索,在范围内按对数缩放gydF4y2Ba[10500]gydF4y2Ba
.gydF4y2Ba
二元hyperparametersgydF4y2Ba
的相互作用gydF4y2Ba
- - - - - -gydF4y2BafitrgamgydF4y2Ba
在整数之间搜索,在范围内按对数缩放gydF4y2Ba[0, MaxNumInteractions]gydF4y2Ba
t,gydF4y2BaMaxNumInteractionsgydF4y2Ba
是gydF4y2BaNumPredictors*(NumPredictors - 1)/2gydF4y2Ba
,gydF4y2BaNumPredictorsgydF4y2Ba
用于训练模型的预测器的数量。gydF4y2BaInitialLearnRateForInteractionsgydF4y2Ba
- - - - - -gydF4y2BafitrgamgydF4y2Ba
在实值之间搜索,在范围内按对数缩放gydF4y2Ba(1 e - 3, 1)gydF4y2Ba
.gydF4y2BaMaxNumSplitsPerInteractiongydF4y2Ba
- - - - - -gydF4y2BafitrgamgydF4y2Ba
搜索范围内的整数gydF4y2Ba[1, maxNumSplits]gydF4y2Ba
.gydF4y2BaNumTreesPerInteractiongydF4y2Ba
- - - - - -gydF4y2BafitrgamgydF4y2Ba
在整数之间搜索,在范围内按对数缩放gydF4y2Ba[10500]gydF4y2Ba
.gydF4y2Ba
使用gydF4y2Ba“汽车”gydF4y2Ba
或gydF4y2Ba“所有”gydF4y2Ba
寻找单变量和双变量参数的最优超参数值。或者,您可以使用以下方法找到单变量参数的最佳值gydF4y2Ba“auto-univariate”gydF4y2Ba
或gydF4y2Ba“all-univariate”gydF4y2Ba
然后利用二元参数求最优值gydF4y2Ba“auto-bivariate”gydF4y2Ba
或gydF4y2Ba“all-bivariate”gydF4y2Ba
.有关示例,请参见gydF4y2Ba使用OptimizeHyperparameters优化GAMgydF4y2Ba而且gydF4y2Ba训练广义加性回归模型gydF4y2Ba.gydF4y2Ba
优化尝试最小化交叉验证损失(错误)gydF4y2BafitrgamgydF4y2Ba
通过改变参数。若要控制交叉验证类型和优化的其他方面,请使用gydF4y2BaHyperparameterOptimizationOptionsgydF4y2Ba
名称-值参数。gydF4y2Ba
请注意gydF4y2Ba
的价值gydF4y2Ba“OptimizeHyperparameters”gydF4y2Ba
重写使用其他名称-值参数指定的任何值。例如,设置gydF4y2Ba“OptimizeHyperparameters”gydF4y2Ba
来gydF4y2Ba“汽车”gydF4y2Ba
原因gydF4y2BafitrgamgydF4y2Ba
方法所对应的超参数gydF4y2Ba“汽车”gydF4y2Ba
选项并忽略超参数的任何指定值。gydF4y2Ba
通过传递的向量来设置非默认参数gydF4y2BaoptimizableVariablegydF4y2Ba
具有非默认值的对象。例如:gydF4y2Ba
负载gydF4y2BacarsmallgydF4y2BaParams =超参数(gydF4y2Ba“fitrgam”gydF4y2Ba(功率、重量),MPG);参数(1)。Range = [1e-4,1e6];gydF4y2Ba
通过gydF4y2Ba参数个数gydF4y2Ba
作为价值gydF4y2BaOptimizeHyperparametersgydF4y2Ba
.gydF4y2Ba
默认情况下,迭代显示出现在命令行上,并根据优化中的超参数数量显示图形。对于优化和绘图,目标函数为gydF4y2BaLog(1 +交叉验证损失)gydF4y2Ba.要控制迭代显示,请设置gydF4y2Ba详细的gydF4y2Ba
字段gydF4y2Ba“HyperparameterOptimizationOptions”gydF4y2Ba
名称-值参数。为了控制情节,设置gydF4y2BaShowPlotsgydF4y2Ba
字段gydF4y2Ba“HyperparameterOptimizationOptions”gydF4y2Ba
名称-值参数。gydF4y2Ba
例子:gydF4y2Ba“OptimizeHyperparameters”、“汽车”gydF4y2Ba
HyperparameterOptimizationOptionsgydF4y2Ba
- - - - - -gydF4y2Ba优化选项gydF4y2Ba
结构gydF4y2Ba
用于优化的选项,指定为结构。的效果gydF4y2BaOptimizeHyperparametersgydF4y2Ba
名称-值参数。结构中的所有字段都是可选的。gydF4y2Ba
字段名gydF4y2Ba | 值gydF4y2Ba | 默认的gydF4y2Ba |
---|---|---|
优化器gydF4y2Ba |
|
“bayesopt”gydF4y2Ba |
AcquisitionFunctionNamegydF4y2Ba |
名称包括的获取函数gydF4y2Ba |
“expected-improvement-per-second-plus”gydF4y2Ba |
MaxObjectiveEvaluationsgydF4y2Ba |
目标函数求值的最大个数。gydF4y2Ba | 30.gydF4y2Ba 为gydF4y2Ba“bayesopt”gydF4y2Ba 而且gydF4y2Ba“randomsearch”gydF4y2Ba ,而整个电网为gydF4y2Ba“gridsearch”gydF4y2Ba |
MaxTimegydF4y2Ba |
时间限制,指定为正实标量。时间限制以秒为单位,由gydF4y2Ba |
正gydF4y2Ba |
NumGridDivisionsgydF4y2Ba |
为gydF4y2Ba“gridsearch”gydF4y2Ba ,表示每个维度中值的数量。该值可以是一个正整数向量,给出每个维度的值的数量,也可以是一个适用于所有维度的标量。对于分类变量,该字段将被忽略。gydF4y2Ba |
10gydF4y2Ba |
ShowPlotsgydF4y2Ba |
指示是否显示图的逻辑值。如果gydF4y2Ba真正的gydF4y2Ba ,该字段根据迭代次数绘制最佳观测目标函数值。如果使用贝叶斯优化(gydF4y2Ba优化器gydF4y2Ba 是gydF4y2Ba“bayesopt”gydF4y2Ba ),则该字段也绘制出目标函数的最佳估计值。最佳观测目标函数值和最佳估计目标函数值对应于gydF4y2BaBestSoFar(观察)gydF4y2Ba 而且gydF4y2BaBestSoFar (estim)。gydF4y2Ba 列的迭代分别显示。您可以在属性中找到这些值gydF4y2BaObjectiveMinimumTracegydF4y2Ba 而且gydF4y2BaEstimatedObjectiveMinimumTracegydF4y2Ba 的gydF4y2BaMdl。HyperparameterOptimizationResultsgydF4y2Ba .如果问题包含一个或两个用于贝叶斯优化的优化参数,则gydF4y2BaShowPlotsgydF4y2Ba 还绘制了目标函数对参数的模型。gydF4y2Ba |
真正的gydF4y2Ba |
SaveIntermediateResultsgydF4y2Ba |
时是否保存结果的逻辑值gydF4y2Ba优化器gydF4y2Ba 是gydF4y2Ba“bayesopt”gydF4y2Ba .如果gydF4y2Ba真正的gydF4y2Ba ,此字段将覆盖名为gydF4y2Ba“BayesoptResults”gydF4y2Ba 在每次迭代中。变量是agydF4y2BaBayesianOptimizationgydF4y2Ba 对象。gydF4y2Ba |
假gydF4y2Ba |
详细的gydF4y2Ba |
在命令行显示:gydF4y2Ba
详细信息请参见gydF4y2Ba |
1gydF4y2Ba |
UseParallelgydF4y2Ba |
指示是否并行运行贝叶斯优化的逻辑值,这需要并行计算工具箱™。由于并行计时的不可再现性,并行贝叶斯优化不一定产生可再现的结果。详细信息请参见gydF4y2Ba并行贝叶斯优化gydF4y2Ba.gydF4y2Ba | 假gydF4y2Ba |
重新分区gydF4y2Ba |
指示是否在每次迭代中重新划分交叉验证的逻辑值。如果这个字段是gydF4y2Ba 设置gydF4y2Ba |
假gydF4y2Ba |
使用以下三个选项中的一个即可。gydF4y2Ba | ||
CVPartitiongydF4y2Ba |
一个gydF4y2BacvpartitiongydF4y2Ba 对象创建的gydF4y2BacvpartitiongydF4y2Ba |
“Kfold”,5gydF4y2Ba 如果没有指定交叉验证字段gydF4y2Ba |
坚持gydF4y2Ba |
范围内的标量gydF4y2Ba(0,1)gydF4y2Ba 表示抵抗分数gydF4y2Ba |
|
KfoldgydF4y2Ba |
大于1的整数gydF4y2Ba |
例子:gydF4y2Ba“HyperparameterOptimizationOptions”、结构(MaxObjectiveEvaluations, 60)gydF4y2Ba
数据类型:gydF4y2Ba结构体gydF4y2Ba
输出参数gydF4y2Ba
MdlgydF4y2Ba
-训练过的广义加法模型gydF4y2Ba
RegressionGAMgydF4y2Ba
模型对象|gydF4y2BaRegressionPartitionedGAMgydF4y2Ba
交叉验证的模型对象gydF4y2Ba
训练过的广义加性模型,作为本表中的模型对象之一返回。gydF4y2Ba
模型对象gydF4y2Ba | 训练模型对象的交叉验证选项gydF4y2Ba | 使用模型对象预测响应的方法gydF4y2Ba |
---|---|---|
RegressionGAMgydF4y2Ba |
没有一个gydF4y2Ba | 使用gydF4y2Ba预测gydF4y2Ba 预测对新观察的反应,并使用gydF4y2BaresubPredictgydF4y2Ba 预测训练观察的反应。gydF4y2Ba |
RegressionPartitionedGAMgydF4y2Ba |
指定名称-值参数gydF4y2BaKFoldgydF4y2Ba ,gydF4y2Ba坚持gydF4y2Ba ,gydF4y2BaLeaveoutgydF4y2Ba ,gydF4y2BaCrossValgydF4y2Ba ,或gydF4y2BaCVPartitiongydF4y2Ba |
使用gydF4y2BakfoldPredictgydF4y2Ba 预测观察结果的反应gydF4y2BafitrgamgydF4y2Ba 坚持训练。gydF4y2BakfoldPredictgydF4y2Ba 通过使用在没有观察的情况下训练的模型来预测每个观察的响应。gydF4y2Ba |
引用gydF4y2BaMdlgydF4y2Ba
,使用点表示法。例如,输入gydF4y2BaMdl。的相互作用gydF4y2Ba
在命令窗口中显示交互项gydF4y2BaMdlgydF4y2Ba
.gydF4y2Ba
更多关于gydF4y2Ba
回归的广义加性模型gydF4y2Ba
广义可加性模型(GAM)是一种可解释的模型,它使用预测因子的单变量和双变量形状函数的和来解释响应变量。gydF4y2Ba
fitrgamgydF4y2Ba
使用增强树作为每个预测器的形状函数,并可选地,每对预测器;因此,该函数可以捕获预测器和响应变量之间的非线性关系。由于各个形状函数对预测(响应值)的贡献被很好地分离,模型易于解释。gydF4y2Ba
标准的GAM为每个预测器使用一个单变量形状函数。gydF4y2Ba
在哪里gydF4y2BaygydF4y2Ba响应变量是否服从均值正态分布gydF4y2BaμgydF4y2Ba还有标准差gydF4y2BaσgydF4y2Ba.gydF4y2BaggydF4y2Ba(gydF4y2BaμgydF4y2Ba)gydF4y2Ba是恒等链接函数,和gydF4y2BacgydF4y2Ba是一个截距(常数)项。gydF4y2BafgydF4y2Ba我gydF4y2Ba(gydF4y2BaxgydF4y2Ba我gydF4y2Ba的单变量形状函数gydF4y2Ba我gydF4y2Ba预测器,它是预测器线性项的增强树(预测器树)。gydF4y2Ba
通过向模型中添加重要交互项的二元形状函数,可以在模型中包含预测因子之间的交互。gydF4y2Ba
在哪里gydF4y2BafgydF4y2BaijgydF4y2Ba(gydF4y2BaxgydF4y2Ba我gydF4y2BaxgydF4y2BajgydF4y2Ba的二元形状函数gydF4y2Ba我gydF4y2Bath和gydF4y2BajgydF4y2Ba预测器,这是预测器的交互项的增强树(交互树)。gydF4y2Ba
fitrgamgydF4y2Ba
的基础上查找重要的交互项gydF4y2BapgydF4y2Ba值的gydF4y2BaFgydF4y2Ba测试。详细信息请参见gydF4y2Ba交互项检测gydF4y2Ba.gydF4y2Ba
如果你指定gydF4y2Ba“FitStandardDeviation”gydF4y2Ba
的gydF4y2BafitrgamgydF4y2Ba
作为gydF4y2Ba假gydF4y2Ba
(默认)gydF4y2BafitrgamgydF4y2Ba
训练一个均值模型gydF4y2BaμgydF4y2Ba.如果你指定gydF4y2Ba“FitStandardDeviation”gydF4y2Ba
作为gydF4y2Ba真正的gydF4y2Ba
,然后gydF4y2BafitrgamgydF4y2Ba
为标准偏差训练一个额外的模型gydF4y2BaσgydF4y2Ba并设置gydF4y2BaIsStandardDeviationFitgydF4y2Ba
属性的GAM对象gydF4y2Ba真正的gydF4y2Ba
.gydF4y2Ba
异常gydF4y2Ba
偏差是残差平方和的泛化。它衡量了与饱和模型相比的拟合优度。gydF4y2Ba
拟合模型的偏差是该模型与饱和模型对数似然差值的两倍:gydF4y2Ba
2(日志gydF4y2BalgydF4y2Ba- - - - - -日志gydF4y2BalgydF4y2Ba年代gydF4y2Ba),gydF4y2Ba
在哪里gydF4y2BalgydF4y2Ba而且gydF4y2BalgydF4y2Ba年代gydF4y2Ba分别为拟合模型和饱和模型的似然。饱和模型是具有您可以估计的最大参数数量的模型。gydF4y2Ba
fitrgamgydF4y2Ba
使用偏差来衡量模型拟合的优度,并在每次迭代中找到一个降低偏差的学习率。指定gydF4y2Ba“详细”gydF4y2Ba
设置为1或2,在命令窗口中显示偏差和学习率。gydF4y2Ba
算法gydF4y2Ba
梯度增强算法gydF4y2Ba
fitrgamgydF4y2Ba
使用梯度增强算法拟合广义加性模型(gydF4y2Ba最小二乘提振gydF4y2Ba).gydF4y2Ba
fitrgamgydF4y2Ba
首先构建一组预测树(用于预测器的线性项的增强树),然后构建一组交互树(用于预测器的交互项的增强树)。提升算法最多迭代一次gydF4y2Ba“NumTreesPerPredictor”gydF4y2Ba
预测树的次数,然后迭代最多gydF4y2Ba“NumTreesPerInteraction”gydF4y2Ba
交互树的次数。gydF4y2Ba
对于每个增强迭代,gydF4y2BafitrgamgydF4y2Ba
用学习率建立一组预测树gydF4y2Ba“InitialLearnRateForPredictors”gydF4y2Ba
,或根据学习率构建一组交互树gydF4y2Ba“InitialLearnRateForInteractions”gydF4y2Ba
.gydF4y2Ba
在构建一组树时,该函数每次训练一棵树。它将一棵树与残差相匹配,残差是响应与之前生长的所有树的聚合预测之间的差值。为了控制学习速度的提高,该函数根据学习速率收缩树,然后将树添加到模型中并更新残差。gydF4y2Ba
更新后的模型=当前模型+(学习率)·(新树)gydF4y2Ba
更新残差=当前残差-(学习率)·(由新树解释的响应)gydF4y2Ba
如果添加树集改善了模型拟合(即将拟合的偏差降低了一个大于容差的值),则gydF4y2Ba
fitrgamgydF4y2Ba
移动到下一个迭代。gydF4y2Ba如果添加树的集合并不能提高模型的拟合时gydF4y2Ba
fitrgamgydF4y2Ba
训练线性项,然后函数停止促进线性项的迭代,并开始促进交互项的迭代。如果函数在训练交互项时模型拟合没有改善,则函数终止模型拟合。gydF4y2Ba项可以确定训练停止的原因gydF4y2Ba
ReasonForTerminationgydF4y2Ba
训练模型的属性。gydF4y2Ba
交互项检测gydF4y2Ba
对于每一对相互作用项gydF4y2BaxgydF4y2Ba我gydF4y2BaxgydF4y2BajgydF4y2Ba(指定的gydF4y2Ba公式gydF4y2Ba
或gydF4y2Ba“互动”gydF4y2Ba
),软件执行gydF4y2BaFgydF4y2Ba-test检验该术语是否具有统计学意义。gydF4y2Ba
为了加快这个过程,gydF4y2BafitrgamgydF4y2Ba
将数值预测器放入最多8个等概率的箱子中。如果预测器的唯一值少于8个,则箱子的数量可以小于8个。的gydF4y2BaFgydF4y2Ba-test检查创建的bin的零假设gydF4y2BaxgydF4y2Ba我gydF4y2Ba而且gydF4y2BaxgydF4y2BajgydF4y2Ba具有相同的响应,而不是至少有一个箱子具有与其他箱子不同的响应值。一个小gydF4y2BapgydF4y2Ba-value表示差异显著,这意味着对应的交互项显著,因此加入该项可以提高模型拟合。gydF4y2Ba
fitrgamgydF4y2Ba
使用术语whose构建一组交互树gydF4y2BapgydF4y2Ba-values不大于gydF4y2Ba“MaxPValue”gydF4y2Ba
价值。您可以使用默认值gydF4y2Ba“MaxPValue”gydF4y2Ba
价值gydF4y2Ba1gydF4y2Ba
使用指定的所有术语构建交互树gydF4y2Ba公式gydF4y2Ba
或gydF4y2Ba“互动”gydF4y2Ba
.gydF4y2Ba
fitrgamgydF4y2Ba
属性的重要性顺序将交互项添加到模型中gydF4y2BapgydF4y2Ba值。使用gydF4y2Ba的相互作用gydF4y2Ba
属性,以检查添加到模型中的交互项的顺序。gydF4y2Ba
参考文献gydF4y2Ba
卢、尹、里奇·卡鲁阿纳和约翰内斯·格尔克。分类与回归的可解模型gydF4y2Ba第18届ACM SIGKDD知识发现和数据挖掘国际会议论文集(KDD ' 12)。gydF4y2Ba中国北京:ACM出版社,2012,页150-158。gydF4y2Ba
Lou, Yin, Rich Caruana, Johannes Gehrke和Giles Hooker。“精确可解模型与成对交互。”gydF4y2Ba第19届ACM SIGKDD知识发现和数据挖掘国际会议论文集gydF4y2Ba芝加哥,伊利诺伊州,美国:ACM出版社,2013,pp. 623-631。gydF4y2Ba
扩展功能gydF4y2Ba
自动平行支撑金宝appgydF4y2Ba
通过使用并行计算工具箱™自动并行运行计算来加速代码。gydF4y2Ba
要执行并行超参数优化,请使用gydF4y2Ba“HyperparameterOptimizationOptions”、结构(UseParallel,真的)gydF4y2Ba
类调用中的名称-值参数gydF4y2BafitrgamgydF4y2Ba
函数。gydF4y2Ba
有关并行超参数优化的更多信息,请参见gydF4y2Ba并行贝叶斯优化gydF4y2Ba.gydF4y2Ba
有关并行计算的一般信息,请参见gydF4y2Ba运行MATLAB函数与自动并行支持金宝appgydF4y2Ba(并行计算工具箱)gydF4y2Ba.gydF4y2Ba
版本历史gydF4y2Ba
R2021a中引入gydF4y2Ba
另请参阅gydF4y2Ba
预测gydF4y2Ba
|gydF4y2Ba重新开始gydF4y2Ba
|gydF4y2BaaddInteractionsgydF4y2Ba
|gydF4y2BaRegressionGAMgydF4y2Ba
|gydF4y2BaRegressionPartitionedGAMgydF4y2Ba
主题gydF4y2Ba
Abrir比如gydF4y2Ba
Tiene una versión modificada de este ejemplo。¿Desea abrir este ejemplo con sus modificaciones?gydF4y2Ba
MATLAB突击队gydF4y2Ba
Ha hecho clic en unenlace que对应一个este commando de MATLAB:gydF4y2Ba
弹射突击队introduciéndolo en la ventana de commandos de MATLAB。Los navegadores web no permission comandos de MATLAB。gydF4y2Ba
选择网站gydF4y2Ba
选择一个网站,在可用的地方获得翻译的内容,并查看当地的活动和优惠。根据您所在的位置,我们建议您选择:gydF4y2Ba.gydF4y2Ba
您也可以从以下列表中选择一个网站:gydF4y2Ba
如何获得最佳的网站性能gydF4y2Ba
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。gydF4y2Ba
美洲gydF4y2Ba
- 美国拉丁gydF4y2Ba(西班牙语)gydF4y2Ba
- 加拿大gydF4y2Ba(英语)gydF4y2Ba
- 美国gydF4y2Ba(英语)gydF4y2Ba
欧洲gydF4y2Ba
- 比利时gydF4y2Ba(英语)gydF4y2Ba
- 丹麦gydF4y2Ba(英语)gydF4y2Ba
- 德国gydF4y2Ba(德语)gydF4y2Ba
- 西班牙gydF4y2Ba(西班牙语)gydF4y2Ba
- 芬兰gydF4y2Ba(英语)gydF4y2Ba
- 法国gydF4y2Ba(法语)gydF4y2Ba
- 爱尔兰gydF4y2Ba(英语)gydF4y2Ba
- 意大利gydF4y2Ba(意大利语)gydF4y2Ba
- 卢森堡gydF4y2Ba(英语)gydF4y2Ba
- 荷兰gydF4y2Ba(英语)gydF4y2Ba
- 挪威gydF4y2Ba(英语)gydF4y2Ba
- 奥地利gydF4y2Ba(德语)gydF4y2Ba
- 葡萄牙gydF4y2Ba(英语)gydF4y2Ba
- 瑞典gydF4y2Ba(英语)gydF4y2Ba
- 瑞士gydF4y2Ba
- 联合王国gydF4y2Ba(英语)gydF4y2Ba
亚太地区gydF4y2Ba
- 澳大利亚gydF4y2Ba(英语)gydF4y2Ba
- 印度gydF4y2Ba(英语)gydF4y2Ba
- 新西兰gydF4y2Ba(英语)gydF4y2Ba
- 中国gydF4y2Ba
- 日本gydF4y2Ba(日本語)gydF4y2Ba
- 한국gydF4y2Ba(한국어)gydF4y2Ba