How to retrieve optimal MinLeafSize after automatic hyperparameter optimization for Tree Ensemble (fitrensemble)?
7 次查看(过去 30 天)
显示 更早的评论
Hi. I am running MATLAB's automatic Bayesian optimization for a number of parameters for a Tree Ensemble.
opts = struct('Kfold',4,'Optimizer','bayesopt');
Mdl = fitrensemble(X,Y,'OptimizeHyperparameters',{'Method','NumLearningCycles','LearnRate','MinLeafSize'},'HyperparameterOptimizationOptions',opts);
I understand that all the optimal parameters are embedded in the resulted object ‘Mdl’, but I was wondering if it’s possible to retrieve and save in a variable the optimal MinLeafSize. Even though I have found the rest optimized parameters:
Mdl.ModelParameters.Method %Method
Mdl.ModelParameters.NLearn %NumLearningCycles
Mdl.ModelParameters.LearnRate %LearnRate
but, I cannot obtain the MinLeafSize. However, I can see that it is listed among the properties of 'Mdl' under MinLeaf:
Mdl.ModelParameters.LearnerTemplates{1,1}
Anyone knows how to extract this? Thanks.
0 个评论
采纳的回答
Cris LaPierre
2021-2-6
编辑:Cris LaPierre
2021-2-6
I ran both a tree and ensemble models optimizing minLeafSize. For a decision tree, MinLeaf is a model parameter, but not for an ensemble. The only way I could find to see the value was by viewing the template.
Mdl.ModelParameters.LearnerTemplates{1,1}
ans =
Fit template for regression Tree.
SplitCriterion: []
MinParent: []
MinLeaf: 126
MaxSplits: 10
NVarToSample: []
MergeLeaves: 'off'
Prune: 'off'
PruneCriterion: []
QEToler: []
NSurrogate: []
MaxCat: []
AlgCat: []
PredictorSelection: []
UseChisqTest: []
Stream: []
Reproducible: []
Version: 2
Method: 'Tree'
Type: 'regression'
3 个评论
Bernhard Suhm
2021-2-8
You can use bestPoint(Mdl.HyperparameterOptimizationResults) to access the hyperparameters of the "best estimated" model, including 'MinLeafSize'
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Regression Tree Ensembles 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!