How is varimportance calculated?

13 次查看(过去 30 天)
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

采纳的回答

Ilya
Ilya 2011-10-13
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?

更多回答(2 个)

Sandro
Sandro 2011-10-14
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 2012-6-13
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."

类别

Help CenterFile Exchange 中查找有关 Statistics and Machine Learning Toolbox 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by