How to define the Min LeafSize of a Random Forest

12 views (last 30 days)
Hallo,
I want to create a random forest with a min MinLeafSize of 15.
I have tried that:
Mdl = fitcensemble(X,Y,'Learners','tree','OptimizeHyperparameters',{'MinLeafSize',15})
However, it doesn't work.
Does anyone know how to change it?

Answers (1)

Cris LaPierre
Cris LaPierre on 3 Dec 2020
When you choose to optimize hyperparameters, you cannot specify a value for MinLeafSize. The program will try to find the best leaf size. It will ignore any other settings (see the second note under Hyperparameter Optimization Options)
If you don't use hyperparamter optimization, then you can set the min leaf size. From the 'Algorithm' section of the fitcensemble documentation:
"If you set Method to be a boosting algorithm and Learners to be decision trees, then the software grows shallow decision trees by default. You can adjust tree depth by specifying the MaxNumSplits, MinLeafSize, and MinParentSize name-value pair arguments using templateTree."
  1 Comment
Paul Muster
Paul Muster on 3 Dec 2020
Thanks for your answer.
So this is it:
t = templateTree('MinLeafSize',15);
mdl = fitcensemble(X,Y,'Learners',t);

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!