How to get optimal tree when using random forest method

30 次查看(过去 30 天)
Hi,
I use the
meas=[...
[53.4
194.5
220.5
273.1
312.3
331.7
159.7
199.5
293.9
390.7
392.1
398.9
399.1
400.3
52.1
249.3
357.7
44.8
163.9
200.5
335.1
92.4
130.3
77.1]]
species=[{'v16'
'v6'
'v1'
'v126'
'v6'
'v1'
'v16'
'v6'
'v5'
'v156'
'v6'
'v1'
'v16'
'v6'
'v12456'
'v56'
'v256'
'v2456'
'v6'
'v16'
'v1234'
'v16'
'v12356'
'v6'}]
I use below code:
b = TreeBagger(50,meas,species,'oobpred','on')
But how to get optimal tree? Many thanks in advance.

回答(2 个)

mizuki
mizuki 2016-12-30
Optimize tree with Bayesian Optimization (use bayesopt function). This feature is introduced in R2016b.
  • Tune Random Forest Using Quantile Error and Bayesian Optimization
Also you can search optimal parameters with other methods such as gridsearch, but you need to write code. For gridsearch, this might help you:
  • How to do grid Search to optimize sigma using Matlab?
  2 个评论
Amy Xu
Amy Xu 2017-4-19
I'm trying to run the following Mathworks example with my own X and Y:
"Tune Random Forest Using Quantile Error and Bayesian Optimization"
https://jp.mathworks.com/help/stats/tune-random-forest-using-quantile-error-and-bayesian-optimization.html
But, I'm getting the following error:
Undefined function or variable 'Y'.
I have attached the modified code (place both files in one folder on your PC drive). Can anyone help?
Marta Caneda Portela
What if I also need 5-fold cross-validation? I can't find any examples online

请先登录,再进行评论。


Don Mathis
Don Mathis 2017-4-20
You could also try to find the best ensemble like this:
fitcensemble(meas,species,'OptimizeHyperparameters','all')
This will also try boosted decision trees in addition to random forests.

标签

尚未输入任何标签。

Community Treasure Hunt

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

Start Hunting!

Translated by