拟合二叉决策树进行回归
根据表中的输入变量(也称为预测器、特征或属性)返回回归树树
= fitrtree (资源描述
,ResponseVarName
)资源描述
中包含的输出(响应)资源描述。ResponseVarName
。返回的树
二叉树的每个分支节点是根据列的值分割的吗资源描述
。
加载示例数据。
负载carsmall
使用样本数据构建回归树。响应变量是每加仑英里数,即MPG。
tree = fitrtree([重量,气缸],MPG,…“CategoricalPredictors”2,“MinParentSize”, 20岁,…“PredictorNames”, {' W ',“C”})
tree = RegressionTree PredictorNames: {'W' 'C'} ResponseName: 'Y' CategoricalPredictors: 2 ResponseTransform: 'none' NumObservations: 94属性,方法
预测4、6、8缸4000磅重汽车的行驶里程。
MPG4Kpred = predict(tree,[4000];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);mdldefaultnumsplit = cellfun(numBranches, MdlDefault.Trained);图;直方图(mdlDefaultNumSplits)
视图(MdlDefault。训练有素的{1},“模式”,“图”)
平均分裂次数在14到15次之间。
假设您想要一个不像使用默认分割数训练的回归树那么复杂(深度)的回归树。训练另一棵回归树,但将拆分的最大数量设置为7,这大约是默认回归树拆分的平均数量的一半。使用10倍交叉验证对模型进行交叉验证。
md17 = fitrtree(X,MPG,“MaxNumSplits”7“CrossVal”,“上”);视图(Mdl7。Trained{1},“模式”,“图”)
比较交叉验证模型的均方误差(MSEs)。
mseDefault = kfoldLoss(MdlDefault)
mseDefault = 25.7383
mse7 = kfoldLoss(md17)
Mse7 = 26.5748
Mdl7
要简单得多,性能也只比MdlDefault
。
自动优化超参数fitrtree
。
加载carsmall
数据集。
负载carsmall
使用重量
和马力
作为预测者英里/加仑
。通过使用自动超参数优化,找到最小化五倍交叉验证损失的超参数。
为了再现性,设置随机种子并使用“expected-improvement-plus”
采集功能。
X =[重量,马力];Y = mpg;rng默认的Mdl = fittrtree (X,Y,“OptimizeHyperparameters”,“汽车”,…“HyperparameterOptimizationOptions”结构(“AcquisitionFunctionName”,…“expected-improvement-plus”))
|======================================================================================| | Iter | Eval |目的:| |目的BestSoFar | BestSoFar | MinLeafSize | | | |结果日志(1 +损失)运行时| | | (estim(观察) .) | | |======================================================================================| | 最好1 | | 3.2818 | 0.23977 | 3.2818 | 3.2818 | 28 |
| 2 |接收| 3.4183 | 0.06584 | 3.2818 | 3.2888 | 1 |
| |最佳| 3.1457 | 0.048394 | 3.1457 | 3.1628 | 4 |
| 4 |最佳| 2.9885 | 0.052701 | 2.9885 | 2.9885 | 9 |
| 5 |接收| 2.9978 | 0.069199 | 2.9885 | 2.9885 | 7 |
| 6 |接收| 3.0203 | 0.049133 | 2.9885 | 3.0013 | 8 |
| 7 |接收| 2.9885 | 0.05291 | 2.9885 | 2.9981 | 9 |
| 8 |最佳| 2.9589 | 0.041088 | 2.9589 | 2.9589 | 10 |
| 9 |接收| 3.078 | 0.033971 | 2.9589 | 2.9888 | 13 |
| 10 |接收| 4.1881 | 0.06277 | 2.9589 | 2.9592 | 50 |
| 11 |接收| 3.4182 | 0.056473 | 2.9589 | 2.9592 | 2 |
| 12 |接收| 3.0376 | 0.043713 | 2.9589 | 2.9591 | 6 |
| 13 |接收| 3.1453 | 0.059096 | 2.9589 | 2.9591 | 20 |
| 14 |接收| 2.9589 | 0.04608 | 2.9589 | 2.959 | 10 |
| 15 |接收| 3.0123 | 0.037637 | 2.9589 | 2.9728 | 11 |
| 16 |接收| 2.9589 | 0.049064 | 2.9589 | 2.9593 | 10 |
| 17 |接收| 3.3055 | 0.042526 | 2.9589 | 2.9593 | 3 |
| 18 |接收| 2.9589 | 0.043994 | 2.9589 | 2.9592 | 10 |
| 19 |接收| 3.4577 | 0.033968 | 2.9589 | 2.9591 | 37 |
| 20 |接收| 3.2166 | 0.045131 | 2.9589 | 2.959 | 16 |
|======================================================================================| | Iter | Eval |目的:| |目的BestSoFar | BestSoFar | MinLeafSize | | | |结果日志(1 +损失)运行时| | | (estim(观察) .) | | |======================================================================================| | 21日|接受| 3.107 | 0.04289 | 2.9589 | 2.9591 | 5 |
| 22 |接受| 3.2818 | 0.031364 | 2.9589 | 2.959 | 24 |
| 23 |接收| 3.3226 | 0.042712 | 2.9589 | 2.959 | 32 |
| 24 |接收| 4.1881 | 0.03763 | 2.9589 | 2.9589 | 43 |
| 25 |接受| 3.1789 | 0.035856 | 2.9589 | 2.9589 | 18 |
| 26 |接收| 3.0992 | 0.09437 | 2.9589 | 2.9589 | 14 |
| 27 |接收| 3.0556 | 0.061199 | 2.9589 | 2.9589 | 22 |
| 28 |接收| 3.0459 | 0.045581 | 2.9589 | 2.9589 | 12 |
| 29 |接收| 3.2818 | 0.036777 | 2.9589 | 2.9589 | 26 |
| 30 |接收| 3.4361 | 0.055666 | 2.9589 | 2.9589 | 34 |
__________________________________________________________ 优化完成。达到30分的评价。总函数评估:30总运行时间:26.7915秒总目标函数评估时间:1.6575最佳观察可行点:MinLeafSize ___________ 10目标函数观察值= 2.9589目标函数估计值= 2.9589函数评估时间= 0.041088最佳估计可行点(根据模型):MinLeafSize ___________ 10目标函数估计值= 2.9589函数评估估计时间= 0.050022
Mdl = RegressionTree responsenname: 'Y' CategoricalPredictors: [] ResponseTransform: 'none' NumObservations: 94 HyperparameterOptimizationResults: [1x1贝叶斯优化]属性,方法
加载carsmall
数据集。考虑一个模型,该模型预测给定加速度、气缸数量、发动机排量、马力、制造商、型号年份和重量的汽车的平均燃油经济性。考虑气缸
,制造行业
,Model_Year
作为分类变量。
负载carsmall柱体=分类(柱体);Mfg = categorical(cellstr(Mfg));Model_Year = categorical(Model_Year);X =表(加速度,气缸,排量,马力,制造商,…Model_Year、重量、MPG);
显示分类变量中表示的类别数量。
numCylinders = nummel (categories(Cylinders))
numCylinders = 3
numMfg = nummel (categories(Mfg))
numMfg = 28
numModelYear = nummel (categories(Model_Year))
numModelYear = 3
因为只有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 = tall(X);
使用“本地”配置文件启动并行池(parpool)…连接到并行池(工人数量:6)。
ty = tall(MPG);
使用所有的观测值生长一个回归树。让树长到最大可能的深度。
为了再现性,设置使用的随机数生成器的种子rng
和tallrng
。结果可能因工作线程的数量和tall数组的执行环境而异。有关详情,请参阅控制代码运行的位置。
rng (“默认”) tallrng (“默认”) Mdl = fitrtree(tx,ty);
评估高表达式使用并行池“当地”:——通过1 2:在3.3秒完成,通过2 2:在1秒完成评估在6.8秒完成评估高表达式使用并行池“当地”:——通过1 6:在1.4秒完成,通过2 6:在0.41秒完成,通过3 6:在2.3秒完成,通过4 6:在3.6秒完成,通过5 6:在1.5秒完成,通过6 6:在2.9秒完成评估在14秒完成评估高表达式使用并行池“当地”:——通过1 7:在0.45秒完成,通过2 7:在0.36秒完成,通过3 7:在1.2秒完成,通过4 7:在2.5秒完成,通过5 7:在0.85秒完成,通过6 7:在1.4秒完成,通过7 7:在2.2秒完成评估在10秒完成评估高表达式使用并行池“当地”:——通过1 7:在0.45秒完成,通过2 7:在0.36秒完成,通过3 7:在1.1秒完成,通过4 7:在2.6秒完成,通过5 7:在1秒完成,通过6 7:在1.5秒完成,通过7 7:在3.2秒完成评估在12秒完成评估高表达使用并行池“当地”:——通过1 7:在0.43秒完成,通过2 7:在0.38秒完成,通过3 7:在1.6秒完成,通过4 7:在2.6秒完成,通过5 7:完成0.89秒-通过6 7:在1.2秒完成,通过7 7:在2.3秒完成评估在11秒完成评估高表达式使用并行池“当地”:——通过1 7:在0.47秒完成,通过2 7:在0.38秒完成,通过3 7:在1.1秒完成,通过4 7:在2秒完成,通过5 7:在0.76秒完成,通过6 7:在1.2秒完成,通过7 7:在2.4秒完成评估在9.5秒完成评估高表达式使用并行池“当地”:——通过1 7:在0.42秒完成,通过2 7:在0.33秒完成,通过3 7:在1.2秒完成,通过4 7:在2.2秒完成,通过5 7:在0.82秒完成,通过6 7:在1.3秒完成,通过7 7:在2.2秒完成评估在9.7秒完成评估高表达式使用并行池“当地”:——通过1 7:在0.49秒完成,通过2 7:在0.36秒完成,通过3 7:在1.1秒完成,通过4 7:在2.8秒完成,通过5 7:在1.2秒完成,通过6 7:在1.1秒完成,通过7 7:在2.3秒完成评估在10秒完成评估高表达使用并行池“当地”:——通过1 7:在0.5秒完成,通过2 7:在0.34秒完成,通过3 7:在1.1秒完成,通过4 7:在1.8秒完成,通过5 7:在0.75秒内完成-通过7中的6:在1.1秒内完成-通过7中的7:在1.8秒内完成评估在8.5秒内完成
查看训练树Mdl
。
视图(Mdl,“模式”,“图”)
Mdl
树有深度吗8
。
估计样本内均方误差。
MSE_Mdl = collect (loss(Mdl,tx,ty))
使用并行池'local'计算tall表达式:-通过1 / 1:在3.1秒内完成评估在3.7秒内完成
MSE_Mdl = 4.9078
使用所有的观测值生长一个回归树。通过指定最大树深度来限制树深度4
。
Mdl2 = fitrtree(tx,ty,“MaxDepth”4);
评估高表达式使用并行池“当地”:——通过1 2:在0.38秒完成,通过2 2:在0.35秒完成评估在1.2秒完成评估高表达式使用并行池“当地”:——通过1 7:在0.42秒完成,通过2 7:在0.35秒完成,通过3 7:在1.2秒完成,通过4 7:在1.9秒完成,通过5 7:在0.73秒完成,通过6 7:在1.2秒完成,通过7 7:在2.1秒完成评估在8.9秒完成评估高表达式使用并行池“当地”:——通过1 7:在0.44秒完成,通过2 7:在0.39秒完成,通过3 7:在1.1秒完成,通过4 7:在2.1秒完成,通过5 7:在0.74秒完成,通过6 7:在1.1秒完成,通过7 7:在2.7秒完成评估在9.7秒完成评估高表达式使用并行池“当地”:——通过1 7:在0.46秒完成,通过2 7:在0.37秒完成,通过3 7:在1.1秒完成,通过4 7:在1.9秒完成,通过5 7:在0.79秒完成,通过6 7:在1.1秒完成,通过7 7:在2.3秒完成评估在9.1秒完成评估高表达使用并行池“当地”:——通过1 7:在0.43秒完成,通过2 7:在0.41秒完成,通过3 7:在1.1秒完成,通过4 7:在1.9秒完成,通过5 7:在0.72秒内完成-通过7中的6:在1秒内完成-通过7中的7:在2.2秒内完成评估在8.9秒内完成
查看训练树Mdl2
。
视图(Mdl2,“模式”,“图”)
估计样本内均方误差。
MSE_Mdl2 = collect (loss(Mdl2,tx,ty))
使用并行池'local'计算tall表达式:-通过1 / 1:在0.86秒内完成评估在1.3秒内完成
MSE_Mdl2 = 9.3903
Mdl2
深度为4且样本内均方误差高于均方误差的较不复杂的树是否Mdl
。
使用tall数组自动优化回归树的超参数。样本数据集为carsmall
数据集。本例将数据集转换为tall数组,并使用它来运行优化过程。
当您在高数组上执行计算时,MATLAB®使用并行池(如果您有并行计算工具箱™,则默认为并行池)或本地MATLAB会话。如果您希望在使用并行计算工具箱时使用本地MATLAB会话运行示例,则可以通过使用mapreduce
函数。
加载carsmall
数据集。考虑位移
,马力
,重量
作为反应的预测者英里/加仑
。
负载carsmallX =[排量马力重量];
转换内存中的数组X
和英里/加仑
到高数组。
tx = tall(X);
使用“本地”配置文件启动并行池(parpool)…连接到并行池(工人数量:6)。
ty = tall(MPG);
方法自动优化超参数“OptimizeHyperparameters”
名称-值对参数。找到最优“MinLeafSize”
最大限度地减少保留交叉验证损失的值。(指定“汽车”
使用“MinLeafSize”
.)为了再现性,请使用“expected-improvement-plus”
采集函数和设置种子的随机数生成器使用rng
和tallrng
。结果可能因工作线程的数量和tall数组的执行环境而异。有关详情,请参阅控制代码运行的位置。
rng (“默认”) tallrng (“默认”) [Mdl,FitInfo,HyperparameterOptimizationResults] = fittrtree (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秒内完成-通过4个中的3个:在2.4秒内完成-通过4个中的4个:在1.6秒内完成评估在6.6秒内完成使用并行池'local'评估tall表达式:-通过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秒内完成| |错误| 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'的tall表达式:-通过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秒内完成-通过4次中的3次:在2秒内完成-通过4次中的4次:在1.4秒内完成评估在5.8秒内完成使用并行池'local'评估tall表达式:-通过1次中的1次:在0.68秒内完成评估在0.99秒内完成|0 |接受| 3.1641 | 35.522 | 2.9048 | 3.1493 | |
评估高表达式使用并行池“当地”:通过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'评估tall表达式:-通过1 / 1:在0.63秒内完成评估在0.89秒内完成|0 |接受| 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秒内完成-通过4次中的3次:在1.8秒内完成-通过4次中的4次:在1.3秒内完成评估在5.4秒内完成使用并行池'local'评估tall表达式:-通过1次中的1次:在0.68秒内完成评估在0.97秒内完成bbb80 |接受| 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秒内完成-通过4次中的3次:在1.8秒内完成-通过4次中的4次:在1.4秒内完成评估在5.5秒内完成使用并行池'local'评估tall表达式:-通过1次中的1次:在0.64秒内完成评估在0.9秒内完成bbb90 |接受| 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秒内完成-通过4次中的3次:在1.8秒内完成-通过4次中的4次:在1.6秒内完成评估在5.8秒内完成使用并行池'local'评估tall表达式:-通过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秒内完成-通过4次中的3次:在1.8秒内完成-通过4次中的4次:在1.4秒内完成评估在5.5秒内完成使用并行池'local'评估tall表达式:-通过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秒内完成-通过4中的3:在2秒内完成-通过4中的4:在1.4秒内完成评估在5.7秒内完成使用并行池'local'评估tall表达式:-通过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 |接受| 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秒内完成-通过4中的3:在1.8秒内完成-通过4中的4:在1.4秒内完成评估在5.4秒内完成使用并行池'local'评估tall表达式:-通过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秒内完成-通过4中的3:在2秒内完成-通过4中的4:在1.4秒内完成评估在5.7秒内完成使用并行池'local'评估tall表达式:-通过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秒内完成-通过4次中的3次:在1.8秒内完成-通过4次中的4次:在1.3秒内完成评估在5.5秒内完成使用并行池'local'评估tall表达式:-通过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秒内完成-通过4中的3:在1.8秒内完成-通过4中的4:在1.4秒内完成评估在5.4秒内完成使用并行池'local'评估tall表达式:-通过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秒内完成-通过4中的3:在1.8秒内完成-通过4中的4:在1.4秒内完成评估在5.5秒内完成使用并行池'local'评估tall表达式:-通过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秒内完成-通过4个中的3个:在2.1秒内完成-通过4个中的4个:在1.4秒内完成评估在6.8秒内完成使用并行池'local'评估tall表达式:-通过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'评估tall表达式:-通过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'评估tall表达式:-通过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秒内完成-通过4次中的3次:在1.8秒内完成-通过4次中的4次:在1.3秒内完成评估在5.4秒内完成使用并行池'local'评估tall表达式:-通过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 |接受| 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秒内完成-通过4次中的3次:在1.8秒内完成-通过4次中的4次:在1.3秒内完成评估在5.5秒内完成使用并行池'local'评估tall表达式:-通过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秒内完成-通过4中的3:在1.8秒内完成-通过4中的4:在1.3秒内完成评估在5.4秒内完成使用并行池'local'评估tall表达式:-通过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”评价tall表达式:-通过2中的1:在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 = bayesanoptimization with properties: ObjectiveFcn: @createObjFcn/tallObjFcn变量描述:[3×1 optimizableVariable]选项:[1×1 struct] MinObjective: 2.9048 XAtMinObjective: [1×1 table] minestimatedobjobjective: 2.9122 xatminestimatedobjobjective: [1×1 table] NumObjectiveEvaluations: 30 TotalElapsedTime: 882.5668 NextPoint: [1×1 table] XTrace: [30×1 table] ObjectiveTrace: [30×1 double] ConstraintsTrace: [] UserDataTrace:{30×1细胞}ObjectiveEvaluationTimeTrace:[30×1双]IterationTimeTrace:[30×1双]ErrorTrace:[30×1双]FeasibilityTrace:[30×1逻辑]FeasibilityProbabilityTrace:[30×1双]IndexOfMinimumTrace:[30×1双]ObjectiveMinimumTrace:[30×1双]EstimatedObjectiveMinimumTrace:[30×1双)
资源描述
- - - - - -样本数据用于训练模型的样本数据,指定为表。每一行资源描述
对应一个观测值,每一列对应一个预测变量。可选地,资源描述
可以包含一个用于响应变量的附加列。除了字符向量的单元格数组之外,不允许使用多列变量和单元格数组。
如果资源描述
包含响应变量,并且您希望使用中的所有剩余变量资源描述
作为预测器,然后通过使用指定响应变量ResponseVarName
。
如果资源描述
包含响应变量,并且您希望仅使用中剩余变量的子集资源描述
作为预测器,然后通过使用指定公式公式
。
如果资源描述
不包含响应变量,则使用Y
。中的行数和响应变量的长度资源描述
必须是相等的。
数据类型:表格
公式
- - - - - -反应变量和预测变量子集的解释模型响应变量的解释模型和预测变量的子集,以字符向量或字符串标量的形式指定“Y ~ X1 + X2 + X3”
。在这个形式中,Y
表示响应变量,和X1
,X2
,X3
表示预测变量。
中的变量子集资源描述
作为训练模型的预测器,请使用公式。如果你指定一个公式,那么软件不使用任何变量资源描述
那就不要出现在公式
。
公式中的变量名必须是资源描述
(Tbl.Properties.VariableNames
)和有效的MATLAB®标识符。
中的变量名进行验证资源描述
通过使用isvarname
函数。下面的代码返回逻辑1
(真正的
),以获取每个具有有效变量名的变量。
cellfun (@isvarname Tbl.Properties.VariableNames)
资源描述
无效,然后使用matlab.lang.makeValidName
函数。table . properties . variablenames = matlab.lang.makeValidName(table . properties . variablenames);
数据类型:字符
|字符串
Y
- - - - - -响应数据X
- - - - - -预测数据预测器数据,指定为数字矩阵。的每一列X
表示一个变量,每行表示一个观测值。
fitrtree
认为南
值X
作为缺失的值。fitrtree
不使用所有缺失值的观测值X
在合适的时候。fitrtree
使用有缺失值的观测值X
找到这些观测值具有有效值的变量的分裂。
数据类型:单
|双
指定可选的逗号分隔对名称,值
参数。名字
是参数名和吗价值
是对应的值。名字
必须出现在引号内。可以以任意顺序指定多个名称和值对参数,如Name1, Value1,…,的家
。
“CrossVal”,“上”、“MinParentSize”,30岁
指定一个交叉验证的回归树,每个分支节点至少有30个观测值。
请注意
方法之外不能使用任何交叉验证名称-值对参数“OptimizeHyperparameters”
名称-值对参数。您可以修改的交叉验证“OptimizeHyperparameters”
只有使用“HyperparameterOptimizationOptions”
名称-值对参数。
“CategoricalPredictors”
- - - - - -分类预测表“所有”
分类预测符列表,指定为由逗号分隔的对“CategoricalPredictors”
这张表中的一个值。
价值 | 描述 |
---|---|
正整数向量 | 向量中的每个条目都是一个索引值,对应于预测器数据(X 或资源描述 ),其中包含一个分类变量。 |
逻辑向量 | 一个真正的 条目意味着预测器数据的对应列(X 或资源描述 )是一个分类变量。 |
字符矩阵 | 矩阵的每一行都是一个预测变量的名称。名称必须与中的条目匹配PredictorNames 。用额外的空格填充名称,使字符矩阵的每一行具有相同的长度。 |
字符向量的字符串数组或单元数组 | 数组中的每个元素都是一个预测变量的名称。名称必须与中的条目匹配PredictorNames 。 |
“所有” |
所有的预测都是绝对的。 |
默认情况下,如果预测器数据在表中(资源描述
),fitrtree
如果变量是逻辑向量、无序分类向量、字符数组、字符串数组或字符向量的单元数组,则假定它是分类的。如果预测数据是一个矩阵(X
),fitrtree
假设所有预测因子都是连续的。要将任何其他预测符标识为分类预测符,请使用“CategoricalPredictors”
名称-值对参数。
例子:“CategoricalPredictors”、“所有”
数据类型:单
|双
|逻辑
|字符
|字符串
|细胞
“MaxDepth”
- - - - - -最大树深最大树深度,指定为由逗号分隔的对“MaxDepth”
一个正整数。为此参数指定一个值,以返回具有更少级别的树,并且需要更少的遍历tall数组来计算。的算法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”
值为空(默认),则软件不存储任何预测器。
如果您指定“NumBins”
值为正整数标量,则软件将每个数字预测器放入指定数量的等概率bins中,然后在bin索引上生长树而不是原始数据。
如果“NumBins”
值超过数(u)的唯一值作为预测器,那么fitrtree
将预测器放入u箱里。
fitrtree
不支持分类预测。
当您使用大型训练数据集时,这种分箱选项可以加快训练速度,但可能会降低准确性。你可以试试“NumBins”,50岁
先换,再换“NumBins”
价值取决于准确性和训练速度。
训练后的模型将箱子边缘存储在BinEdges
财产。
例子:“NumBins”,50岁
数据类型:单
|双
“PredictorNames”
- - - - - -预测变量名称预测变量名,指定为由“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.05fitrtree
停止分裂节点。
提示
标准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”
(默认)|特征向量|字符串标量响应变量名,指定为由“ResponseName”
以及字符向量或字符串标量。
如果你提供Y
,那么你可以使用“ResponseName”
为响应变量指定一个名称。
如果你提供ResponseVarName
或公式
,那么你就不能使用“ResponseName”
。
例子:“ResponseName”、“响应”
数据类型:字符
|字符串
“ResponseTransform”
- - - - - -响应转换“没有”
(默认)|函数处理响应转换,指定为由逗号分隔的对组成“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
是:
MaxNumSplits
- - - - - -fitrtree
在整数之间搜索,默认情况下在范围内按对数缩放NumObservations-1[1,马克斯(2))
。
MinLeafSize
- - - - - -fitrtree
在整数之间搜索,默认情况下在范围内按对数缩放[1,马克斯(2楼(NumObservations / 2)))
。
NumVariablesToSample
- - - - - -fitrtree
不对该超参数进行优化。如果你通过了NumVariablesToSample
作为参数名,fitrtree
简单地使用全部的预测数。然而,fitrensemble
对这个超参数进行优化。
通过传递的向量来设置非默认参数optimizableVariable
具有非默认值的对象。例如,
负载carsmall参数=超参数(“fitrtree”(功率、重量),MPG);参数(1)。Range = [1,30];
通过参数个数
的值OptimizeHyperparameters
。
默认情况下,在命令行中出现迭代显示,并根据优化中的超参数数量出现绘图。对于优化和绘图,目标函数为Log(1 +交叉验证损失)用于回归和误分类率用于分类。要控制迭代显示,请设置详细的
田野“HyperparameterOptimizationOptions”
名称-值对参数。要控制情节,设置ShowPlots
田野“HyperparameterOptimizationOptions”
名称-值对参数。
使用示例请参见优化回归树。
例子:“汽车”
“HyperparameterOptimizationOptions”
- - - - - -优化选项优化选项,指定为由。组成的逗号分隔对“HyperparameterOptimizationOptions”
还有一个结构。的效果OptimizeHyperparameters
名称-值对参数。结构中的所有字段都是可选的。
字段名 | 值 | 默认的 |
---|---|---|
优化器 |
|
“bayesopt” |
AcquisitionFunctionName |
获取函数的名称包括 |
“expected-improvement-per-second-plus” |
MaxObjectiveEvaluations |
目标函数评价的最大次数。 | 30. 为“bayesopt” 或“randomsearch” ,以及整个电网“gridsearch” |
MaxTime |
时间限制,指定为正实数。时间限制以秒为单位,由 |
正 |
NumGridDivisions |
为“gridsearch” 表示每个维度中值的个数。该值可以是表示每个维度的值的正整数向量,也可以是适用于所有维度的标量。对于分类变量,此字段将被忽略。 |
10 |
ShowPlots |
指示是否显示图形的逻辑值。如果真正的 ,该字段根据迭代次数绘制最佳目标函数值。如果有一个或两个优化参数,如果优化器 是“bayesopt” ,然后ShowPlots 并根据参数绘制了目标函数的模型。 |
真正的 |
SaveIntermediateResults |
时是否保存结果的逻辑值优化器 是“bayesopt” 。如果真正的 ,此字段覆盖名为“BayesoptResults” 在每次迭代中。变量是aBayesianOptimization 对象。 |
假 |
详细的 |
显示到命令行。
详细信息请参见 |
1 |
UseParallel |
指示是否并行运行贝叶斯优化的逻辑值,这需要parallel Computing Toolbox™。由于并行时序的不可再现性,并行贝叶斯优化不一定产生可再现的结果。有关详情,请参阅并行贝叶斯优化。 | 假 |
重新分区 |
指示是否在每次迭代时重新划分交叉验证的逻辑值。如果
|
假 |
请使用以下三个字段名中的一个。 | ||
CVPartition |
一个cvpartition 对象创建的cvpartition 。 |
“Kfold”,5 如果未指定任何交叉验证字段 |
坚持 |
范围内的标量(0,1) 表示保留分数。 |
|
Kfold |
大于1的整数。 |
例子:“HyperparameterOptimizationOptions”、结构(MaxObjectiveEvaluations, 60)
数据类型:结构体
树
-回归树回归树,作为回归树对象返回。使用“Crossval”
,“KFold”
,“坚持”
,“Leaveout”
,或“CVPartition”
选项的结果是一个类树RegressionPartitionedModel
。你不能用分区树进行预测,所以这种树没有预测
方法。
否则,树
是一流的RegressionTree
,你可以使用预测
预测的方法。
的弯曲测试是评估两个变量不相关的零假设的统计检验。
预测变量间的曲率检验x和y是使用这个过程进行的。
如果x是连续的,然后把它分成四分位数。创建一个标称变量,根据所占分区的哪个部分对观察值进行分类。如果有缺失的值,那么为它们创建一个额外的存储箱。
对于分区预测器中的每个级别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是连续的,然后把变量分成四分位数。创建一个标称变量,根据所占分区的哪个部分对观察值进行分类。如果有缺失的值,那么为它们创建一个额外的存储箱。
创建标称变量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(即,如果)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.05fitrtree
不拆分节点t。
如果有最小值p值,然后fitrtree
选择相应的预测器来分割节点t。
如果不止一个p-value由于下溢而为零fitrtree
将标准CART应用于相应的预测因子以选择拆分预测因子。
如果fitrtree
选择一个分割预测器,然后它使用标准CART来选择切割点(参见标准CART过程中的第4步)。
对于交互测试(即,如果)PredictorSelection
是“interaction-curvature”
):
如果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
使用英特尔并行训练决策树®线程构建块(TBB)。有关英特尔TBB的详细信息,请参见https://software.intel.com/en-us/intel-tbb。
[1] Breiman, L., J. Friedman, R. Olshen和C. Stone。分类与回归树。博卡拉顿,佛罗里达州:CRC出版社,1984。
[10]陆炜英,“基于无偏变量选择和交互检测的回归树”。Statistica中央研究院, 2002年第12卷,第361-386页。
[3] Loh, W.Y.和Y.S. Shih。分类树的拆分选择方法。Statistica中央研究院, 1997年第7卷,第815-840页。
使用注意事项和限制:
金宝app支持的语法有:
tree = fittrtree (table,Y)
tree = fittrtree (X,Y)
tree = fitrtree(___,Name,Value)
[tree,FitInfo,HyperparameterOptimizationResults] = fittrtree (___,Name,Value)
- - - - - -fitrtree
返回附加的输出参数FitInfo
和HyperparameterOptimizationResults
当您指定“OptimizeHyperparameters”
名称-值对参数。
树
是一个CompactRegressionTree
对象;因此,它不包括用于训练回归树的数据。
的FitInfo
输出参数是一个空结构数组,当前为将来可能使用保留。
的HyperparameterOptimizationResults
输出参数是BayesianOptimization
对象或具有描述超参数交叉验证优化的关联值的超参数表。
“HyperparameterOptimizationResults”
是非空的时候“OptimizeHyperparameters”
在创建模型时,名称-值对参数是非空的。中的值“HyperparameterOptimizationResults”
属性所指定的值“HyperparameterOptimizationOptions”
创建模型时的名称-值对参数。
如果你指定“bayesopt”
(默认)HyperparameterOptimizationResults
是类的对象吗BayesianOptimization
。
如果你指定“gridsearch”
或“randomsearch”
,然后HyperparameterOptimizationResults
是使用的超参数、观察到的目标函数值(交叉验证损失)以及从最低(最好)到最高(最差)的观察值排序的表。
金宝app支持的名称-值对参数有:
“CategoricalPredictors”
“HyperparameterOptimizationOptions”
-对于交叉验证,只支持tall优化金宝app“坚持”
验证。例如,您可以指定fitrtree (X, Y,‘OptimizeHyperparameters’,‘汽车’,‘HyperparameterOptimizationOptions’,结构(“抵抗”,0.2))
。
“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”
“重量”
这个附加的名称-值对参数是特定于tall数组的:
“MaxDepth”
—输入正整数,指定输出树的最大深度。为此参数指定一个值,以返回具有更少级别的树,并且需要更少的遍历tall数组来计算。的算法fitrtree
对数据进行一次传递,并对每个树级别进行额外的传递。缺省情况下,该函数不设置树的最大深度。
有关更多信息,请参见高大的数组。
执行并行超参数优化,请使用“HyperparameterOptimizationOptions”、结构(UseParallel,真的)
此函数调用中的名称-值对参数。
有关并行超参数优化的更多信息,请参见并行贝叶斯优化。
有关并行计算的更多一般信息,请参见运行MATLAB函数与自动并行支持金宝app(并行计算工具箱)。
您点击了与此MATLAB命令对应的链接:
通过在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。金宝app
你亦可选择下列网址:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家网站没有针对您所在位置的访问进行优化。