How is varimportance calculated?

3 views (last 30 days)
Sandro
Sandro on 13 Oct 2011
Hello,
I'm using varimportance function from the classregtree package. I would like to know the theory behind this function since the Matlab help is very light.
Thanks in advance. Regards

Accepted Answer

Ilya
Ilya on 13 Oct 2011
If you split parent node 1 into child nodes 2 and 3, you increase the importance of the split variable by
(R1 - R2 - R3)/Nnode
where Ri are node risks and Nnode is the total number of nodes in this tree. Risk is defined as
Ri = Pi*Ei
where Pi is the node probability and Ei is either node error (for trees grown by minimizing a non-impurity criterion such as MSE or the twoing criterion) or node impurity (for trees grown by minimizing an impurity criterion such as Gini index or deviance).
Is this what you are looking for? If yes, can you say why this was not clear to you from the documentation?

More Answers (2)

Sandro
Sandro on 14 Oct 2011
Dear Ilya,
Thanks for your answer. Yes, it was exactly what I was looking for. It is much clearer with the equations (which are not in the documentation).
Regards

Gonzalo
Gonzalo on 13 Jun 2012
G. G. Moisen (2008), Classification and Regression Trees, Ecological Informatics 582-588 says :
"The importance of individual explanatory variables can be determined by measuring the proportion of variability accounted for by splits associated with each explanatory variable. Alternatively, one may address variable importance by determining the effect of excluding variables in turn and by assessing the resulting predictive accuracy of the resulting models."

Categories

Find more on Statistics and Machine Learning Toolbox 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!