fitrensemble

符合学习者的整体回归

描述

例子

Mdl= fitrensemble (资源描述,ResponseVarName)返回训练回归整体模型对象(Mdl),其中包含增加100回归树的结果使用LSBoost和预测和响应表中的数据资源描述ResponseVarName响应变量的名称吗资源描述

例子

Mdl= fitrensemble (资源描述,公式)适用于公式适合的模型预测和响应表中的数据资源描述公式是一个解释性模型反应和预测变量的子集资源描述适合使用Mdl。例如,“Y ~ X1 + X2 + X3”适合的响应变量Tbl.Y作为预测变量的函数Tbl.X1,Tbl.X2,Tbl.X3

例子

Mdl= fitrensemble (资源描述,Y)对表中所有变量资源描述作为预测变量。Y向量的反应不是在吗资源描述

例子

Mdl= fitrensemble (X,Y)使用预测数据矩阵X和响应数据向量Y

例子

Mdl= fitrensemble (___,名称,值)使用指定的一个或多个额外的选项名称,值对输入参数的参数和任何以前的语法。例如,您可以指定数量的学习周期,合奏聚合方法,或实现10倍交叉验证。

例子

全部折叠

创建一个回归,预测汽车的燃油经济性考虑到气缸数,体积而流离失所的圆柱体,马力,重量。然后,训练另一个合奏使用更少的预测因子。比较样本内预测精度的集合体。

加载carsmall数据集。在训练中使用的变量存储在表中。

负载carsmall台=表(汽缸、排量、马力、重量、MPG);

火车一个回归合奏。

Mdl1 = fitrensemble(资源描述,“英里”);

Mdl1是一个RegressionEnsemble模型。一些显著的特点Mdl1是:

  • 整体聚合算法“LSBoost”

  • 因为整体聚合方法是提高算法,回归树允许最多10分裂组成。

  • 一百棵树组成。

因为英里/加仑MATLAB®工作区是一个变量,您可以获得相同的结果通过输入

Mdl1 = fitrensemble(资源描述、MPG);

使用训练回归整体预测四缸车的燃油经济性与200立方英寸的位移,150马力,重达3000磅。

pMPG =预测(Mdl1 [4 200 150 3000])
pMPG = 25.6467

培训的新乐团使用所有预测资源描述除了位移

公式=英里/加仑~汽缸+能力+重量的;Mdl2 = fitrensemble(资源描述、公式);

比较之间的resubstitution家中小企业Mdl1Mdl2

mse1 = resubLoss (Mdl1)
mse1 = 0.3096
mse2 = resubLoss (Mdl2)
mse2 = 0.5861

的样本内MSE,列车在所有预测较低。

通过使用火车的合奏了回归树fitrensemble。通过指定的减少训练时间“NumBins”名称-值对参数本数值预测。培训后,您可以通过使用复制被预测数据BinEdges训练模型和的性质离散化函数。

生成一个样本数据集。

rng (“默认”)%的再现性N = 1 e6;X1 =兰迪([1,5],[N, 1]);X2 =兰迪([5 10],[N, 1]);X3 =兰迪([0 5][N, 1]);X4 =兰迪([1,10],[N, 1]);X = (X1, X2) X3 X4);y = X1 + X2 + X3 + X4 + normrnd (0, 1, [N, 1]);

列车的整体使用最小二乘提高了回归树(LSBoost默认值)。时间函数进行比较。

抽搐Mdl1 = fitrensemble (X, y);toc
运行时间是78.662954秒。

加快培训使用“NumBins”名称-值对的论点。如果你指定“NumBins”值作为一个正整数标量,那么软件箱子每个数值预测到指定数量的等概率的垃圾箱,然后树生长在本指数代替原始数据。软件不本分类预测。

抽搐Mdl2 = fitrensemble (X, y,“NumBins”,50);toc
运行时间是43.353208秒。

当您使用快这个过程大约两倍分箱数据,而不是原始数据。注意,运行时间取决于您的操作系统。

比较resubstitution回归错误。

rsLoss = resubLoss (Mdl1)
rsLoss = 1.0134
rsLoss2 = resubLoss (Mdl2)
rsLoss2 = 1.0133

在这个例子中,装箱没有重大损失预测的值可以减少培训时间的准确性。通常,当你有一个大的数据集在这个例子中,使用装箱选项加速训练但是会导致潜在的准确性下降。如果你想进一步减少训练时间,指定一个小数量的垃圾箱。

通过使用复制被预测数据BinEdges训练模型和的性质离散化函数。

X = Mdl2.X;%的预测数据Xbinned = 0(大小(X));边缘= Mdl2.BinEdges;%找到被预测的指标。idxNumeric =找到(~ cellfun (@isempty边缘));如果iscolumn (idxNumeric) idxNumeric = idxNumeric ';结束j = idxNumeric x = x (:, j);% x转换为数组如果x是一个表。如果istable (x) x = table2array (x);结束%组x到垃圾箱用离散化的功能。xbinned =离散化(x,[无穷;边缘{};正]);Xbinned (:, j) = Xbinned;结束

Xbinned包含本指标,从1到垃圾箱的数量,数值预测。Xbinned值是0分类预测。如果X包含年代,那么相应的Xbinned值是年代。

估计泛化误差的合奏了回归树。

加载carsmall数据集。选择气缸数,体积而流离失所的圆柱体,马力和重量作为燃料经济的预测。

负载carsmallX =(气缸位移马力重量);

旨在使用10倍交叉验证回归树的合奏。使用决策树模板,指定每棵树只应该是一个分裂一次。

rng (1);%的再现性t = templateTree (“MaxNumSplits”1);Mdl = fitrensemble (X,英里/加仑,“学习者”t“CrossVal”,“上”);

Mdl是一个RegressionPartitionedEnsemble模型。

情节的累积,旨在10倍,均方误差(MSE)。显示估计泛化误差的合奏。

kflc = kfoldLoss (Mdl,“模式”,“累积”);图;情节(kflc);ylabel (“旨在MSE 10倍”);包含(“学习周期”);

estGenError = kflc(结束)
estGenError = 24.8521

kfoldLoss返回默认泛化误差。然而,绘制累计损失允许您监控损失变化弱学习者积累合奏。

整体达到23.5左右的MSE积累大约30弱的学习者。

如果你满意合奏的泛化误差,然后创建一个预测模型,训练合奏再次使用所有的设置除了交叉验证。然而,是一种很好的做法来优化hyperparameters等决定将每棵树的最大数量和数量的学习周期。

这个例子展示了如何优化hyperparameters自动使用fitrensemble。这个例子使用了carsmall数据。

加载数据。

负载carsmall

你可以找到hyperparameters减少5倍交叉验证损失通过使用自动hyperparameter优化。

Mdl = fitrensemble (MPG(功率、重量),“OptimizeHyperparameters”,“汽车”)

在这个例子中,再现性,设置随机种子和使用“expected-improvement-plus”采集功能。同时,再现性的随机森林算法,指定“复制”名称-值对的论点是真正的树的学习者。

rng (“默认”)t = templateTree (“复制”,真正的);Mdl = fitrensemble (MPG(功率、重量),“OptimizeHyperparameters”,“汽车”,“学习者”t“HyperparameterOptimizationOptions”结构(“AcquisitionFunctionName”,“expected-improvement-plus”))
| = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = | | Iter | Eval |目的:| |目的BestSoFar | BestSoFar | |方法NumLearningC - | LearnRate | MinLeafSize | | | |结果日志(1 +损失)运行时| |(观察)| (estim) | |永昌龙| | | | = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = | | 1 |的| 2.9743 | 10.177 | 2.9743 | 2.9743 |袋| 413 | - | 1 |
| 2 |接受| 6.2619 | 1.4109 | 2.9743 | 3.6147 | LSBoost 57 | | 0.0016067 | 6 |
最好| 3 | | 2.9562 | 0.70324 | 2.9562 | 2.9654 | 32袋| | - | 2 |
| 4 |接受| 4.1884 | 1.0749 | 2.9562 | 2.9573 |包55 40 | - - - | | |
| 5 |接受| 4.1881 | 4.776 | 2.9562 | 2.957 | LSBoost | 258 | 0.096683 | 50 |
| 6 |接受| 3.1479 | 1.546 | 2.9562 | 2.9569 | LSBoost | 75 | 0.092525 | 6 |
| | 7日接受| 3.7831 | 0.39071 | 2.9562 | 2.9568 | LSBoost | 17 | 0.08882 | 1 |
| 8 |接受| 4.2759 | 0.3212 | 2.9562 | 2.9564 | LSBoost | 12 | 0.094908 | 1 |
| | 9日接受| 3.124 | 3.0992 | 2.9562 | 2.9564 | LSBoost | 157 | 0.083222 | 8 |
| |接受10 | 3.6349 | 10.054 | 2.9562 | 2.991 | LSBoost | 494 | 0.070612 | 2 |
| | 11日接受| 3.0526 | 0.2414 | 2.9562 | 2.9615 | 10袋| | - | 1 |
| | 12日接受| 3.1469 | 1.3287 | 2.9562 | 2.9627 | LSBoost | 62 | 0.08423 | 4 |
| | 13日接受| 4.7629 | 0.43122 | 2.9562 | 2.9629 | LSBoost 21 48 | | 0.055294 | |
| | 14日接受| 4.1881 | 3.9945 | 2.9562 | 2.9629 | LSBoost | 213 | 0.99467 | |
| | 15日接受| 3.5337 | 1.3169 | 2.9562 | 3.0164 | LSBoost | 63 | 0.73987 | 1 |
| 16 |接受| 3.2481 | 1.2691 | 2.9562 | 2.9689 | LSBoost | 59 | 0.2363 | 6 |
| | 17日接受| 2.9732 | 1.621 | 2.9562 | 3.0016 |袋| 83 | - | 1 |
最好18岁| | | 2.9361 | 9.6119 | 2.9361 | 2.9648 |袋| 498 | - | 2 |
| | 19日接受| 3.5859 | 2.5096 | 2.9361 | 2.9987 | LSBoost | 123 | 0.1522 | 2 |
| |接受20 | 2.9406 | 9.5226 | 2.9361 | 2.9559 |袋| 496 | - | 2 |
| = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = | | Iter | Eval |目的:| |目的BestSoFar | BestSoFar | |方法NumLearningC - | LearnRate | MinLeafSize | | | |结果日志(1 +损失)运行时| |(观察)| (estim) | |永昌龙| | | | = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = | | | 21日接受| 2.9419 | 9.4082 | 2.9361 | 2.9517 |袋| 491 | - | 2 |
| | 22日接受| 5.7918 | 0.73879 | 2.9361 | 2.9525 | LSBoost 35 | | 0.0094806 | 1 |
| | 23日接受| 5.9584 | 5.1211 | 2.9361 | 2.9533 | LSBoost | 272 | 0.0010255 | 50 |
| | 24日接受| 6.4218 | 0.24342 | 2.9361 | 2.9538 | LSBoost | 10 | 0.0010003 | 1 |
| | 25日接受| 4.7662 | 3.8496 | 2.9361 | 2.9531 | LSBoost | 202 | 0.0058776 | 50 |
| | 26日接受| 3.4231 | 4.1306 | 2.9361 | 2.9537 | LSBoost | 208 | 0.99319 | 6 |
| | 27日接受| 5.6829 | 0.33705 | 2.9361 | 2.954 | LSBoost | 13 | 0.02954 | 1 |
| | 28日接受| 4.7428 | 1.3736 | 2.9361 | 2.954 | LSBoost | 72 | 0.01677 | 50 |
| | 29日接受| 5.9554 | 1.5838 | 2.9361 | 2.9544 | LSBoost | 78 | 0.0031809 | 1 |
| | 30日接受| 4.1881 | 1.1862 | 2.9361 | 2.9547 | LSBoost | 62 | 0.35508 | 50 |

__________________________________________________________优化完成。MaxObjectiveEvaluations 30。总功能评估:30总运行时间:139.2993秒。总目标函数评价时间:93.3718最佳观察可行点:方法NumLearningCycles LearnRate MinLeafSize ______ _________________ _____ ___________袋498南2观察目标函数值= 2.9361估计目标函数值= 2.9547时间评估函数= 9.6119最佳估计可行点(根据模型):方法NumLearningCycles LearnRate MinLeafSize ______ _________________ _____ ___________袋491南2估计目标函数值= 2.9547估计时间评估函数= 9.5465
Mdl = classreg.learning.regr。RegressionBaggedEnsemble响应的名字:“Y”CategoricalPredictors: [] ResponseTransform: 'none' NumObservations: 94 HyperparameterOptimizationResults: [1×1 BayesianOptimization] NumTrained: 491 Method: 'Bag' LearnerNames: {'Tree'} ReasonForTermination: 'Terminated normally after completing the requested number of training cycles.' FitInfo: [] FitInfoDescription: 'None' Regularization: [] FResample: 1 Replace: 1 UseObsForLearner: [94×491 logical] Properties, Methods

优化搜索方法回归(LSBoost),在NumLearningCycles,在LearnRateLSBoost树,在学习者MinLeafSize。输出是最低的合奏回归估计交叉验证的损失。

一个方法创建一个整体的提高了回归树具有令人满意的预测性能调优决策树复杂性水平使用交叉验证。而寻找一个最佳的复杂性水平,调整学习速率减少学习周期的数量。

这个例子使用交叉验证选项(手动找到最优参数“KFold”名称-值对)和论据kfoldLoss函数。或者,您可以使用“OptimizeHyperparameters”名称-值对参数自动优化hyperparameters。看到优化回归合奏

加载carsmall数据集。选择气缸数,体积而流离失所的圆柱体,马力和重量作为燃料经济的预测。

负载carsmall台=表(汽缸、排量、马力、重量、MPG);

默认值树的深度控制器推动回归树:

  • 10MaxNumSplits

  • 5MinLeafSize

  • 10MinParentSize

搜索最优tree-complexity水平:

  1. 旨在一组乐团。指数增加tree-complexity水平从树桩(1分)决定随后的集合体n- 1分裂。n是样本容量。同样,不同学习速率为每一套0.1至1。

  2. 估计旨在为每一个总体均方误差(MSE)。

  3. tree-complexity水平 j , j = 1 J 比较累积,旨在MSE的集合体,策划他们对学习的循环次数。情节单独为每个学习速率曲线在同一图。

  4. 选择达到最小均方误差曲线,并注意相应的学习周期和学习速率。

旨在深入回归树和一个树桩。因为含有缺失值的数据,使用代理分裂。这些回归树作为基准。

rng (1)%的再现性MdlDeep = fitrtree(资源描述,“英里”,“CrossVal”,“上”,“MergeLeaves”,“关闭”,“MinParentSize”,1“代孕”,“上”);MdlStump = fitrtree(资源描述,“英里”,“MaxNumSplits”,1“CrossVal”,“上”,“代孕”,“上”);

旨在150提高了回归树的整体使用5倍交叉验证。使用树模板:

  • 不同的最大数量分割使用序列中的值 { 2 0 , 2 1 , , 2 } 是这样的, 2 不大于n- 1。

  • 打开代理分裂。

对于每一个变体,调整学习速率使用中的每个值集{0.1,0.25,0.5,1}。

n =大小(1台);m =地板(log2 (n - 1));learnRate = (0.1 0.25 0.5 1);numLR =元素个数(learnRate);maxNumSplits = 2。^ (0: m);numMNS =元素个数(maxNumSplits);numTrees = 150;Mdl =细胞(numMNS numLR);k = 1: numLRj = 1: numMNS t = templateTree (“MaxNumSplits”maxNumSplits (j),“代孕”,“上”);Mdl {j, k} = fitrensemble(资源描述,“英里”,“NumLearningCycles”numTrees,“学习者”t“KFold”5,“LearnRate”,learnRate (k));结束结束

估计累积,旨在MSE的合奏。

kflAll = @ (x) kfoldLoss (x,“模式”,“累积”);errorCell = cellfun (Mdl kflAll,“统一”、假);错误=重塑(cell2mat (errorCell), [numTrees元素个数(maxNumSplits)元素个数(learnRate)]);errorDeep = kfoldLoss (MdlDeep);errorStump = kfoldLoss (MdlStump);

情节如何旨在MSE表现合奏的树的数量增加。情节上的曲线对学习速率相同的情节,和情节单独的情节不同tree-complexity水平。选择一个子集树复杂性水平的阴谋。

mnsPlot =[1轮(元素个数(maxNumSplits) / 2)元素个数(maxNumSplits)];图;k = 1:3次要情节(2 2 k)情节(挤压(错误(:,mnsPlot (k):)),“线宽”2)轴持有甘氨胆酸h =;情节(h。XLim,[errorDeep errorDeep],“。b”,“线宽”,2)情节(h。XLim,[errorStump errorStump],“r”,“线宽”2)图(h.XLim min(最低(错误(:,mnsPlot (k):)))。* [1],“——k”)h。YLim = [10 50]; xlabel(树木的数量)ylabel (“旨在MSE”)标题(sprintf (“MaxNumSplits = % 0.3 g”maxNumSplits (mnsPlot (k))))结束hL =传奇([cellstr num2str (learnRate ',的学习速率= % 0.2 f '));“深树”;“树桩”;“最小MSE。”]);hL.Position (1) = 0.6;

每个曲线包含最低旨在MSE发生在树的最优数量。

确定分割的最大数量,数量的树木,和学习速率,MSE整体收益率最低的。

[minErr, minErrIdxLin] = min(错误(:));[idxNumTrees, idxMNS idxLR] = ind2sub(大小(错误),minErrIdxLin);流(“\ nMin。MSE = % 0.5 f 'minErr)
分钟。MSE = 17.00516
流(“\ nOptimal参数值:\ nNum。树= % d ',idxNumTrees);
最优参数值:Num。树木= 38
流(' \ nMaxNumSplits = % d \ nLearning率= % 0.2 f \ n ',maxNumSplits (idxMNS) learnRate (idxLR))
MaxNumSplits = 4学习速率= 0.10

创建一个基于最优预测合奏hyperparameters和整个训练集。

tFinal = templateTree (“MaxNumSplits”maxNumSplits (idxMNS),“代孕”,“上”);MdlFinal = fitrensemble(资源描述,“英里”,“NumLearningCycles”idxNumTrees,“学习者”tFinal,“LearnRate”learnRate (idxLR))
MdlFinal = classreg.learning.regr。RegressionEnsemblePredictorNames:{'Cylinders' 'Displacement' 'Horsepower' 'Weight'} ResponseName: 'MPG' CategoricalPredictors: [] ResponseTransform: 'none' NumObservations: 94 NumTrained: 38 Method: 'LSBoost' LearnerNames: {'Tree'} ReasonForTermination: 'Terminated normally after completing the requested number of training cycles.' FitInfo: [38×1 double] FitInfoDescription: {2×1 cell} Regularization: [] Properties, Methods

MdlFinal是一个RegressionEnsemble。预测汽车的燃油经济性鉴于其气缸数,体积而流离失所的圆柱体,马力,和重量,可以通过数据和预测指标MdlFinal预测

而不是使用交叉验证选择手动搜索最优值(“KFold”)和kfoldLoss功能,您可以使用“OptimizeHyperparameters”名称-值对的论点。当你指定“OptimizeHyperparameters”软件发现,使用贝叶斯最优参数自动优化。通过使用获得的最佳值“OptimizeHyperparameters”可以获得不同于使用手动搜索。

t = templateTree (“代孕”,“上”);mdl = fitrensemble(资源描述,“英里”,“学习者”t“OptimizeHyperparameters”,{“NumLearningCycles”,“LearnRate”,“MaxNumSplits”})
| = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = | | Iter | Eval |目的:| |目的BestSoFar | BestSoFar | NumLearningC - | LearnRate | MaxNumSplits | | | |结果日志(1 +损失)运行时| |(观察)| (estim) |永昌龙| | | | = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = | | 1 |的| 3.3985 | 0.67095 | 3.3985 | 3.3985 | 26 | 0.072054 | 3 |
| 2 |接受| 6.0976 | 4.1242 | 3.3985 | 3.5578 | 170 | 0.0010295 | 70 |
最好| 3 | | 3.2868 | 5.9884 | 3.2868 | 3.287 | 273 | 0.61026 | 6 |
| 4 |接受| 6.1839 | 1.6681 | 3.2868 | 3.2868 | 80 | 0.0016871 | 1 |
最好| 5 | | 3.027 | 0.35792 | 3.027 | 3.0275 | 14 | 0.21079 | 85 |
| 6 |接受| 3.0553 | 0.27277 | 3.027 | 3.0323 | 10 | 0.25194 | 19 |
| | 7日接受| 3.3577 | 0.26363 | 3.027 | 3.0486 | 10 | 0.17901 | 4 |
| | 8接受| 3.0491 | 0.27427 | 3.027 | 3.0328 | 10 | 0.28136 | 98 |
| | 9日接受| 3.0735 | 0.27294 | 3.027 | 3.0288 | 10 | 0.25459 | 99 |
| |接受10 | 3.1252 | 1.3338 | 3.027 | 3.0403 | 58 | 0.25562 | 9 |
| | 11日接受| 3.0613 | 0.28222 | 3.027 | 3.0325 | 10 | 0.26363 | 99 |
| | 12日接受| 3.3299 | 0.27812 | 3.027 | 3.0312 | | 0.96285 | 93 |
| | 13日接受| 5.2994 | 0.2922 | 3.027 | 3.0301 | 11 | 0.052366 | 93 |
| | 14日接受| 3.0946 | 0.26976 | 3.027 | 3.0313 | 10 | 0.49134 | 92 |
| | 15日接受| 3.2499 | 2.7489 | 3.027 | 3.0287 | 119 | 0.27613 | 49 |
| | 16日接受| 3.1039 | 0.26627 | 3.027 | 3.0268 | 10 | 0.90888 | 1 |
最好17 | | | 2.8971 | 0.40282 | 2.8971 | 2.8975 | 17 | 0.35714 | 1 |
| | 18日接受| 4.5501 | 0.2607 | 2.8971 | 2.897 | 10 | 0.097401 | 4 |
| | 19日接受| 2.923 | 1.2505 | 2.8971 | 2.897 | 60 | 0.088079 | 1 |
| |接受20 | 2.9257 | 0.6109 | 2.8971 | 2.897 | 0.17524 | 1 | | 28
| = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = | | Iter | Eval |目的:| |目的BestSoFar | BestSoFar | NumLearningC - | LearnRate | MaxNumSplits | | | |结果日志(1 +损失)运行时| |(观察)| (estim) |永昌龙| | | | = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = | | | 21日接受| 3.0642 | 0.63736 | 2.8971 | 2.8968 | 30 | 0.95959 | 1 |
| | 22日接受| 3.0486 | 0.9568 | 2.8971 | 2.8966 | 41 | 0.11378 | 91 |
| | 23日接受| 2.9682 | 1.6611 | 2.8971 | 2.8965 | 81 | 0.041244 | 1 |
| | 24日接受| 2.934 | 0.4262 | 2.8971 | 2.8982 | 19 | 0.25643 | 1 |
| | 25日接受| 2.9839 | 0.36893 | 2.8971 | 2.8995 | 16 | 0.58473 | 1 |
最好26 | | | 2.8895 | 0.31171 | 2.8895 | 2.8892 | 13 | 0.34786 | 1 |
| | 27日接受| 2.9215 | 2.9311 | 2.8895 | 2.8893 | 145 | 0.061728 | 1 |
| | 28日接受| 3.0827 | 1.5154 | 2.8895 | 2.8894 | 74 | 0.99934 | 1 |
| | 29日接受| 2.9234 | 1.7442 | 2.8895 | 2.8893 | 85 | 0.059513 | 1 |
| | 30日接受| 2.924 | 4.437 | 2.8895 | 2.8894 | 222 | 0.031299 | 1 |

__________________________________________________________优化完成。MaxObjectiveEvaluations 30。总功能评估:30总运行时间:70.0647秒。总目标函数评价时间:36.879最佳观察可行点:NumLearningCycles LearnRate MaxNumSplits _________________ _____ _______ 13 0.34786 1观察目标函数值= 2.8895估计目标函数值= 2.8894时间评估函数= 0.31171最佳估计可行点(根据模型):NumLearningCycles LearnRate MaxNumSplits _________________ _____ _______ 13 0.34786 1估计目标函数值= 2.8894估计时间评估函数= 0.31548
mdl = classreg.learning.regr。RegressionEnsemblePredictorNames:{'Cylinders' 'Displacement' 'Horsepower' 'Weight'} ResponseName: 'MPG' CategoricalPredictors: [] ResponseTransform: 'none' NumObservations: 94 HyperparameterOptimizationResults: [1×1 BayesianOptimization] NumTrained: 13 Method: 'LSBoost' LearnerNames: {'Tree'} ReasonForTermination: 'Terminated normally after completing the requested number of training cycles.' FitInfo: [13×1 double] FitInfoDescription: {2×1 cell} Regularization: [] Properties, Methods

输入参数

全部折叠

样本数据用于训练模型,指定为一个表。每一行的资源描述对应于一个观察,每一列对应一个预测变量。资源描述响应变量可以包含一个额外的列。多列变量和细胞数组以外的细胞阵列的特征向量是不允许的。

  • 如果资源描述包含响应变量和您想要使用所有剩余变量预测,然后指定响应变量使用ResponseVarName

  • 如果资源描述包含响应变量,您想要使用的一个子集剩余变量的预测,然后指定一个公式使用公式

  • 如果资源描述不包含响应变量,然后指定响应数据使用吗Y。响应变量的长度的行数资源描述必须是相等的。

请注意

节省内存和执行时间,供应XY而不是资源描述

数据类型:

响应变量名称,指定为响应变量的名称资源描述

您必须指定ResponseVarName作为一个特征向量或字符串标量。例如,如果Tbl.Y响应变量,然后指定ResponseVarName作为“Y”。否则,fitrensemble将所有列的资源描述作为预测变量。

数据类型:字符|字符串

响应变量的解释模型和预测变量的一个子集,指定为一个特征向量或字符串标量形式“Y ~ X1 + X2 + X3”。在这种形式,Y代表的响应变量,X1,X2,X3代表了预测变量。

指定变量的子集资源描述作为培训的预测模型,使用一个公式。如果你指定一个公式,那么软件中不使用任何变量资源描述不出现在公式

公式中的变量名必须两变量名资源描述(Tbl.Properties.VariableNamesMATLAB)和有效®标识符。

您可以验证变量名资源描述通过使用isvarname函数。以下代码返回逻辑1(真正的),每个变量都有一个有效的变量名。

cellfun (@isvarname Tbl.Properties.VariableNames)
如果变量名资源描述是无效的,那么把他们通过使用matlab.lang.makeValidName函数。
Tbl.Properties.VariableNames=matlab.lang.makeValidName(Tbl.Properties.VariableNames);

数据类型:字符|字符串

预测数据,指定为数字矩阵。

每一行对应一个观察,每一列对应一个预测变量。

的长度Y的行数X必须是相等的。

指定的名称的顺序预测的外表X,可以使用PredictorNames名称-值对的论点。

数据类型:|

反应,指定为一个数值向量。中的每个元素Y是反应的观察在相应的行吗X资源描述。的长度Y的行数X资源描述必须是相等的。

数据类型:|

名称-值对的观点

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

例子:“NumLearningCycles”, 500年,“方法”,“包”、“学习者”,templateTree (),“CrossVal”,“上”旨在500袋装回归树的整体使用10倍交叉验证。

请注意

你不能使用任何交叉验证名称-值对论点的“OptimizeHyperparameters”名称-值对的论点。您可以修改交叉验证“OptimizeHyperparameters”只有通过使用“HyperparameterOptimizationOptions”名称-值对的论点。

一般系综选择

全部折叠

整体聚合方法,指定为逗号分隔组成的“方法”“LSBoost”“包”

价值 方法 笔记
“LSBoost” 最小二乘增加(LSBoost) 你可以通过使用指定收缩的学习速率“LearnRate”名称-值对的论点。
“包” 引导聚合(例如,装袋,随机森林[2]) fitrensemble使用装袋与随机预测选择默认每次分裂(随机森林)。使用装袋没有随机选择,使用树的学习者“NumVariablesToSample”值是“所有”

整体聚合算法的细节和示例,请参阅算法,整体算法,选择一个适用的合奏聚合方法

例子:“方法”,“包”

集成学习的循环次数,指定为逗号分隔组成的“NumLearningCycles”和一个正整数。在每一个学习周期,软件培训一个薄弱的学习者对于每个对象的模板学习者。因此,软件培训NumLearningCycles *元素个数(学习者)学习者。

软件组成整体使用所有训练学习者和商店Mdl.Trained

更多细节,请参阅提示

例子:“NumLearningCycles”, 500年

数据类型:|

弱的学习者使用的合奏,指定为逗号分隔组成的“学习者”“树”、树模板对象或一个细胞树模板对象的向量。

  • “树”(默认)fitrensemble使用默认回归树的学习者,这是一样的templateTree ()。的默认值templateTree ()依赖的价值“方法”

    • 袋装决策树、决策分歧(的最大数量“MaxNumSplits”)是n - 1,在那里n是观测的数量。随机预测的数量来选择对于每个分裂(“NumVariablesToSample”)是预测的数量的三分之一。因此,fitrensemble深决策树生长。你可以长浅树上降低模型复杂度和计算时间。

    • 提高了决策树,“MaxNumSplits”是10,“NumVariablesToSample”“所有”。因此,fitrensemble浅决策树生长。你能更深的树木生长的准确性。

    看到templateTree默认设置的弱的学习者。

  • 树模板对象-fitrensemble使用模板创建的对象树templateTree。使用的名称-值对的观点templateTree指定设置树的学习者。

  • 细胞的向量树模板对象-fitrensemble生长回归树每学习周期(见NumLearningCycles)。例如,对于一个由两种类型的回归树、供应{t1 t2},在那里t1t2回归树模板对象返回的templateTree

学习者的数量来培训的详细信息,明白了NumLearningCycles提示

例子:“学习者”,templateTree (MaxNumSplits, 5)

打印输出频率,指定为逗号分隔组成的“NPrint”和一个正整数“关闭”

跟踪的数量弱的学习者折叠fitrensemble训练到目前为止,指定一个正整数。也就是说,如果您指定正整数:

  • 还没有指定任何交叉验证选项(例如,CrossVal),然后fitrensemble每次显示一条消息到命令行完成培训弱的学习者。

  • 和交叉验证选项fitrensemble每次显示一条消息到命令行完成培训折叠。

如果您指定“关闭”,然后fitrensemble当它完成时不显示消息训练薄弱的学习者。

提示

当训练一个大数据集上的许多薄弱的学习者,指定一个正整数NPrint

例子:“NPrint”, 5

数据类型:||字符|字符串

数值预测的箱子数量,指定为逗号分隔组成的“NumBins”和一个正整数标量。

  • 如果“NumBins”值是空的(默认),则软件不本任何预测。

  • 如果你指定“NumBins”值作为一个正整数标量,那么软件箱子每个数值预测到指定数量的等概率的垃圾箱,然后树生长在本指数代替原始数据。

    • 如果“NumBins”价值超过数量(u)的惟一值预测fitrensemble垃圾箱预测到u箱里。

    • fitrensemble没有本分类预测。

当你使用大量的训练数据集,该面元选项加速训练但是会导致潜在的准确性下降。你可以试着“NumBins”, 50岁首先,然后改变“NumBins”价值取决于训练速度和准确性。

训练模型存储本的边缘BinEdges财产。

例子:“NumBins”, 50岁

数据类型:|

分类预测列表,指定为逗号分隔组成的“CategoricalPredictors”在这个表的一个值。

价值 描述
向量的正整数 中的每个条目对应列向量索引值的预测数据(X资源描述包含一个分类变量)。
逻辑向量 一个真正的条目意味着预测数据的对应的列(X资源描述)是一个分类变量。
字符矩阵 矩阵的每一行是一个预测变量的名字。名称必须匹配的条目PredictorNames。垫的名字与额外的空格字符矩阵的每一行有相同的长度。
字符串数组或单元阵列的特征向量 数组中的每个元素是一个预测变量的名字。名称必须匹配的条目PredictorNames
“所有” 所有预测都直言。

默认情况下,如果预测数据表(资源描述),fitrensemble假设变量是直言如果它是一个逻辑向量,无序分类向量,字符数组,字符串数组或单元阵列特征向量。如果预测数据是一个矩阵(X),fitrensemble假设所有的预测都是连续的。识别任何其他预测分类预测,通过使用指定它们“CategoricalPredictors”名称-值对的论点。

例子:“CategoricalPredictors”、“所有”

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

预测变量名称,指定为逗号分隔组成的“PredictorNames”和一个字符串数组独特的名称或单元阵列独特的特征向量。的功能“PredictorNames”取决于你提供的训练数据的方式。

  • 如果你提供XY,那么你可以使用“PredictorNames”给的预测变量X的名字。

    • 名字的顺序PredictorNames必须对应的列顺序X。也就是说,PredictorNames {1}的名字是X (: 1),PredictorNames {2}的名字是X (:, 2),等等。同时,大小(X, 2)元素个数(PredictorNames)必须是相等的。

    • 默认情况下,PredictorNames{x1, x2,…}

  • 如果你提供资源描述,那么你可以使用“PredictorNames”选择使用哪个预测变量在训练。也就是说,fitrensemble只使用的预测变量PredictorNames和响应变量在训练。

    • PredictorNames必须是一个子集的Tbl.Properties.VariableNames,不能包括响应变量的名称。

    • 默认情况下,PredictorNames包含所有预测变量的名字。

    • 一个良好的实践是指定培训使用的预测因子“PredictorNames”公式只有。

例子:PredictorNames, {‘SepalLength’,‘SepalWidth’,‘PetalLength’,‘PetalWidth}

数据类型:字符串|细胞

响应变量名称,指定为逗号分隔组成的“ResponseName”和一个字符向量或字符串标量。

  • 如果你提供Y,那么你可以使用“ResponseName”为响应变量指定一个名称。

  • 如果你提供ResponseVarName公式,那么你不能使用“ResponseName”

例子:“ResponseName”、“响应”

数据类型:字符|字符串

响应变换,指定为逗号分隔组成的“ResponseTransform”,要么“没有”或一个函数处理。默认值是“没有”,这意味着@ (y) y,或者没有转换。MATLAB函数或函数定义,使用它的功能处理。函数处理必须接受一个向量(原始响应值),并返回一个向量的大小相同(转换后的响应值)。

例子:假设您创建一个函数处理一个指数变换适用于通过使用一个输入向量myfunction = @ (y) exp (y)。然后,您可以指定响应转换myfunction ResponseTransform,

数据类型:字符|字符串|function_handle

交叉验证选择

全部折叠

交叉验证标志,指定为逗号分隔组成的“Crossval”“上”“关闭”

如果您指定“上”交叉验证,软件实现了10倍。

覆盖这个交叉验证设置,使用其中一个名称-值对参数:CVPartition,坚持,KFold,或Leaveout。创建一个旨在模型,您可以使用一个交叉验证一次名称-值对的论点。

另外,旨在通过Mdlcrossvalcrossval

例子:“Crossval”,“上”

交叉验证分区,指定为逗号分隔组成的“CVPartition”和一个cvpartition分区创建的对象cvpartition。分区对象指定了类型的交叉验证,训练集和验证集的索引。

创建一个旨在模型,您可以使用这四个名称-值对参数只有之一:CVPartition,坚持,KFold,或Leaveout

例子:假设您创建一个随机的分区为5倍交叉验证500观察使用本量利= cvpartition(500年,“KFold”, 5)。然后,您可以指定模型旨在通过使用“CVPartition”,本量利

分数的数据用于抵抗验证、指定为逗号分隔组成的“坚持”和一个标量值的范围(0,1)。如果您指定‘坚持’,p,那么软件完成以下步骤:

  1. 随机选择和储备p * 100%的数据作为验证数据,并使用其余的数据训练模型。

  2. 在存储紧凑,训练模型训练有素的旨在模型的属性。

创建一个旨在模型,您可以使用这四个名称-值对参数只有之一:CVPartition,坚持,KFold,或Leaveout

例子:“坚持”,0.1

数据类型:|

折叠使用旨在模型,指定为逗号分隔组成的“KFold”和一个正整数价值大于1。如果您指定KFold, k,那么软件完成以下步骤:

  1. 随机数据分割成k集。

  2. 对于每一个集合,储备作为验证数据集,使用其他和训练模型k- 1集。

  3. 存储k紧凑,训练模型的细胞k1细胞向量训练有素的旨在模型的属性。

创建一个旨在模型,您可以使用这四个名称-值对参数只有之一:CVPartition,坚持,KFold,或Leaveout

例子:“KFold”, 5

数据类型:|

分析交叉验证标志,指定为逗号分隔组成的“Leaveout”“上”“关闭”。如果您指定“Leaveout”,“上”那么,对于每个n观察(n是观测的数量扣除缺少观察,指定的吗NumObservations模型的属性),软件完成以下步骤:

  1. 保留观察验证数据,使用其他火车模型n- 1的观察。

  2. 存储n紧凑,训练模型的细胞n1细胞向量训练有素的旨在模型的属性。

创建一个旨在模型,您可以使用这四个名称-值对参数只有之一:CVPartition,坚持,KFold,或Leaveout

例子:“Leaveout”,“上”

其他回归选项

全部折叠

观察体重、指定为逗号分隔组成的“重量”和一个数字向量积极的值或变量的名称资源描述。软件重每一行的观察X资源描述与相应的价值权重。的大小权重的行数必须等于X资源描述

如果您指定输入数据表资源描述,然后权重可以是一个变量的名字资源描述包含一个数字向量。在这种情况下,您必须指定权重作为一个特征向量或字符串标量。例如,如果权重向量W存储为Tbl.W,然后指定它' W '。否则,软件将所有列资源描述,包括W训练时,预测或响应模型。

该软件可实现权重总结先验概率的值在相应的类中。

默认情况下,权重(n,1),在那里n观察的数量吗X资源描述

数据类型:||字符|字符串

抽样方案

全部折叠

训练集的分数为每个弱学习者重新取样,指定为逗号分隔组成的“FResample”和积极的标量(0,1)。

使用“FResample”,指定“包”方法或一组重新取样“上”

例子:“FResample”, 0.75

数据类型:|

国旗指示放回抽样,指定为逗号分隔组成的“替换”“关闭”“上”

  • “上”,软件样本训练观察和替换。

  • “关闭”,软件样本训练不重复观测。如果你设置重新取样“上”,那么软件样本训练观察假设统一的重量。如果你还指定一个促进方法,那么软件增加权重观察。

除非你设置方法“包”或一组重新取样“上”,取代没有效果。

例子:“替换”、“关闭”

标志指示重新取样,指定为逗号分隔组成的重新取样的“关闭”“上”

  • 如果方法是一个提高的方法,那么:

    • 重新取样,“指定样本训练观察使用更新后的重量作为多项抽样概率。

    • “重新取样”,“关闭”(默认)指定给观察学习在每一个迭代。

  • 如果方法“包”,然后重新取样的必须“上”。软件重新取样观察(见一小部分的训练FResample)有或没有替代(见取代)。

如果你指定重新取样使用重新取样,那是一种很好的做法重新取样到整个数据集,也就是说,使用默认设置为1FResample

LSBoost方法选择

全部折叠

学习速率的收缩,指定为逗号分隔两人组成的数字标量的间隔(0,1)。

训练一个使用收缩,集LearnRate一个值小于1例如,0.1是一个受欢迎的选择。训练一个使用收缩学习需要更多的迭代,但往往达到更好的精度。

例子:“LearnRate”, 0.1

数据类型:|

Hyperparameter优化选项

全部折叠

参数优化,指定为逗号分隔组成的“OptimizeHyperparameters”和下列之一:

  • “没有”——不优化。

  • “汽车”——使用{‘法’,‘NumLearningCycles’,‘LearnRate}除了指定的默认参数学习者:

    • 学习者=“树”(默认){' MinLeafSize '}

    请注意

    hyperparameter优化,学习者必须是一个参数,而不是一个字符串数组或单元阵列。

  • “所有”——优化所有符合条件的参数。

  • 字符串数组或单元阵列的参数名的资格

  • 向量的optimizableVariable对象,通常的输出hyperparameters

优化试图最小化交叉验证(错误)损失fitrensemble通过改变参数。控制交叉验证类型和其他方面的优化,使用HyperparameterOptimizationOptions名称-值对。

请注意

“OptimizeHyperparameters”值覆盖任何值使用其他名称-值对参数设置。例如,设置“OptimizeHyperparameters”“汽车”导致“汽车”值应用。

合格的参数fitrensemble是:

  • 方法——合格的方法“包”“LSBoost”

  • NumLearningCycles- - - - - -fitrensemble搜索之间的正整数,默认情况下对数与范围[10500]

  • LearnRate- - - - - -fitrensemble默认搜索之间的正实数,对数与范围(1 e - 3, 1)

  • MinLeafSize- - - - - -fitrensemble搜索范围的整数对数[1,马克斯(2楼(NumObservations / 2)))

  • MaxNumSplits- - - - - -fitrensemble搜索范围的整数对数NumObservations-1[1,马克斯(2))

  • NumVariablesToSample- - - - - -fitrensemble搜索在整数范围内NumPredictors[1,马克斯(2))

设置默认的参数通过一个向量的optimizableVariable有默认值的对象。例如,

负载carsmallparams = hyperparameters (“fitrensemble”,英里/加仑(功率、重量)“树”);参数(4)。范围= (1、20);

通过参数个数的价值OptimizeHyperparameters

默认情况下,迭代显示出现在命令行,和情节出现的数量根据hyperparameters优化。优化和阴谋的目标函数日志(1 +交叉验证损失)回归和分类的误分类率。控制迭代显示设置详细的场的“HyperparameterOptimizationOptions”名称-值对的论点。控制块,设置ShowPlots场的“HyperparameterOptimizationOptions”名称-值对的论点。

例如,看到的优化回归合奏

例子:OptimizeHyperparameters,{‘法’,‘NumLearningCycles’,‘LearnRate’,‘MinLeafSize’,‘MaxNumSplits}

为优化选项,指定为逗号分隔组成的“HyperparameterOptimizationOptions”和结构。这个参数修改的影响OptimizeHyperparameters名称-值对的论点。所有字段的结构是可选的。

字段名 默认的
优化器
  • “bayesopt”——使用贝叶斯优化。在内部,该设置调用bayesopt

  • “gridsearch”——使用网格搜索NumGridDivisions每个维度值。

  • “randomsearch”——随机搜索中MaxObjectiveEvaluations点。

“gridsearch”在随机顺序搜索,使用统一的网格不重复抽样。优化后,可以得到一个网格顺序表使用的命令sortrows (Mdl.HyperparameterOptimizationResults)

“bayesopt”
AcquisitionFunctionName

  • “expected-improvement-per-second-plus”

  • “expected-improvement”

  • “expected-improvement-plus”

  • “expected-improvement-per-second”

  • “lower-confidence-bound”

  • “probability-of-improvement”

他们的名字包括采集功能每秒不产生可重复的结果,因为优化取决于目标函数的运行时。他们的名字包括采集功能+修改他们的行为当他们overexploiting面积。更多细节,请参阅获取函数类型

“expected-improvement-per-second-plus”
MaxObjectiveEvaluations 最大数量的目标函数的评价。 30.“bayesopt”“randomsearch”,整个电网“gridsearch”
MaxTime

时间限制,指定为一个积极的现实。时间限制在几秒钟内,作为衡量抽搐toc。运行时可超过MaxTime因为MaxTime不中断功能评估。

NumGridDivisions “gridsearch”在每个维度的数量值。正整数的值可以是一个向量给每个尺寸的数量值,或一个标量,适用于所有尺寸。这个领域被忽略为分类变量。 10
ShowPlots 逻辑值指示是否显示情节。如果真正的,这个领域最好的目标函数值与迭代数。如果有一个或两个优化参数,如果优化器“bayesopt”,然后ShowPlots还阴谋的模型目标函数的参数。 真正的
SaveIntermediateResults 逻辑值指示是否保存结果优化器“bayesopt”。如果真正的,这个领域覆盖一个工作区变量命名“BayesoptResults”在每一个迭代。变量是一个BayesianOptimization对象。
详细的

显示命令行。

  • 0——没有迭代显示

  • 1——迭代显示

  • 2——迭代显示额外信息

详情,请参阅bayesopt详细的名称-值对的论点。

1
UseParallel 逻辑值,指出是否贝叶斯优化并行运行,这就需要并行计算工具箱™。由于nonreproducibility平行的时机,平行贝叶斯优化不一定产生可重复的结果。有关详细信息,请参见平行的贝叶斯优化
重新分区

逻辑值指示是否重新分配在每个迭代交叉验证。如果优化器使用单个分区,优化。

真正的通常给最健壮的结果,因为这个设置需要考虑分区噪音。然而,对于好的结果,真正的至少需要两倍的功能评估。

使用不超过以下三个字段名称之一。
CVPartition 一个cvpartition创建的对象cvpartition “Kfold”, 5如果你不指定任何交叉验证字段
坚持 一个标量范围(0,1)代表抵抗分数。
Kfold 一个大于1的整数。

例子:“HyperparameterOptimizationOptions”、结构(MaxObjectiveEvaluations, 60)

数据类型:结构体

输出参数

全部折叠

训练有素的整体模型,作为一个模型对象的表返回。

模型对象 指定任何交叉验证选择吗? 方法设置 重新取样设置
RegressionBaggedEnsemble 没有 “包” “上”
RegressionEnsemble 没有 “LSBoost” “关闭”
RegressionPartitionedEnsemble 是的 “LSBoost”“包” “关闭”“上”

控制交叉验证的参数名称-值对CrossVal,坚持,KFold,Leaveout,CVPartition

引用的属性Mdl,使用点符号。例如,访问或显示细胞弱学习者模型对象的向量,没有旨在,回车Mdl.Trained在命令行中。

提示

  • NumLearningCycles可以从几十到几千不等。通常,一个具有良好的预测能力需要从几百到几千弱的学习者。然而,你不需要训练一次为一个周期。您可以首先增长几十个学生,检查整体性能,然后,如果必要的话,火车更弱的学习者使用的简历

  • 整体性能取决于合奏和薄弱的学习者的设置。也就是说,如果你指定弱学习者使用默认参数,那么整体表现不佳。因此,像合奏的设置,是一种很好的做法,薄弱的学习者使用模板的参数调整,并选择最小化泛化误差的值。

  • 如果你指定重新取样使用重新取样,那是一种很好的做法重新取样到整个数据集,也就是说,使用默认设置1FResample

  • 训练模型后,可以生成C / c++代码为新数据预测的反应。需要生成C / c++代码MATLAB编码器™。有关详细信息,请参见介绍代码生成

算法

  • 整体聚合算法的细节,请参阅整体算法

  • 如果您指定“方法”、“LSBoost”,那么软件默认浅决策树生长。你可以调整树深度通过指定MaxNumSplits,MinLeafSize,MinParentSize名称-值对参数使用templateTree

  • 双核系统及以上,fitrensemble对培训使用英特尔®线程构建块(TBB)。在英特尔TBB的详细信息,请参见https://software.intel.com/en-us/intel-tbb

引用

[1]Breiman l .“装袋预测。”机器学习。26卷,第140 - 123页,1996年。

[2]Breiman, l .“随机森林。”机器学习。45卷,5-32,2001页。

[3]Freund, y和r e Schapire。“决策理论推广应用程序在线学习和提高。”j .计算机和系统科学,55卷,第139 - 119页,1997年。

[4]弗里德曼,j .“贪婪的函数近似:梯度提高机器。”统计年鉴5号,卷。29日,第1232 - 1189页,2001年。

[5]Hastie, T。,R. Tibshirani, and J. Friedman.统计学习的元素部分版,施普林格,纽约,2008年。

扩展功能

介绍了R2016b