Not reproducibility in Random Forest with Hyperparameters
1 view (last 30 days)
Show older comments
Esmeralda Ruiz Pujadas
on 5 Jul 2022
Commented: Esmeralda Ruiz Pujadas
on 12 Jul 2022
Hello, I tried many ways to apply random forest with hyperparameters and reproduce the results and no chance. I have added as the manual says: rng('default') before the cross validations and the classifier. If I do not use hyperparameters, it works. The problem is when I use grid search. I use expected-improvement-plus for reproducibility. But it does not work. For svm or any other machine learning method I did not have this issue. Only in random forest.
Thank you
myopts = struct('Optimizer','gridsearch','UseParallel',true,'AcquisitionFunctionName','expected-improvement-plus', 'ShowPlots',false);
rng('default');
classificationRF = fitcensemble(...
predictors, ...
response, ...
'Method', 'Bag', ...
'NumLearningCycles', 30, ...
'Learners', template, ...
'ClassNames', [1; 2; 3; 4; 5],'OptimizeHyperparameters',{'NumLearningCycles','MaxNumSplits'},'HyperparameterOptimizationOptions',myopts);
0 Comments
Accepted Answer
Alan Weiss
on 6 Jul 2022
In creating your template for training, did you set the Reproducible name-value argument to true? Also, for your parallel options, to compute reproducibly I think that you need to set UseSubstreams to true and set the stream to a type that works with substreams, as shown in the documentation.
Alan Weiss
MATLAB mathematical toolbox documentation
More Answers (0)
See Also
Categories
Find more on Classification Ensembles in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!