fitrtree
拟合二叉决策树进行回归
语法
描述
返回基于表中输入变量(也称为预测器、特性或属性)的回归树树
= fitrtree (资源描述
,ResponseVarName
)资源描述
而输出(响应)包含在资源描述。ResponseVarName
.返回的树
是否是一个二叉树,其中每个分支节点都基于列的值进行分割资源描述
.
例子
构建回归树
加载样例数据。
负载carsmall
使用示例数据构造一个回归树。响应变量是每加仑英里数,MPG。
([重量,气缸],MPG,...“CategoricalPredictors”,2,“MinParentSize”, 20岁,...“PredictorNames”, {' W ',“C”})
tree = RegressionTree PredictorNames: {'W' 'C'} ResponseName: 'Y' CategoricalPredictors: 2 ResponseTransform: 'none' NumObservations: 94属性,方法
预测4000磅的4、6、8汽缸汽车的里程。
MPG4Kpred = predict(树,[4000 4;4000 6;4000 8])
MPG4Kpred =3×119.2778 19.2778 14.3889
控制回归树深度
fitrtree
默认情况下生长深度决策树。您可以种植较浅的树以减少模型复杂性或计算时间。要控制树的深度,请使用“MaxNumSplits”
,“MinLeafSize”
,或“MinParentSize”
名称-值对参数。
加载carsmall
数据集。考虑位移
,马力
,重量
作为反应的预测因子英里/加仑
.
负载carsmallX =[排量马力重量];
用于生长回归树的树深度控制器的默认值是:
N - 1
为MaxNumSplits
.n
是训练样本量。1
为MinLeafSize
.10
为MinParentSize
.
对于大的训练样本容量,这些默认值倾向于生长较深的树。
使用用于树深度控制的默认值训练回归树。使用10倍交叉验证交叉验证模型。
rng (1);%用于重现性MdlDefault = fitrtree(X,MPG,“CrossVal”,“上”);
画一个直方图的数量施加的分裂在树上。分裂的数量比叶结点的数量少一个。另外,查看其中一棵树。
numBranches = @(x)sum(x. isbranch);mdldefaultnum劈裂= cellfun(numBranches, mdldefault . training);图;直方图(mdlDefaultNumSplits)
视图(MdlDefault。训练有素的{1},“模式”,“图”)
平均分裂次数在14到15之间。
假设您想要一个回归树,它不像使用默认拆分次数训练的树那样复杂(深度)。训练另一棵回归树,但将最大拆分数设置为7,这大约是默认回归树拆分平均数的一半。使用10倍交叉验证交叉验证模型。
Mdl7 = fitrtree(X,MPG,“MaxNumSplits”7“CrossVal”,“上”);视图(Mdl7。Trained{1},“模式”,“图”)
比较模型的交叉验证均方误差(MSEs)。
mseDefault = kfoldLoss(MdlDefault)
mseDefault = 25.7383
mse7 = kfoldLoss(Mdl7)
Mse7 = 26.5748
Mdl7
的复杂度要低得多,性能只比MdlDefault
.
优化回归树
自动优化超参数使用fitrtree
.
加载carsmall
数据集。
负载carsmall
使用重量
而且马力
作为预测因素英里/加仑
.通过使用自动超参数优化找到最小化五倍交叉验证损失的超参数。
为了再现性,设置随机种子并使用“expected-improvement-plus”
采集功能。
X =[重量,马力];Y = mpg;rng默认的Mdl = fitrtree(X,Y,“OptimizeHyperparameters”,“汽车”,...“HyperparameterOptimizationOptions”结构(“AcquisitionFunctionName”,...“expected-improvement-plus”))
|======================================================================================| | Iter | Eval |目的:| |目的BestSoFar | BestSoFar | MinLeafSize | | | |结果日志(1 +损失)运行时| | | (estim(观察) .) | | |======================================================================================| | 最好1 | | 3.2818 | 0.25316 | 3.2818 | 3.2818 | 28 | | 2 |接受| 3.4183 | 0.074814 | 3.2818 | 3.2888 | 1 | | 3 |最好| 3.1457 | 0.089169 | 3.1457 | 3.1628 | 4 | | 4 |最好| 2.9885 | 0.083979 | 2.9885 | 2.9885 | 9 | | 5 |接受| 2.9978 | 0.080187 | 2.9885 | 2.9885 | 7 | | 6 | |3.0203 | 0.087941 | 2.9885 | 3.0013 | 8 | | | 7日接受| 2.9885 | 0.061282 | 2.9885 | 2.9981 | 9 | | 8最好| | 2.9589 | 0.066585 | 2.9589 | 2.9589 | 10 | | | 9日接受| 3.078 | 0.12412 | 2.9589 | 2.9888 | 13 | | |接受10 | 4.1881 | 0.10357 | 2.9589 | 2.9592 | 50 | | | 11日接受| 3.4182 | 0.10788 | 2.9589 | 2.9592 | 2 | | | 12日接受| 3.0376 | 0.096083 | 2.9589 | 2.9591 | 6 | | | 13日接受| 3.1453 | 0.058688 | 2.9589 | 2.9591 | 20 | | | 14日接受| 2.9589 | 0.082427 | 2.9589 | 2.959 | 10 ||15 | Accept | 3.0123 | 0.062489 | 2.9589 | 2.9728 | 11 | | 16 | Accept | 2.9589 | 0.064625 | 2.9589 | 2.9593 | 10 | | 17 | Accept | 3.3055 | 0.13495 | 2.9589 | 2.9593 | 3 | | 18 | Accept | 2.9589 | 0.064752 | 2.9589 | 2.9592 | 10 | | 19 | Accept | 3.4577 | 0.056917 | 2.9589 | 2.9591 | 37 | | 20 | Accept | 3.2166 | 0.12737 | 2.9589 | 2.959 | 16 | |======================================================================================| | Iter | Eval | Objective: | Objective | BestSoFar | BestSoFar | MinLeafSize | | | result | log(1+loss) | runtime | (observed) | (estim.) | | |======================================================================================| | 21 | Accept | 3.107 | 0.20469 | 2.9589 | 2.9591 | 5 | | 22 | Accept | 3.2818 | 0.15804 | 2.9589 | 2.959 | 24 | | 23 | Accept | 3.3226 | 0.071334 | 2.9589 | 2.959 | 32 | | 24 | Accept | 4.1881 | 0.075421 | 2.9589 | 2.9589 | 43 | | 25 | Accept | 3.1789 | 0.05161 | 2.9589 | 2.9589 | 18 | | 26 | Accept | 3.0992 | 0.11031 | 2.9589 | 2.9589 | 14 | | 27 | Accept | 3.0556 | 0.082334 | 2.9589 | 2.9589 | 22 | | 28 | Accept | 3.0459 | 0.097175 | 2.9589 | 2.9589 | 12 | | 29 | Accept | 3.2818 | 0.086324 | 2.9589 | 2.9589 | 26 | | 30 | Accept | 3.4361 | 0.054958 | 2.9589 | 2.9589 | 34 |
__________________________________________________________ 优化完成。最大目标:达到30。总函数评估:30总运行时间:28.5033秒总目标函数评估时间:2.8732最佳观测可行点:MinLeafSize ___________ 10观测目标函数值= 2.9589估计目标函数值= 2.9589估计函数评估时间= 0.066585最佳估计可行点(根据模型):MinLeafSize ___________ 10估计目标函数值= 2.9589估计函数评估时间= 0.088466
Mdl = RegressionTree ResponseName: 'Y' CategoricalPredictors: [] ResponseTransform: 'none' NumObservations: 94 HyperparameterOptimizationResults: [1x1 BayesianOptimization]属性,方法
无偏预测器重要性估计
加载carsmall
数据集。考虑一个模型,它可以根据加速度、气缸数量、发动机排量、马力、制造商、型号年份和重量来预测汽车的平均燃油经济性。考虑气缸
,制造行业
,Model_Year
作为分类变量。
负载carsmall气缸=分类的(气缸);Mfg = categorical(cellstr(Mfg));Model_Year = categorical(Model_Year);X =表(加速度,汽缸,排量,马力,制造,...Model_Year、重量、MPG);
显示类别变量中表示的类别数。
num气缸= numel(categories(气缸))
num气缸= 3
numMfg = numel(categories(Mfg))
numMfg = 28
numModelYear = numel(categories(Model_Year))
numModelYear = 3
因为只有三个类别气缸
而且Model_Year
,标准CART,预测器拆分算法更喜欢拆分连续预测器而不是这两个变量。
使用整个数据集训练一个回归树。要生长无偏树,请指定用于分裂预测器的曲率测试的用法。由于数据中缺少值,请指定代理分割的用法。
Mdl = fitrtree(X,“英里”,“PredictorSelection”,“弯曲”,“代孕”,“上”);
通过将每个预测器上的分裂导致的风险变化相加,并将总和除以分支节点的数量,估计预测器重要性值。用条形图比较估算值。
imp = predictorImportance(Mdl);图;酒吧(imp);标题(“预测重要性估计”);ylabel (“估计”);包含(“预测”);H = gca;h.XTickLabel = Mdl.PredictorNames;h.XTickLabelRotation = 45;h.TickLabelInterpreter =“没有”;
在这种情况下,位移
是最重要的预测因素,其次是马力
.
在高数组上控制树的最大深度
fitrtree
默认情况下生长深度决策树。构建一个较浅的树,需要更少的通过一个高的数组。使用“MaxDepth”
名称-值对参数来控制树的最大深度。
当您在高数组上执行计算时,MATLAB®使用并行池(如果您有并行计算工具箱™则默认)或本地MATLAB会话。如果在拥有并行计算工具箱的情况下,希望使用本地MATLAB会话运行示例,则可以通过使用mapreduce
函数。
加载carsmall
数据集。考虑位移
,马力
,重量
作为反应的预测因子英里/加仑
.
负载carsmallX =[排量马力重量];
转换内存中的数组X
而且英里/加仑
到高数组。
tx =高(X);
使用“本地”配置文件启动并行池(parpool)…连接到并行池(工作人员数量:6)。
ty =高(MPG);
使用所有的观察数据建立一个回归树。让树生长到最大可能的深度。
为了再现性,设置随机数生成器的种子使用rng
而且tallrng
.根据工作人员的数量和tall数组的执行环境,结果可能有所不同。详情请参见控制代码运行的位置.
rng (“默认”) tallrng (“默认”) Mdl = fitrtree(tx,ty);
评估高表达式使用并行池“当地”:——通过1 2:在4.1秒完成,通过2 2:在0.71秒完成评估在6.7秒完成评估高表达式使用并行池“当地”:——通过1 7:在1.4秒完成,通过2 7:在0.29秒完成,通过3 7:在1.5秒完成,通过4 7:在3.3秒完成,通过5 7:在0.63秒完成,通过6 7:在1.2秒完成,通过7 7:在2.6秒完成评估在12秒完成评估高表达式使用并行池“当地”:——通过1 7:在0.36秒完成,通过2 7:在0.27秒完成,通过3 7:在0.85秒完成,通过4 7:在2秒完成,通过5 7:在0.55秒完成,通过6 7:在0.92秒完成,通过7 7:在1.6秒完成评估在7.4秒完成评估高表达式使用并行池“当地”:——通过1 7:在0.32秒完成,通过2 7:在0.29秒完成,通过3 7:在0.89秒完成,通过4 7:在1.9秒完成,通过5 7:在0.83秒完成,通过6 7:在1.2秒完成,通过7 7:在2.4秒完成评估在9秒完成评估高表达使用并行池“当地”:——通过1 7:在0.33秒完成,通过2 7:在0.28秒完成,通过3 7:在0.89秒完成,通过4 7:在2.4秒完成,通过5 7:在0.76秒完成,通过6 7:在1秒完成,通过7 7:在1.7秒完成评估在8.3秒完成评估高表达使用并行池“当地”:——通过1 7:在0.34秒完成,通过2 7:在0.26秒完成,通过3 7:在0.81秒完成,通过4 7:在1.7秒完成,通过5 7:在0.56秒完成,通过6 7:在1秒完成,通过7 7:在1.9秒完成评估在7.4秒完成评估高表达式使用并行池“当地”:——通过1 7:在0.35秒完成,通过2 7:在0.28秒完成,通过3 7:在0.81秒完成,通过4 7:在1.8秒完成,通过5 7:在0.76秒完成,通过6 7:在0.96秒完成,通过7 7:在2.2秒完成评估在8秒完成评估高表达式使用并行池“当地”:——通过1 7:在0.35秒完成,通过2 7:在0.32秒完成,通过3 7:在0.92秒完成,通过4 7:在1.9秒完成,通过5 7:在1秒完成,通过6 7:在1.5秒完成,通过7 7:在2.1秒完成评估在9.2秒完成评估高表达使用并行池“当地”:——通过1 7:在0.33秒完成,通过2 7:在0.28秒完成,通过3 7:在0.82秒完成,通过4 7:在1.4秒完成,通过5 7:在0.61秒内完成-在0.93秒内完成-在1.5秒内完成评估在6.6秒内完成
查看训练过的树Mdl
.
视图(Mdl,“模式”,“图”)
Mdl
树是有深度的吗8
.
估计样本内均方误差。
MSE_Mdl = gather(丢失(Mdl,tx,ty))
使用并行池“local”计算高表达式:-通过1 / 1:在1.6秒内完成计算,在1.9秒内完成
MSE_Mdl = 4.9078
使用所有的观察数据建立一个回归树。通过指定最大树深度来限制树深度4
.
Mdl2 = fitrtree(tx,ty,)“MaxDepth”4);
评估高表达式使用并行池“当地”:——通过1 2:在0.27秒完成,通过2 2:在0.28秒完成评估在0.84秒完成评估高表达式使用并行池“当地”:——通过1 7:在0.36秒完成,通过2 7:在0.3秒完成,通过3 7:在0.95秒完成,通过4 7:在1.6秒完成,通过5 7:在0.55秒完成,通过6 7:在0.93秒完成,通过7 7:在1.5秒完成评估在7秒完成评估高表达式使用并行池“当地”:——通过1 7:在0.34秒完成,通过2 7:在0.3秒完成,通过3 7:在0.95秒完成,通过4 7:在1.7秒完成,通过5 7:在0.57秒完成,通过6 7:在0.94秒完成,通过7 7:在1.8秒完成评估在7.7秒完成评估高表达式使用并行池“当地”:——通过1 7:在0.34秒完成,通过2 7:在0.3秒完成,通过3 7:在0.87秒完成,通过4 7:在1.5秒完成,通过5 7:在0.57秒完成,通过6 7:在0.81秒完成,通过7 7:在1.7秒完成评估在6.9秒完成评估高表达使用并行池“当地”:——通过1 7:在0.32秒完成,通过2 7:在0.27秒完成,通过3 7:在0.85秒完成,通过4 7:在1.6秒完成,通过5 7:在0.63秒内完成-在0.9秒内完成-在1.6秒内完成评估7秒内完成
查看训练过的树Mdl2
.
视图(Mdl2,“模式”,“图”)
估计样本内均方误差。
MSE_Mdl2 = gather(丢失(Mdl2,tx,ty))
通过1 / 1:在0.73秒内完成计算,在1秒内完成
MSE_Mdl2 = 9.3903
Mdl2
是否有深度为4且样本内均方误差高于的较不复杂的树Mdl
.
优化高数组上的回归树
使用高数组自动优化回归树的超参数。样本数据集是carsmall
数据集。本示例将数据集转换为一个高数组,并使用它运行优化过程。
当您在高数组上执行计算时,MATLAB®使用并行池(如果您有并行计算工具箱™则默认)或本地MATLAB会话。如果在拥有并行计算工具箱的情况下,希望使用本地MATLAB会话运行示例,则可以通过使用mapreduce
函数。
加载carsmall
数据集。考虑位移
,马力
,重量
作为反应的预测因子英里/加仑
.
负载carsmallX =[排量马力重量];
转换内存中的数组X
而且英里/加仑
到高数组。
tx =高(X);
使用“本地”配置文件启动并行池(parpool)…连接到并行池(工作人员数量:6)。
ty =高(MPG);
方法自动优化超参数“OptimizeHyperparameters”
名称-值对参数。找到最优方案“MinLeafSize”
最小抵制交叉验证损失的值。(指定“汽车”
使用“MinLeafSize”
)。对于可再现性,使用“expected-improvement-plus”
采集函数和设置种子的随机数生成器使用rng
而且tallrng
.根据工作人员的数量和tall数组的执行环境,结果可能有所不同。详情请参见控制代码运行的位置.
rng (“默认”) tallrng (“默认”[Mdl,FitInfo,HyperparameterOptimizationResults] = fitrtree(tx,ty,...“OptimizeHyperparameters”,“汽车”,...“HyperparameterOptimizationOptions”结构(“坚持”, 0.3,...“AcquisitionFunctionName”,“expected-improvement-plus”))
评估高表达式使用并行池“当地”:通过1对1:在4.4秒完成评估在6.2秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.97秒完成,通过2 4:在1.6秒完成,通过3 4:在3.6秒完成,通过4 4:在2.4秒完成评估在9.8秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.55秒完成,通过2 4:完成1.3秒-通过3 4:在2.7秒完成,通过4 4:在1.9秒完成评估在7.3秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.52秒完成,通过2 4:在1.3秒完成,通过3 4:完成在3秒-通过4 4:在2秒完成评估在8.1秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.55秒完成,通过2 4:完成1.4秒-通过3 4:在2.6秒完成,通过4 4:在2秒完成评估在7.3秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.61秒完成,通过2 4:在1.2秒完成,通过3 4:在2.1秒完成,通过4 4:在1.7秒完成评估在6.5秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.53秒完成,通过2 4:在1.2秒内完成-通过3(4):在2.4秒内完成-通过4(4):在1.6秒内完成评估在6.6秒内完成评估使用并行池'local'的高表达式:-通过1(1):在1.4秒内完成评估在1.7秒内完成|======================================================================================| | Iter | Eval || |目的BestSoFar | BestSoFar | MinLeafSize | | | |结果日志(1 +损失)运行时| | | (estim(观察) .) | | |======================================================================================| | 最好1 | | 3.2007 | 69.013 | 3.2007 | 3.2007 | 2 |
评估高表达式使用并行池“当地”:通过1对1:在0.52秒完成评估在0.83秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.65秒完成,通过2 4:在1.2秒完成,通过3 4:完成在3秒-通过4 4:在2秒完成评估在8.3秒完成评估高表达式使用并行池“当地”:-通过1的1:0.79秒完成评估1秒完成| 2 |错误| NaN | 13.772 | NaN | 3.2007 | 46 |
评估高表达式使用并行池“当地”:通过1对1:在0.52秒完成评估在0.81秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.57秒完成,通过2 4:在1.3秒完成,通过3 4:在2.2秒完成,通过4 4:在1.7秒完成评估在6.6秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.5秒完成,通过2 4:完成1.2秒-通过3 4:在2.7秒完成,通过4 4:在1.7秒完成评估在6.9秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.47秒完成,通过2 4:在1.1秒完成,通过3 4:在2.1秒完成,通过4 4:在1.9秒完成评估在6.4秒完成评估高表达式使用并行池“当地”:-通过1的1:0.72秒完成评估0.99秒完成| 3 |最佳|.1876 | 29.091 | 3.1876 | 3.1884 | 18 |
评估高表达式使用并行池“当地”:通过1对1:在0.48秒完成评估在0.76秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.5秒完成,通过2 4:在1.2秒完成,通过3 4:在1.9秒完成,通过4 4:在1.4秒完成评估在5.8秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.48秒完成,通过2 4:完成1.1秒-通过3 4:完成2秒-通过4 4:在1.5秒完成评估在5.8秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.54秒完成,通过2 4:在1.1秒完成,通过3 4:在1.9秒完成,通过4 4:在1.4秒完成评估在5.7秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.46秒完成,通过2 4:在1.1秒内完成-通过3 / 4:在1.8秒内完成-通过4 / 4:在1.4秒内完成评估在5.5秒内完成使用并行池“local”评估高表达式:-通过1 / 1:在0.64秒内完成评估在0.92秒内完成| 4 |最佳| 2.9048 | 33.465 | 2.9048 | 2.9537 | 6 |
评估高表达式使用并行池“当地”:通过1对1:在0.44秒完成评估在0.71秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.46秒完成,通过2 4:在1.1秒完成,通过3 4:完成2秒-通过4 4:在1.5秒完成评估在5.9秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.47秒完成,通过2 4:完成1.1秒-通过3 4:在1.9秒完成,通过4 4:在1.5秒完成评估在5.7秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.44秒完成,通过2 4:在1.1秒完成,通过3 4:在1.9秒完成,通过4 4:在1.4秒完成评估在5.6秒完成评估高表达式使用并行池“当地”:-通过1的1:0.66秒完成评估0.92秒完成| 5 |接受| 3.2895 | 25.902 | 2.9048 | 2.9048 | 15 |
评估高表达式使用并行池“当地”:通过1对1:在0.54秒完成评估在0.82秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.53秒完成,通过2 4:在1.2秒完成,通过3 4:完成2秒-通过4 4:在1.5秒完成评估在6秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.5秒完成,通过2 4:完成1.1秒-通过3 4:在2.1秒完成,通过4 4:在1.9秒完成评估在6.4秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.49秒完成,通过2 4:在1.1秒完成,通过3 4:在1.9秒完成,通过4 4:在2秒完成评估在6.6秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.45秒完成,通过2 4:在1.1秒内完成-通过3 / 4:在2秒内完成-通过4 / 4:在1.4秒内完成评估在5.8秒内完成使用并行池'local'计算高表达式:-通过1 / 1:在0.68秒内完成评估在0.99秒内完成| 6 |接受| 3.1641 | 35.522 | 2.9048 | 3.1493 | 5 |
评估高表达式使用并行池“当地”:通过1对1:在0.51秒完成评估在0.79秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.67秒完成,通过2 4:在1.3秒完成,通过3 4:在1.8秒完成,通过4 4:在1.4秒完成评估在6.2秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.45秒完成,通过2 4:完成1.1秒-通过3 4:在1.9秒完成,通过4 4:在1.4秒完成评估在5.7秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.48秒完成,通过2 4:在1.4秒完成,通过3 4:在1.8秒完成,通过4 4:在1.4秒完成评估在5.8秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.46秒完成,通过2 4:在1.1秒内完成-通过3 / 4:在1.8秒内完成-通过4 / 4:在1.4秒内完成评估在5.6秒内完成使用并行池'local'计算高表达式:-通过1 / 1:在0.63秒内完成评估在0.89秒内完成| 7 |接受| 2.9048 | 33.755 | 2.9048 | 2.9048 | 6 |
评估高表达式使用并行池“当地”:通过1对1:在0.45秒完成评估在0.75秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.51秒完成,通过2 4:在1.2秒完成,通过3 4:在2.2秒完成,通过4 4:在1.5秒完成评估在6.1秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.49秒完成,通过2 4:完成1.1秒-通过3 4:在1.9秒完成,通过4 4:在1.4秒完成评估在5.6秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.46秒完成,通过2 4:在1.1秒完成,通过3 4:在1.8秒完成,通过4 4:在1.4秒完成评估在5.6秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.45秒完成,通过2 4:在1.1秒内完成-通过3 / 4:在1.8秒内完成-通过4 / 4:在1.3秒内完成评估在5.4秒内完成使用并行池'local'计算高表达式:-通过1 / 1:在0.68秒内完成评估在0.97秒内完成| 8 |接受| 2.9522 | 33.362 | 2.9048 | 2.9048 | 7 |
评估高表达式使用并行池“当地”:通过1对1:在0.42秒完成评估在0.71秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.48秒完成,通过2 4:在1.1秒完成,通过3 4:在1.8秒完成,通过4 4:在1.4秒完成评估在5.5秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.45秒完成,通过2 4:完成1.1秒-通过3 4:在1.8秒完成,通过4 4:在1.4秒完成评估在5.5秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.5秒完成,通过2 4:在1.1秒完成,通过3 4:在1.9秒完成,通过4 4:在1.5秒完成评估在5.7秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.49秒完成,通过2 4:在1.1秒内完成-通过3 / 4:在1.8秒内完成-通过4 / 4:在1.4秒内完成评估在5.5秒内完成使用并行池'local'计算高表达式:-通过1 / 1:在0.64秒内完成评估在0.9秒内完成| 9 |接受| 2.9985 | 32.674 | 2.9048 | 2.9048 | 8 |
评估高表达式使用并行池“当地”:通过1对1:在0.43秒完成评估在0.7秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.47秒完成,通过2 4:在1.1秒完成,通过3 4:在1.8秒完成,通过4 4:在1.4秒完成评估在5.5秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.56秒完成,通过2 4:完成1.2秒-通过3 4:完成2秒-通过4 4:在1.4秒完成评估在6秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.45秒完成,通过2 4:在1.1秒完成,通过3 4:在1.8秒完成,通过4 4:在1.5秒完成评估在5.7秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.47秒完成,通过2 4:在1.1秒内完成-通过3 / 4:在1.8秒内完成-通过4 / 4:在1.6秒内完成评估在5.8秒内完成使用并行池'local'计算高表达式:-通过1 / 1:在0.88秒内完成评估在1.2秒内完成| 10 |接受| 3.0185 | 33.922 | 2.9048 | 2.9048 | 10 |
评估高表达式使用并行池“当地”:通过1对1:在0.44秒完成评估在0.74秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.46秒完成,通过2 4:在1.2秒完成,通过3 4:在1.8秒完成,通过4 4:在1.3秒完成评估在5.6秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.48秒完成,通过2 4:完成1.2秒-通过3 4:完成2秒-通过4 4:在1.6秒完成评估在6.2秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.73秒完成,通过2 4:在1.2秒完成,通过3 4:完成2秒-通过4 4:在1.5秒完成评估在6.2秒完成评估高表达式使用并行池“当地”:-通过1的1:0.63秒完成评估0.88秒完成| 11 | |接受| 3.2895 | 26.625 | 2.9048 | 2.9048 | 14 |
评估高表达式使用并行池“当地”:通过1对1:在0.48秒完成评估在0.78秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.51秒完成,通过2 4:在1.2秒完成,通过3 4:在1.9秒完成,通过4 4:在1.3秒完成评估在5.7秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.48秒完成,通过2 4:在1.2秒内完成-通过3 / 4:在1.8秒内完成-通过4 / 4:在1.4秒内完成评估在5.5秒内完成使用并行池'local'计算高表达式:-通过1 / 1:在0.65秒内完成评估在0.9秒内完成| 12 |接受| 3.4798 | 18.111 | 2.9048 | 2.9049 | 31 |
评估高表达式使用并行池“当地”:通过1对1:在0.44秒完成评估在0.71秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.45秒完成,通过2 4:在1.1秒完成,通过3 4:在1.8秒完成,通过4 4:在1.3秒完成评估在5.4秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.5秒完成,通过2 4:完成1.1秒-通过3 4:在1.8秒完成,通过4 4:在1.3秒完成评估在5.5秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.5秒完成,通过2 4:在1.1秒完成,通过3 4:在1.8秒完成,通过4 4:在1.4秒完成评估在5.5秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.48秒完成,通过2 4:完成1.1秒-通过3 4:在1.8秒完成,通过4 4:在1.4秒完成评估在5.7秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.44秒完成,通过2 4:在1.1秒完成,通过3 4:在1.8秒完成,通过4 4:在1.3秒完成评估在5.4秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.43秒完成,通过2 4:在1.2秒内完成-通过3 / 4:在2秒内完成-通过4 / 4:在1.4秒内完成评估在5.7秒内完成使用并行池'local'计算高表达式:-通过1 / 1:在0.64秒内完成评估在0.91秒内完成| 13 | |接受| 3.2248 | 47.436 | 2.9048 | 2.9048 | 1 |
评估高表达式使用并行池“当地”:通过1对1:在0.46秒完成评估在0.74秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.6秒完成,通过2 4:在1.1秒完成,通过3 4:在1.8秒完成,通过4 4:在1.3秒完成评估在5.5秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.45秒完成,通过2 4:完成1.1秒-通过3 4:在1.8秒完成,通过4 4:在1.4秒完成评估在5.6秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.57秒完成,通过2 4:在1.1秒完成,通过3 4:在2.6秒完成,通过4 4:在1.6秒完成评估在6.6秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.62秒完成,通过2 4:完成1.1秒-通过3 4:在1.8秒完成,通过4 4:在1.4秒完成评估在5.7秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.5秒完成,通过2 4:在1.1秒完成,通过3 4:在1.8秒完成,通过4 4:在1.6秒完成评估在6.1秒完成评估高表达式使用并行池“当地”:-通过1的1:0.61秒完成评估0.88秒完成| 14 b|接受| 3.1498 | 42.062 | 2.9048 | 2.9048 | 3 |
评估高表达式使用并行池“当地”:通过1对1:在0.46秒完成评估在0.76秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.48秒完成,通过2 4:在1.1秒完成,通过3 4:在1.8秒完成,通过4 4:在1.4秒完成评估在5.5秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.5秒完成,通过2 4:完成1.1秒-通过3 4:在1.8秒完成,通过4 4:在1.3秒完成评估在5.5秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.67秒完成,通过2 4:在1.3秒完成,通过3 4:在2.3秒完成,通过4 4:在2.2秒完成评估在7.4秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.45秒完成,通过2 4:在1.1秒内完成-通过3 / 4:在1.8秒内完成-通过4 / 4:在1.4秒内完成评估在5.4秒内完成使用并行池'local'计算高表达式:-通过1 / 1:在0.6秒内完成评估在0.86秒内完成| 15 |接受| 2.9048 | 34.3 | 2.9048 | 2.9048 | 6 |
评估高表达式使用并行池“当地”:通过1对1:在0.48秒完成评估在0.78秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.44秒完成,通过2 4:在1.1秒完成,通过3 4:在1.8秒完成,通过4 4:在1.3秒完成评估在5.5秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.44秒完成,通过2 4:完成1.2秒-通过3 4:在1.8秒完成,通过4 4:在1.4秒完成评估在5.6秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.43秒完成,通过2 4:在1.1秒完成,通过3 4:在1.8秒完成,通过4 4:在1.3秒完成评估在5.4秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.44秒完成,通过2 4:在1.1秒内完成-通过3 / 4:在2秒内完成-通过4 / 4:在1.4秒内完成评估在5.7秒内完成使用并行池'local'计算高表达式:-通过1 / 1:在0.62秒内完成评估在0.88秒内完成| 16 |接受| 2.9048 | 32.97 | 2.9048 | 2.9048 | 6 |
评估高表达式使用并行池“当地”:通过1对1:在0.43秒完成评估在0.73秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.47秒完成,通过2 4:在1.1秒完成,通过3 4:在1.8秒完成,通过4 4:在1.3秒完成评估在5.5秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.43秒完成,通过2 4:在1.1秒内完成-通过3 / 4:在1.8秒内完成-通过4 / 4:在1.3秒内完成评估在5.5秒内完成使用并行池'local'计算高表达式:-通过1 / 1:在0.62秒内完成评估在0.9秒内完成| 17 |接受| 3.1847 | 17.47 | 2.9048 | 2.9048 | 23 |
评估高表达式使用并行池“当地”:通过1对1:在0.43秒完成评估在0.72秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.44秒完成,通过2 4:在1.1秒完成,通过3 4:在1.8秒完成,通过4 4:在1.4秒完成评估在5.7秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.68秒完成,通过2 4:完成1.4秒-通过3 4:在1.9秒完成,通过4 4:在1.4秒完成评估在6.3秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.45秒完成,通过2 4:在1.1秒完成,通过3 4:在1.8秒完成,通过4 4:在1.4秒完成评估在5.4秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.44秒完成,通过2 4:在1.1秒内完成-通过3 / 4:在1.8秒内完成-通过4 / 4:在1.4秒内完成评估在5.4秒内完成使用并行池'local'计算高表达式:-通过1 / 1:在0.62秒内完成评估在0.93秒内完成| 18 |接受| 3.1817 | 33.346 | 2.9048 | 2.9048 | 4 |
评估高表达式使用并行池“当地”:通过1对1:在0.43秒完成评估在0.72秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.44秒完成,通过2 4:在1.1秒完成,通过3 4:在1.8秒完成,通过4 4:在1.3秒完成评估在5.4秒完成评估高表达式使用并行池“当地”:-通过1的1:0.62秒完成评估0.86秒完成| 19 |错误| NaN | 10.235 | 2.9048 | 2.9048 | 38 |
评估高表达式使用并行池“当地”:通过1对1:在0.47秒完成评估在0.76秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.44秒完成,通过2 4:在1.2秒完成,通过3 4:在1.8秒完成,通过4 4:在1.3秒完成评估在5.5秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.44秒完成,通过2 4:完成1.1秒-通过3 4:在1.8秒完成,通过4 4:在1.4秒完成评估在5.5秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.44秒完成,通过2 4:在1.1秒完成,通过3 4:在1.9秒完成,通过4 4:在1.3秒完成评估在5.5秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.43秒完成,通过2 4:在1.1秒内完成-通过3 / 4:在1.8秒内完成-通过4 / 4:在1.4秒内完成评估在5.5秒内完成使用并行池'local'计算高表达式:-通过1 / 1:在0.63秒内完成评估在0.89秒内完成| 20 |接受| 3.0628 | 32.459 | 2.9048 | 2.9048 | 12 |
评估高表达式使用并行池“当地”:通过1对1:在0.46秒完成评估在0.76秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.48秒完成,通过2 4:在1.1秒完成,通过3 4:在1.8秒完成,通过4 4:在1.4秒完成评估在5.5秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.68秒完成,通过2 4:在1.7秒内完成-通过3 / 4:在2.1秒内完成-通过4 / 4:在1.4秒内完成评估在6.8秒内完成评估使用并行池'local'的高表达式:-通过1 / 1:在0.64秒内完成评估在0.9秒内完成|======================================================================================| | Iter | Eval || |目的BestSoFar | BestSoFar | MinLeafSize | | | |结果日志(1 +损失)运行时| | | (estim(观察) .) | | |======================================================================================| | 21日|接受| 3.1847 | 19.02 | 2.9048 | 2.9048 | | 27岁
评估高表达式使用并行池“当地”:通过1对1:在0.45秒完成评估在0.75秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.47秒完成,通过2 4:在1.1秒完成,通过3 4:在1.8秒完成,通过4 4:在1.4秒完成评估在5.6秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.45秒完成,通过2 4:完成1.1秒-通过3 4:在1.8秒完成,通过4 4:在1.3秒完成评估在5.5秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.5秒完成,通过2 4:在1.6秒完成,通过3 4:在2.4秒完成,通过4 4:在1.5秒完成评估在6.8秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.44秒完成,通过2 4:在1.1秒内完成-通过3 / 4:在1.8秒内完成-通过4 / 4:在1.5秒内完成评估在5.6秒内完成使用并行池'local'计算高表达式:-通过1 / 1:在0.63秒内完成评估在0.89秒内完成| 22 |接受| 3.0185 | 33.933 | 2.9048 | 2.9048 | 9 |
评估高表达式使用并行池“当地”:通过1对1:在0.46秒完成评估在0.76秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.45秒完成,通过2 4:在1.1秒完成,通过3 4:在1.8秒完成,通过4 4:在1.4秒完成评估在5.5秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.45秒完成,通过2 4:完成1.1秒-通过3 4:在1.8秒完成,通过4 4:在1.4秒完成评估在5.5秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.43秒完成,通过2 4:在1.1秒完成,通过3 4:在1.8秒完成,通过4 4:在1.3秒完成评估在5.4秒完成评估高表达式使用并行池“当地”:-通过1的1:0.64秒完成评估0.89秒完成| 23 |接受| 3.0749 | 25.147 | 2.9048 | 2.9048 | 20 |
评估高表达式使用并行池“当地”:通过1对1:在0.44秒完成评估在0.73秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.42秒完成,通过2 4:在1.1秒完成,通过3 4:在1.8秒完成,通过4 4:在1.4秒完成评估在5.5秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.43秒完成,通过2 4:完成1.1秒-通过3 4:在1.8秒完成,通过4 4:在1.3秒完成评估在5.4秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.53秒完成,通过2 4:在1.4秒完成,通过3 4:在1.9秒完成,通过4 4:在1.4秒完成评估在5.9秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.44秒完成,通过2 4:在1.1秒内完成-通过3 / 4:在1.8秒内完成-通过4 / 4:在1.4秒内完成评估在5.5秒内完成使用并行池'local'计算高表达式:-通过1 / 1:在0.62秒内完成评估在0.88秒内完成| 24 |接受| 3.0628 | 32.764 | 2.9048 | 2.9048 | 11 |
评估高表达式使用并行池“当地”:通过1对1:在0.44秒完成评估在0.73秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.44秒完成,通过2 4:在1.2秒完成,通过3 4:在1.8秒完成,通过4 4:在1.4秒完成评估在5.5秒完成评估高表达式使用并行池“当地”:-通过1的1:0.61秒完成评估0.87秒完成| 25 |错误| NaN | 10.294 | 2.9048 | 2.9048 | 34 |
评估高表达式使用并行池“当地”:通过1对1:在0.44秒完成评估在0.73秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.45秒完成,通过2 4:在1.1秒完成,通过3 4:在1.8秒完成,通过4 4:在1.3秒完成评估在5.4秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.43秒完成,通过2 4:在1.1秒内完成-通过3 / 4:在1.8秒内完成-通过4 / 4:在1.3秒内完成评估在5.4秒内完成使用并行池'local'计算高表达式:-通过1 / 1:在0.62秒内完成评估在0.87秒内完成| 26 |接受| 3.1847 | 17.587 | 2.9048 | 2.9048 | 25 |
评估高表达式使用并行池“当地”:通过1对1:在0.45秒完成评估在0.73秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.45秒完成,通过2 4:在1秒完成,通过3 4:在1.8秒完成,通过4 4:在1.3秒完成评估在5.4秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.44秒完成,通过2 4:完成1.1秒-通过3 4:在1.8秒完成,通过4 4:在1.4秒完成评估在5.5秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.43秒完成,通过2 4:在1秒完成,通过3 4:在1.8秒完成,通过4 4:在1.3秒完成评估在5.3秒完成评估高表达式使用并行池“当地”:-通过1的1:在0.66秒内完成评估在0.96秒内完成| 27 b|接受| 3.2895 | 24.867 | 2.9048 | 2.9048 | 16 |
评估高表达式使用并行池“当地”:通过1对1:在0.44秒完成评估在0.74秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.45秒完成,通过2 4:在1.1秒完成,通过3 4:在1.8秒完成,通过4 4:在1.3秒完成评估在5.4秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.43秒完成,通过2 4:完成1.1秒-通过3 4:在1.8秒完成,通过4 4:在1.4秒完成评估在5.5秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.44秒完成,通过2 4:在1.1秒完成,通过3 4:在1.8秒完成,通过4 4:在1.4秒完成评估在5.4秒完成评估高表达式使用并行池“当地”:-通过1的1:0.6秒完成评估0.88秒完成| 28 |接受| 3.2135 | 24.928 | 2.9048 | 2.9048 | 13 |
评估高表达式使用并行池“当地”:通过1对1:在0.47秒完成评估在0.76秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.45秒完成,通过2 4:在1.1秒完成,通过3 4:在1.8秒完成,通过4 4:在1.3秒完成评估在5.4秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.46秒完成,通过2 4:在1.1秒内完成-通过3 / 4:在1.8秒内完成-通过4 / 4:在1.3秒内完成评估在5.5秒内完成使用并行池'local'计算高表达式:-通过1 / 1:在0.62秒内完成评估在0.87秒内完成| 29 |接受| 3.1847 | 17.582 | 2.9048 | 2.9048 | 21 |
评估高表达式使用并行池“当地”:通过1对1:在0.53秒完成评估在0.81秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.44秒完成,通过2 4:在1.1秒完成,通过3 4:在1.8秒完成,通过4 4:在1.3秒完成评估在5.4秒完成评估高表达式使用并行池“当地”:——通过1 4:在0.43秒完成,通过2 4:在1.1秒内完成-通过3 / 4:在1.8秒内完成-通过4 / 4:在1.3秒内完成评估在5.4秒内完成使用并行池'local'计算高表达式:-通过1 / 1:在0.63秒内完成评估在0.88秒内完成| 30 |接受| 3.1827 | 17.597 | 2.9048 | 2.9122 | 29 |
__________________________________________________________ 优化完成。最大目标:达到30。总函数计算:30总运行时间:882.5668秒。总目标函数评估时间:859.2122最佳观察可行点:MinLeafSize ___________ 6观察到的目标函数值= 2.9048估计的目标函数值= 2.9122函数评估时间= 33.4655最佳估计可行点(根据模型):MinLeafSize ___________ 6估计的目标函数值= 2.9122估计的函数评估时间= 33.6594使用并行池“local”评估高表达式:-通过1 / 2:在0.26秒完成,通过2 2:在0.26秒完成评估在0.84秒完成评估高表达使用并行池“当地”:——通过1 7:在0.31秒完成,通过2 7:在0.25秒完成,通过3 7:在0.75秒完成,通过4 7:在1.2秒完成,通过5 7:在0.45秒完成,通过6 7:在0.69秒完成,通过7 7:在1.2秒完成评估在5.7秒完成评估高表达式使用并行池“当地”:——通过1 7:在0.28秒完成,通过2 7:在0.24秒完成,通过3 7:在0.75秒完成,通过4 7:在1.2秒完成,通过5 7:在0.46秒完成,通过6 7:在0.67秒完成,通过7 7:在1.2秒完成评估在5.6秒完成评估高表达式使用并行池“当地”:——通过1 7:在0.32秒完成,通过2 7:在0.25秒完成,通过3 7:在0.71秒完成,通过4 7:在1.2秒完成,通过5 7:在0.47秒完成,通过6 7:在0.66秒完成,通过7 7:在1.2秒完成评估在5.6秒完成评估高表达使用并行池“当地”:——通过1 7:在0.29秒完成,通过2 7:在0.25秒完成,通过3 7:在0.73秒完成,通过4 7:在1.2秒完成,通过5 7:在0.46秒完成,通过6 7:在0.68秒完成,通过7 7:在1.2秒完成评估在5.5秒完成评估高表达使用并行池“当地”:——通过1 7:在0.27秒完成,通过2 7:在0.25秒完成,通过3 7:在0.75秒完成,通过4 7:在1.2秒完成,通过5 7:在0.47秒完成,通过6 7:在0.69秒完成,通过7 7:在1.2秒完成评估在5.6秒完成
Mdl = CompactRegressionTree ResponseName: 'Y' CategoricalPredictors: [] ResponseTransform: 'none'属性,方法
FitInfo =不带字段的结构。
HyperparameterOptimizationResults = BayesianOptimization with properties: ObjectiveFcn: @createObjFcn/tallObjFcn variabledescription: [3×1 optimizableVariable] Options: [1×1 struct] MinObjective: 2.9048 XAtMinObjective: [1×1 table] minestimatedobjobjective: 2.9122 xatminestimatedobjobjective: [1×1 table] numobjectiveevaluts30 TotalElapsedTime: 882.5668 NextPoint: [1×1 table] XTrace: [30×1 table] ObjectiveTrace: [30×1 double] ConstraintsTrace: [] UserDataTrace:{30×1 cell} ObjectiveEvaluationTimeTrace: [30×1 double] IterationTimeTrace: [30×1 double] ErrorTrace: [30×1 double]可行性跟踪:[30×1 logical]可行性概率跟踪:[30×1 double] IndexOfMinimumTrace: [30×1 double] objectivminimumtrace: [30×1 double] estimatedobjectivminimumtrace: [30×1 double]
输入参数
资源描述
- - - - - -样本数据
表格
用于训练模型的样例数据,指定为表。每一行资源描述
对应一个观察结果,每一列对应一个预测变量。可选地,资源描述
可以为响应变量包含一个附加列。不允许多列变量和字符向量的单元格数组以外的单元格数组。
如果
资源描述
包含响应变量,并且希望在中使用所有剩余变量资源描述
作为预测器,然后通过使用指定响应变量ResponseVarName
.如果
资源描述
包含响应变量,并且您希望仅使用其余变量的子集资源描述
作为预测器,然后用指定公式公式
.如果
资源描述
不包含响应变量,则使用Y
.中的响应变量的长度和行数资源描述
必须是平等的。
数据类型:表格
公式
- - - - - -响应变量和预测变量子集的解释模型
特征向量|字符串标量
响应变量和预测变量子集的解释模型,在形式中指定为字符向量或字符串标量“Y ~ x1 + x2 + x3”
.在这种形式中,Y
表示响应变量,和x1
,x2
,x3
表示预测变量。
中指定变量的子集资源描述
使用公式作为训练模型的预测因子。如果您指定了一个公式,那么该软件将不使用任何变量资源描述
没有出现在公式
.
公式中的变量名必须是资源描述
(Tbl.Properties.VariableNames
)和有效的MATLAB®标识符。中的变量名可以进行验证资源描述
通过使用isvarname
函数。如果变量名无效,则可以使用matlab.lang.makeValidName
函数。
数据类型:字符
|字符串
Y
- - - - - -响应数据
数值列向量
X
- - - - - -预测数据
数字矩阵
预测数据,指定为数值矩阵。每一栏X
表示一个变量,每一行表示一个观察结果。
fitrtree
认为南
值X
作为缺失的值。fitrtree
不使用所有缺失值的观察X
在fit中。fitrtree
使用带有某些缺失值的观察值X
找出这些观察值有有效值的变量的分割。
数据类型:单
|双
名称-值参数
指定逗号分隔的可选对名称,值
参数。的名字
参数名称和价值
对应的值。的名字
必须出现在引号内。可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家
.
“CrossVal”,“上”、“MinParentSize”,30岁
指定一个交叉验证的回归树,每个分支节点至少有30个观察值。
请注意
方法不能使用任何交叉验证名称-值参数“OptimizeHyperparameters”
名称-值参数。的交叉验证“OptimizeHyperparameters”
只有使用“HyperparameterOptimizationOptions”
名称-值参数。
CategoricalPredictors
- - - - - -分类预测器列表
正整数向量|逻辑向量|字符矩阵|字符串数组|字符向量的单元格数组|“所有”
类别预测器列表,指定为此表中的值之一。
价值 | 描述 |
---|---|
正整数向量 | 向量中的每个条目都是一个索引值,指示对应的预测器是分类的。索引值在1和之间 如果 |
逻辑向量 | 一个 |
字符矩阵 | 矩阵的每一行都是一个预测变量的名称。中的条目名称必须匹配PredictorNames .用额外的空格填充名字,这样字符矩阵的每一行都有相同的长度。 |
字符向量的字符串数组或单元格数组 | 数组中的每个元素都是一个预测变量的名称。中的条目名称必须匹配PredictorNames . |
“所有” |
所有的预测都是绝对的。 |
默认情况下,如果预测器数据在表中(资源描述
),fitrtree
如果变量是逻辑向量、无序分类向量、字符数组、字符串数组或字符向量的单元格数组,则假定该变量是分类的。如果预测器数据是一个矩阵(X
),fitrtree
假设所有的预测器都是连续的。要将任何其他预测器标识为类别预测器,请使用“CategoricalPredictors”
名称-值参数。
例子:“CategoricalPredictors”、“所有”
数据类型:单
|双
|逻辑
|字符
|字符串
|细胞
MaxDepth
- - - - - -最大树深
正整数
最大树深度,指定为逗号分隔的对,由“MaxDepth”
一个正整数。为这个参数指定一个值,以返回一个具有更少的层数并且需要更少的通过高数组进行计算的树。的算法fitrtree
对数据进行一次遍历,并对每个树级别进行额外的遍历。默认情况下,该函数不设置树的最大深度。
请注意
此选项仅适用于使用fitrtree
在高数组上。看到高大的数组更多信息。
MergeLeaves
- - - - - -叶合并标志
“上”
(默认)|“关闭”
叶合并标志,指定为逗号分隔的对,由“MergeLeaves”
而且“上”
或“关闭”
.
如果MergeLeaves
是“上”
,然后fitrtree
:
合并来自同一父节点并产生大于或等于与父节点关联的风险值的总和的叶
估计剪枝子树的最佳序列,但不剪枝回归树
否则,fitrtree
不合并叶子。
例子:“MergeLeaves”,“关闭”
MinParentSize
- - - - - -最小分支节点观察数
10
(默认)|正整数
分支节点观察的最小数目,指定为逗号分隔的对,由“MinParentSize”
和一个正整数值。树中的每个分支节点至少有MinParentSize
观察。如果两者都提供MinParentSize
而且MinLeafSize
,fitrtree
使用给出较大叶子的设置:MinParentSize = max(MinParentSize,2*MinLeafSize)
.
例子:“MinParentSize”,8
数据类型:单
|双
NumBins
- - - - - -数值预测器的箱数
[]
(空的)(默认)|正整数标量
数值预测器的箱数,指定为逗号分隔的对,由“NumBins”
和一个正整数标量。
如果
“NumBins”
Value为空(默认值)fitrtree
不丢弃任何预测器。如果指定
“NumBins”
值作为正整数标量(numBins
),然后fitrtree
最多将每个数字预测器分类numBins
等概率箱子,然后在箱子指数上生长树,而不是原始数据。箱子的数量可以小于
numBins
如果预测因子小于numBins
独特的价值观。fitrtree
不丢弃绝对预测器。
当您使用大型训练数据集时,此分箱选项会加速训练,但可能会导致潜在的准确性下降。你可以试试“NumBins”,50岁
首先,然后根据准确率和训练速度改变值。
经过训练的模型将桶边存储在BinEdges
财产。
例子:“NumBins”,50岁
数据类型:单
|双
PredictorNames
- - - - - -预测器变量名
唯一名称的字符串数组|唯一字符向量的单元格数组
预测器变量名,指定为惟一名称的字符串数组或惟一字符向量的单元格数组。的功能PredictorNames
这取决于你提供训练数据的方式。
如果你提供
X
而且Y
,然后你可以使用PredictorNames
中的预测变量指定名称X
.名字的顺序
PredictorNames
的列顺序必须对应X
.也就是说,PredictorNames {1}
是X (: 1)
,PredictorNames {2}
是X (:, 2)
,等等。同时,大小(X, 2)
而且元素个数(PredictorNames)
必须是平等的。默认情况下,
PredictorNames
是{x1, x2,…}
.
如果你提供
资源描述
,然后你可以使用PredictorNames
选择在训练中使用的预测变量。也就是说,fitrtree
中的预测变量PredictorNames
训练过程中的响应变量。PredictorNames
的子集Tbl.Properties.VariableNames
和不能包含响应变量的名称。默认情况下,
PredictorNames
包含所有预测变量的名称。一个好的实践是使用任意一种方法指定训练的预测器
PredictorNames
或公式
,但不是两者都有。
例子:“PredictorNames”(“SepalLength”、“SepalWidth”,“PetalLength”,“PetalWidth”)
数据类型:字符串
|细胞
PredictorSelection
- - - - - -选择最佳分割预测器的算法
“allsplits”
(默认)|“弯曲”
|“interaction-curvature”
用于在每个节点上选择最佳分割预测器的算法,指定为逗号分隔的对,由“PredictorSelection”
和这个表中的一个值。
价值 | 描述 |
---|---|
“allsplits” |
标准CART -选择分裂预测器,使分裂准则增益在所有预测器的所有可能分裂中最大化[1]. |
“弯曲” |
弯曲测试—选择最小的分裂预测器p-各预测因子与响应之间独立性卡方检验的值[2].训练速度与标准CART相似。 |
“interaction-curvature” |
交互测试-选择最小的分割预测器p每个预测器与响应(即进行曲率检验)之间独立性的卡方检验的-值,从而使p-每对预测因子与响应之间独立性卡方检验的值[2].训练速度可以比标准CART慢。 |
为“弯曲”
而且“interaction-curvature”
,如果所有测试都合格p-值大于0.05,则fitrtree
停止分裂节点。
提示
标准CART倾向于选择包含许多不同值的分裂预测器,如连续变量,而不是包含少量不同值的预测器,如类别变量[3].如果以下任何一个是正确的,考虑指定曲率或交互测试:
如果预测器的不同值相对少于其他预测器,例如,如果预测器数据集是异构的。
如果你的目标是分析预测器的重要性。有关预测器重要性估计的更多信息,请参见
predictorImportance
而且特征选择介绍.
使用标准CART生长的树木对预测变量的相互作用不敏感。此外,与交互测试的应用相比,这种树不太可能在存在许多不相关预测因素的情况下识别重要变量。因此,为了解释预测器的相互作用并在存在许多不相关变量的情况下识别重要变量,指定相互作用检验。
的值不影响预测速度
“PredictorSelection”
.
有关如何fitrtree
选择拆分预测器,参见节点分裂规则而且选择分裂预测器选择技术.
例子:“PredictorSelection”、“弯曲”
修剪
- - - - - -标记来估计修剪子树的最佳序列
“上”
(默认)|“关闭”
标记估计修剪子树的最佳序列,指定为逗号分隔的对,由“删除”
而且“上”
或“关闭”
.
如果修剪
是“上”
,然后fitrtree
生长回归树并估计经过修剪的子树的最佳序列,但不修剪回归树。否则,fitrtree
生长回归树,而不估计剪枝子树的最佳序列。
要修剪经过训练的回归树,将回归树传递给修剪
.
例子:“删除”,“关闭”
PruneCriterion
- - - - - -修剪的标准
mse的
(默认)
剪枝准则,指定为逗号分隔的对,由“PruneCriterion”
而且mse的
.
QuadraticErrorTolerance
- - - - - -二次容错
1 e-6
(默认)|正标量值
每个节点的二次误差容忍,指定为逗号分隔的对,由“QuadraticErrorTolerance”
一个正的标量值。当每个节点的加权均方误差降至以下时,函数停止分裂节点QuadraticErrorTolerance *ε
,在那里ε
是加权均方误差吗n在增长决策树之前计算的响应。
w我是观察的重量吗我,假设所有观察值的权重之和为1 ( ),
是所有回答的加权平均值。
有关节点拆分的详细信息,请参见节点分裂规则.
例子:“QuadraticErrorTolerance”,1的军医
可再生的
- - - - - -标志以强制可重复性
假
(逻辑0
)(默认)|真正的
(逻辑1
)
标志,在模型的重复训练中强制再现性,指定为逗号分隔的对,由“复制”
,要么假
或真正的
.
如果“NumVariablesToSample”
不是“所有”
,然后该软件为每次分割随机选择预测器。要重新生成随机选择,必须指定“重现”,真的
并设置随机数生成器的种子rng
.注意设置“复制”
来真正的
会减慢训练速度。
例子:“重现”,真的
数据类型:逻辑
ResponseName
- - - - - -响应变量名
“Y”
(默认)|特征向量|字符串标量
响应变量名,指定为字符向量或字符串标量。
如果你提供
Y
,然后你可以使用ResponseName
为响应变量指定名称。如果你提供
ResponseVarName
或公式
,那么你就不能使用ResponseName
.
例子:“ResponseName”、“反应”
数据类型:字符
|字符串
ResponseTransform
- - - - - -响应转换
“没有”
(默认)|函数处理
响应转换,指定为两者之一“没有”
或者一个函数句柄。默认为“没有”
,这意味着@ (y) y
,或者不进行变换。对于MATLAB函数或您定义的函数,使用它的函数句柄进行响应变换。函数句柄必须接受一个向量(原始响应值)并返回一个相同大小的向量(转换后的响应值)。
例子:假设您创建了一个函数句柄,它将指数变换应用于输入向量Myfunction = @(y)exp(y)
.然后,您可以将响应转换指定为myfunction ResponseTransform,
.
数据类型:字符
|字符串
|function_handle
SplitCriterion
- - - - - -划分的标准
MSE的
(默认)
分割条件,指定为逗号分隔的对,由“SplitCriterion”
而且MSE的
,表示均方误差。
例子:“SplitCriterion”、“MSE的
代理
- - - - - -代理决策分裂标志
“关闭”
(默认)|“上”
|“所有”
|正整数
代理决策拆分标志,指定为逗号分隔的对,由“代孕”
而且“上”
,“关闭”
,“所有”
,或正整数。
当
“上”
,fitrtree
在每个分支节点上最多查找10个代理拆分。当设置为正整数时,
fitrtree
在每个分支节点上最多查找指定数量的代理拆分。当设置为
“所有”
,fitrtree
查找每个分支节点上的所有代理分割。的“所有”
设置会占用大量时间和内存。
使用代理分割来提高对缺少值的数据的预测精度。该设置还使您能够计算预测器之间预测关联的度量。
例子:“代孕”,“上”
数据类型:单
|双
|字符
|字符串
权重
- - - - - -观察权重
(大小(X, 1), 1)
(默认)|标量值向量|变量的名称资源描述
CVPartition
- - - - - -用于交叉验证树的分区
cvpartition
对象
用于交叉验证树的分区,指定为逗号分隔的对,由“CVPartition”
和使用创建的对象cvpartition
.
如果你使用“CVPartition”
,您不能使用任何“KFold”
,“坚持”
,或“Leaveout”
名称-值对参数。
坚持
- - - - - -保留验证的部分数据
0
(默认)|范围内的标量值[0, 1]
用于抵制验证的数据的一部分,指定为逗号分隔的对,由“坚持”
和值域内的标量值[0, 1]
.坚持验证对数据的指定部分进行测试,并使用其余数据进行训练。
如果你使用“坚持”
,您不能使用任何“CVPartition”
,“KFold”
,或“Leaveout”
名称-值对参数。
例子:“坚持”,0.1
数据类型:单
|双
KFold
- - - - - -折叠数
10
(默认)|大于1的正整数
交叉验证树中要使用的折叠数,指定为逗号分隔的对,由“KFold”
和一个大于1的正整数。
如果你使用“KFold”
,您不能使用任何“CVPartition”
,“坚持”
,或“Leaveout”
名称-值对参数。
例子:“KFold”,8
数据类型:单
|双
Leaveout
- - - - - -保留一个交叉验证标志
“关闭”
(默认)|“上”
省略一个交叉验证标志,指定为逗号分隔的对,由“Leaveout”
,要么“上”
或的假
.通过设置为来使用保留一个交叉验证“上”
.
如果你使用“Leaveout”
,您不能使用任何“CVPartition”
,“坚持”
,或“KFold”
名称-值对参数。
例子:“Leaveout”,“上”
MaxNumSplits
- - - - - -决策分割的最大数目
size(X,1) - 1
(默认)|正整数
决策分割(或分支节点)的最大数目,指定为逗号分隔的对,由“MaxNumSplits”
一个正整数。fitrtree
分裂MaxNumSplits
或者更少的分支节点。有关拆分行为的详细信息,请参见树深控制.
例子:“MaxNumSplits”,5
数据类型:单
|双
MinLeafSize
- - - - - -最小叶节点观察数
1
(默认)|正整数
叶节点观察值的最小数目,指定为逗号分隔的对,由“MinLeafSize”
和一个正整数值。每片叶子至少有一个MinLeafSize
每片树叶的观察结果。如果两者都提供MinParentSize
而且MinLeafSize
,fitrtree
使用给出较大叶子的设置:MinParentSize = max(MinParentSize,2*MinLeafSize)
.
例子:“MinLeafSize”,3
数据类型:单
|双
NumVariablesToSample
- - - - - -为每次拆分随机选择预测器的数量
“所有”
(默认)|正整数
为每次分割随机选择的预测器的数量,指定为逗号分隔的对,由“NumVariablesToSample”
和一个正整数值。或者,您也可以指定“所有”
使用所有可用的预测器。
如果训练数据包含许多预测因子,并且您想要分析预测因子的重要性,那么指定“NumVariablesToSample”
作为“所有”
.否则,软件可能没有选择一些预测因素,低估了它们的重要性。
要重新生成随机选择,必须使用rng
并指定“重现”,真的
.
例子:“NumVariablesToSample”,3
数据类型:字符
|字符串
|单
|双
OptimizeHyperparameters
- - - - - -待优化参数
“没有”
(默认)|“汽车”
|“所有”
|合格参数名称的字符串数组或单元格数组|向量的optimizableVariable
对象
参数要优化,指定为逗号分隔的对,由“OptimizeHyperparameters”
和以下其中之一:
“没有”
-不要优化。“汽车”
——使用{' MinLeafSize '}
.“所有”
—优化所有符合条件的参数。合格参数名称的字符串数组或单元格数组。
向量的
optimizableVariable
的输出hyperparameters
.
优化尝试最小化交叉验证的损失(错误)fitrtree
通过改变参数。要控制交叉验证类型和优化的其他方面,请使用HyperparameterOptimizationOptions
名称-值对。
请注意
的价值“OptimizeHyperparameters”
覆盖使用其他名称-值参数指定的任何值。例如,设置“OptimizeHyperparameters”
来“汽车”
原因fitrtree
参数对应的超参数“汽车”
选项,并忽略超参数的任何指定值。
符合条件的参数fitrtree
是:
MaxNumSplits
- - - - - -fitrtree
在整数之间搜索,默认情况下在范围内按对数缩放NumObservations-1[1,马克斯(2))
.MinLeafSize
- - - - - -fitrtree
在整数之间搜索,默认情况下在范围内按对数缩放[1,马克斯(2楼(NumObservations / 2)))
.NumVariablesToSample
- - - - - -fitrtree
不会对这个超参数进行优化。如果你通过了NumVariablesToSample
作为参数名,fitrtree
简单地使用全部数量的预测器。然而,fitrensemble
对这个超参数进行优化。
通过传递vector来设置非默认参数optimizableVariable
具有非默认值的对象。例如,
负载carsmall参数=超参数(“fitrtree”(功率、重量),MPG);参数(1)。Range = [1,30];
通过参数个数
的价值OptimizeHyperparameters
.
默认情况下,迭代显示出现在命令行中,并根据优化中的超参数的数量显示图形。对于优化和绘图,目标函数为Log(1 +交叉验证损失).要控制迭代显示,请设置详细的
的字段“HyperparameterOptimizationOptions”
名称-值参数。要控制情节,设置ShowPlots
的字段“HyperparameterOptimizationOptions”
名称-值参数。
示例请参见优化回归树.
例子:“汽车”
HyperparameterOptimizationOptions
- - - - - -优化选项
结构
优化选项,指定为结构。的效果OptimizeHyperparameters
名称-值参数。结构中的所有字段都是可选的。
字段名 | 值 | 默认的 |
---|---|---|
优化器 |
|
“bayesopt” |
AcquisitionFunctionName |
获取函数,其名称包括 |
“expected-improvement-per-second-plus” |
MaxObjectiveEvaluations |
目标函数评价的最大次数。 | 30. 为“bayesopt” 而且“randomsearch” ,和整个网格“gridsearch” |
MaxTime |
时间限制,指定为正实标量。时间限制以秒为单位,用 |
正 |
NumGridDivisions |
为“gridsearch” ,表示每个维度的值的个数。该值可以是一个给出每个维度值数量的正整数向量,也可以是一个适用于所有维度的标量。对于类别变量,该字段将被忽略。 |
10 |
ShowPlots |
指示是否显示图形的逻辑值。如果真正的 ,该字段根据迭代次数绘制最佳观测目标函数值。如果你使用贝叶斯优化(优化器 是“bayesopt” ),则该字段也绘制出最佳估计的目标函数值。最佳观测目标函数值和最佳估计目标函数值对应于BestSoFar(观察) 而且BestSoFar (estim)。 列的迭代显示,分别。您可以在属性中找到这些值ObjectiveMinimumTrace 而且EstimatedObjectiveMinimumTrace 的Mdl。HyperparameterOptimizationResults .如果问题包含一个或两个优化参数的贝叶斯优化,那么ShowPlots 并根据参数绘制了目标函数模型。 |
真正的 |
SaveIntermediateResults |
指示何时是否保存结果的逻辑值优化器 是“bayesopt” .如果真正的 ,该字段将覆盖名为“BayesoptResults” 在每次迭代中。变量是aBayesianOptimization 对象。 |
假 |
详细的 |
在命令行显示:
详细信息请参见 |
1 |
UseParallel |
指示是否并行运行贝叶斯优化的逻辑值,这需要并行计算工具箱™。由于并行时序的不可再现性,并行贝叶斯优化不一定产生可再现的结果。详情请参见并行贝叶斯优化. | 假 |
重新分区 |
指示是否在每次迭代时重新划分交叉验证的逻辑值。如果这个字段是 设置 |
假 |
只使用以下三个选项中的一个。 | ||
CVPartition |
一个cvpartition 对象,如由cvpartition |
“Kfold”,5 如果不指定交叉验证字段 |
坚持 |
范围内的标量(0,1) 表示抵制分数 |
|
Kfold |
大于1的整数 |
例子:“HyperparameterOptimizationOptions”、结构(MaxObjectiveEvaluations, 60)
数据类型:结构体
输出参数
树
-回归树
回归树对象
回归树,作为回归树对象返回。使用“Crossval”
,“KFold”
,“坚持”
,“Leaveout”
,或“CVPartition”
Options会生成一个类树RegressionPartitionedModel
.您不能使用分区树进行预测,因此这种树没有预测
方法。
否则,树
是一流的RegressionTree
,您可以使用预测
方法进行预测。
更多关于
弯曲测试
的弯曲测试是一种统计检验,评估两个变量不相关的零假设。
预测变量之间的曲率检验x而且y使用此过程进行。
如果x是连续的,然后把它分成四分位数。创建一个标称变量,根据观察值占用分区的哪个部分进行分类。如果缺少值,则为它们创建一个额外的bin。
对于分区预测器中的每个级别j= 1…J和类k= 1,…,K,计算课堂观察的权重比例k
w我是观察的重量吗我, ,我指示灯功能,和n是样本容量。如果所有的观测值都有相同的权重,那么 ,在那里njk观察的数量是否一致j在课堂上的预测者k.
计算测试统计信息
,即在水平上观察到预测器的边际概率j. ,即观察类的边际概率k.如果n够大吗t分布为χ2(K- 1) (J- 1)自由度。
如果p-值小于0.05,则拒绝原假设,认为两者之间没有关联x而且y.
在确定每个节点上的最佳分割预测器时,标准CART算法倾向于选择具有多个层次的连续预测器。有时,这样的选择可能是虚假的,还可能掩盖具有较少级别的更重要的预测器,如类别预测器。
曲率检验可以代替标准CART来确定每个节点上的最佳分割预测。在这种情况下,最好的分割预测变量是最小化显著性的变量p-各预测因子与响应变量之间的曲率检验值(小于0.05)。这样的选择对于单个预测因子的水平数量是稳健的。
交互测试
的交互测试是一种统计检验,它评估原假设,即一对预测变量和响应变量之间没有相互作用。
评估预测变量之间关联的交互作用检验x1而且x2关于y使用此过程进行。
如果x1或x2是连续的,然后把这个变量分成四分位数。创建一个标称变量,根据观察值占用分区的哪个部分进行分类。如果缺少值,则为它们创建一个额外的bin。
创建标称变量z与J=J1J2为观察指定索引的级别我根据哪个层次x1而且x2它属于。删除任何级别的z这与任何观察结果都不相符。
进行一次弯曲测试之间的z而且y.
在生长决策树时,如果对预测器之间有重要的交互作用,但数据中还有许多其他不那么重要的预测器,那么标准CART往往会错过重要的交互作用。然而,通过曲率和相互作用测试来选择预测器可以改进对重要相互作用的检测,从而产生更精确的决策树。
联想预测法
的联想的预测度量指示分割观察结果的决策规则之间的相似性的值。在所有可能的决策分割中,与最优分割(通过种植树找到)进行比较,最好的代理决策分割产生关联的最大预测度量。第二好的代理分裂具有第二好的关联预测指标。
假设xj而且xk是预测变量j而且k,和j≠k.在节点t,最优分割之间关联的预测度量xj<u代理分裂xk<v是
Pl节点中观测的比例是多少t,以致于xj<u.下标l表示节点的左子节点t.
PR节点中观测的比例是多少t,以致于xj≥u.下标R表示节点的右子节点t.
节点上的观测占比是多少t,以致于xj<u而且xk<v.
节点上的观测占比是多少t,以致于xj≥u而且xk≥v.
缺少值的观察值xj或xk不参与比例计算。
λjk是(-∞,1]的值。如果λjk> 0,然后xk<v值得拆分代理吗xj<u.
代理决策分割
一个代理决策分割是决策树中给定节点上的最优决策分割的备选方案。通过种植树木可以找到最佳的分割;代理分割使用相似或相关的预测变量和分割准则。
当缺少一个观察的最佳分割预测器的值时,使用最佳代理预测器将该观察发送到左或右子节点。当观察的最佳代理分裂预测器的值也丢失时,使用次最佳代理预测器将观察发送到左或右子节点,依此类推。候选拆分按降序排列联想的预测度量.
提示
算法
节点分裂规则
fitrtree
使用这些进程来确定如何拆分节点t.
对于标准CART(即if
PredictorSelection
是“allpairs”
)和所有预测器x我,我= 1,…,p:fitrtree
计算节点响应的加权均方误差(MSE)t使用wj是观察的重量吗j,T所有观察指标的集合是否都在节点中t.如果不指定
权重
,然后wj= 1 /n,在那里n是样本容量。fitrtree
估计一个观测点在节点上的概率t使用fitrtree
排序x我按升序排列。排序预测器的每个元素都是一个分裂候选点或切点。fitrtree
记录与集合中缺失值对应的任何索引TU,即未分割集。fitrtree
确定分割节点的最佳方法t使用x我通过最大限度地减少MSE (Δ我)而不是所有分裂的候选人。也就是说,所有分裂的候选人x我:fitrtree
在节点中拆分观察结果t到左右子节点(tl而且tR分别)。fitrtree
计算Δ我.假设对于一个分裂的候选人,tl而且tR集合中包含观测指标Tl而且TR,分别。如果x我不包含任何缺失值,则当前分裂候选的MSE减少为
如果x我包含缺失值,那么,假设观测值是随机缺失的,则MSE的减少量为
T- - - - - -TU所有观察指标的集合是否都在节点中t没有丢失。
如果你使用代理决策分裂,那么:
fitrtree
计算联想的预测方法决定之间的分歧xj<u所有可能的决策分裂xk<v,j≠k.fitrtree
根据与最优分割的关联的预测度量,将可能的备选决策分割按降序排序。代理分割是产生最大度量的决策分割。fitrtree
决定缺少值的观察的子节点赋值x我使用代理拆分。如果代理预测器也包含一个缺失的值,则fitrtree
使用第二大度量的决策分割,以此类推,直到没有其他替代。这是可能的fitrtree
在节点上拆分两个不同的观察结果t使用两个不同的代理分割。例如,假设预测器x1而且x2预测者的最佳和次最佳替代品分别是什么x我,我结果:结果结果为:结果结果为:结果结果为:{1,2}t.如果观察米的预测x我缺失(即,x心肌梗死是失踪的),但是x米1不就是失踪吗x1是观察的替代预测因子吗x心肌梗死.如果观察x(米+ 1),我而且x(米+ 1),1都不见了,但是x(米+ 1), 2不就是失踪吗x2是观察的替代预测因子吗米+ 1。fitrtree
使用适当的MSE约简公式。也就是说,如果fitrtree
无法分配节点中所有缺失的观察值t使用代理分割到子节点,则MSE约减为Δ我U.否则,fitrtree
使用Δ我的MSE减小。
fitrtree
选择MSE降低最大的候选人。
fitrtree
在最大限度地降低MSE的切点处分割预测变量。对于曲率测试(即,如果
PredictorSelection
是“弯曲”
):fitrtree
计算残差 对于节点中的所有观测值t. ,为节点中响应的加权平均值t.权重是观察权重权重
.fitrtree
根据相应残差的符号将观测值分配到两个箱中的一个。让zt作为一个名义变量,它包含节点中观察值的bin赋值t.fitrtree
进行弯曲测试在每个预测器和之间zt.对于回归树,K= 2。如果所有p-值至少是0.05,那么
fitrtree
不会分裂节点t.如果有一个最小值p值,然后
fitrtree
选择相应的预测器拆分节点t.如果不止一个p-value为零,由于下溢,则
fitrtree
将标准CART应用到相应的预测器上,选择分割预测器。
如果
fitrtree
选择一个分割预测器,然后使用标准CART来选择切割点(参见标准CART过程中的步骤4)。
对于交互测试(即,如果
PredictorSelection
是“interaction-curvature”
):对于节点上的观测t,
fitrtree
进行弯曲测试在每个预测因子和响应之间交互测试在每一对预测器和响应之间。如果所有p-值至少是0.05,那么
fitrtree
不会分裂节点t.如果有一个最小值p-value,它是曲率测试的结果,则
fitrtree
选择相应的预测器拆分节点t.如果有一个最小值p,那么它就是一个交互测试的结果
fitrtree
在相应的一对预测器上使用标准CART选择分割预测器。如果不止一个p-value为零,由于下溢,则
fitrtree
将标准CART应用到相应的预测器上,选择分割预测器。
如果
fitrtree
选择一个分割预测器,然后使用标准CART来选择切割点(参见标准CART过程中的步骤4)。
树深控制
如果
MergeLeaves
是“上”
而且PruneCriterion
是mse的
(这是这些名称-值对参数的默认值),然后软件只对叶子应用修剪,并使用MSE。该规范相当于合并来自同一父节点的叶,其MSE最多为其两个叶的MSE之和。以适应
MaxNumSplits
,fitrtree
拆分当前中的所有节点层,然后计算分支节点的数量。层是与根节点等距的节点集合。如果分支节点数量超过MaxNumSplits
,fitrtree
遵循以下程序:确定当前层中必须拆分的分支节点的数量,使其最多不拆分
MaxNumSplits
分支节点。根据分支节点的杂质增益对其进行排序。
分解最不成功的分支的数量。
返回目前生长的决策树。
这个过程产生最大平衡的树。
该软件一层一层地拆分分支节点,直到至少发生以下事件之一:
有
MaxNumSplits
分支节点。建议的拆分导致至少一个分支节点中的观察数少于
MinParentSize
.建议的拆分导致至少一个叶节点中的观察数少于
MinLeafSize
.算法不能在一个层内找到一个好的分割(即,剪枝准则(参见
PruneCriterion
),不会对一个层中的所有建议分割进行改进)。一个特殊的情况是所有节点都是纯节点(即,节点中的所有观察都具有相同的类)。对于价值观
“弯曲”
或“interaction-curvature”
的PredictorSelection
,所有测试结果p-值大于0.05。
MaxNumSplits
而且MinLeafSize
不影响按默认值拆分。因此,如果你设置“MaxNumSplits”
,拆分可能会由于的值而停止MinParentSize
之前,MaxNumSplits
将发生。
并行化
对于双核及以上系统,fitrtree
利用Intel并行化训练决策树®线程构建块(TBB)。有关Intel TBB的详细信息,请参见https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onetbb.html.
参考文献
[1]布莱曼,L., J.弗里德曼,R.奥申,C.斯通。分类与回归树.佛罗里达州博卡拉顿:CRC出版社,1984。
[2] Loh, W.Y.《无偏变量选择与交互检测回归树》。Statistica中央研究院2002年,第12卷,第361-386页。
[3]陆伟镛及施耀生。分类树的分裂选择方法。Statistica中央研究院, 1997年第7卷,第815-840页。
扩展功能
高大的数组
使用行数超过内存容量的数组进行计算。
使用注意事项和限制:
金宝app支持的语法是:
树= fitrtree(Tbl,Y)
树= fitrtree(X,Y)
tree = fitrtree(___,名称,值)
[tree,FitInfo,HyperparameterOptimizationResults] = fitrtree(___,名称,值)
- - - - - -fitrtree
返回附加的输出参数FitInfo
而且HyperparameterOptimizationResults
当您指定“OptimizeHyperparameters”
名称-值对参数。
树
是一个CompactRegressionTree
对象;因此,它不包括用于训练回归树的数据。的
FitInfo
输出参数是一个空的结构数组,目前为将来可能使用保留。的
HyperparameterOptimizationResults
输出参数是BayesianOptimization
对象或带有描述超参数交叉验证优化的关联值的超参数表。“HyperparameterOptimizationResults”
非空时“OptimizeHyperparameters”
在创建模型时,名称-值对参数是非空的。中的值“HyperparameterOptimizationResults”
的值“HyperparameterOptimizationOptions”
创建模型时的名称-值对参数。如果你指定
“bayesopt”
(默认)HyperparameterOptimizationResults
是阶级的对象吗BayesianOptimization
.如果你指定
“gridsearch”
或“randomsearch”
,然后HyperparameterOptimizationResults
是所使用的超参数、观测目标函数值(交叉验证损失)和观测值从最低(最佳)到最高(最差)的排序的表。
金宝app支持的名称-值对参数是:
“CategoricalPredictors”
“HyperparameterOptimizationOptions”
-对于交叉验证,只支持tall优化金宝app“坚持”
验证。默认情况下,软件选择并保留20%的数据作为拒绝验证数据,并使用其余数据训练模型。您可以使用此参数为抵制分数指定不同的值。例如,指定“HyperparameterOptimizationOptions”、结构(“抵抗”,0.3)
保留30%的数据作为验证数据。“MaxNumSplits”
-对于高优化,fitrtree
在整数之间搜索,在范围内按对数缩放(默认情况下)[1,马克斯(2分钟(10000年,NumObservations-1)))
.“MergeLeaves”
“MinLeafSize”
-对于高优化,fitrtree
在整数之间搜索,在范围内按对数缩放(默认情况下)[1,马克斯(2楼(NumObservations / 2)))
.“MinParentSize”
“NumVariablesToSample”
-对于高优化,fitrtree
在范围内的整数之间进行搜索NumPredictors[1,马克斯(2))
.“OptimizeHyperparameters”
“PredictorNames”
“QuadraticErrorTolerance”
“ResponseName”
“ResponseTransform”
“SplitCriterion”
“重量”
这个附加的名值对参数特定于高数组:
“MaxDepth”
—指定输出树的最大深度的正整数。为这个参数指定一个值,以返回一个具有更少的层数并且需要更少的通过高数组进行计算的树。的算法fitrtree
对数据进行一次遍历,并对每个树级别进行额外的遍历。默认情况下,该函数不设置树的最大深度。
有关更多信息,请参见高大的数组.
自动平行支撑金宝app
通过使用并行计算工具箱™自动并行运行计算来加速代码。
要执行并行超参数优化,请使用“HyperparameterOptimizationOptions”、结构(UseParallel,真的)
类调用中的名称-值参数fitrtree
函数。
有关并行超参数优化的更多信息,请参见并行贝叶斯优化.
有关并行计算的一般信息,请参见运行MATLAB函数与自动并行支持金宝app(并行计算工具箱).
GPU数组
通过使用并行计算工具箱™在图形处理单元(GPU)上运行来加速代码。
使用注意事项和限制:
fitrtree
不支持分类预测器。金宝app您可以指定名称-值参数“CategoricalPredictors”
仅作为空数组。fitrtree
不支持代理拆分。金宝app您可以指定名称-值参数“代孕”
只有当“关闭”
.您可以指定名称-值参数
“PredictorSelection”
只有当“allsplits”
.fitrtree
对于更深层次的决策树,GPU上的执行速度可能不会比CPU快。可以通过指定名称-值参数来设置决策树深度“MaxNumSplits”
作为(2 ^深度)1
.
有关更多信息,请参见在图形处理器上运行MATLAB函数(并行计算工具箱).
第一MATLAB
Hai fatto clic su uncollegamento che对应一个任务的MATLAB:
Esegui il comando inserendolo nella finestra di comando MATLAB。我浏览器网页不支持我的MATLAB。金宝app
您也可以从以下列表中选择网站:
如何获得最佳的网站性能
选择中国网站(中文或英文)以获得最佳的网站表现。其他MathWorks国家网站没有针对从您的位置访问进行优化。