Simulating the decision of a bagged tree
3 views (last 30 days)
Show older comments
Elena Casiraghi
on 27 Feb 2020
Commented: Elena Casiraghi
on 3 Mar 2020
Dear,
could anyone tell me how an object of a treeBagger takes a decision?
Precisely, if I have this code:
dataMat = randi(100, 200, 31) % toy example
labels = logical(randi(1,200,1)); % toy example
numTrees = 7;
mdlRF = TreeBagger(numTrees, dataMat,labels, 'CategoricalPredictors', strcmpi(vartypes, 'categorical'), ...
'PredictorNames', vars, 'PredictorSelection','interaction-curvature', ...
'Surrogate','on', ...
'Reproducible',true);
% new example
xx = randi(100, 1, 31);
pred = predict(mdlRF, xx);
How is pred computed?
The bagged tree has trained 7 trees which are saved in the cell array
mdlRF.Trees
I suppose that I should run a for loop such as this one:
for nL = 1: numTrees;
% each tree is used for predicting
pred(nL) = predict(mdlRF.Trees{nL}, xx)
end
% AFTER THE FOR LOOP VARIABLE pred contains the predictions of the numTrees classifiers
How are the different predictions composed to form the final prediction??
I used the average but it does not work.
Could anyone help me?
Accepted Answer
Puru Kathuria
on 3 Mar 2020
Hi,
I understand that you want to know how predict function in TreeBagger takes its decision. The function predict returns a cell array of character vectors for classification and a numeric array for regression. By default, predict takes a democratic (nonweighted) average vote from all trees in the ensemble. For more information related to predict and the formula used to compute the predicted response, you can visit the following links:
0 Comments
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!