How can I use the "predictorImportance" function with models generated by applying "crossval" to RegressionTree objects? When I apply the ‘crossval’ function on the results of the ‘fitrtree’ function, I end up with a different class, namely: 'classreg.learning.partition.RegressionPartitionedModel' and am unable to use the 'predictorImportance' function on this object. How do you call 'predictorImportance' on the models generated from 'crossval'?
Kshitij Singh answered .
2025-11-20
%%Load the sample data.
load carsmall;
%%Construct a regression tree using the sample data.
tree = fitrtree([Weight, Cylinders],MPG,...
'categoricalpredictors',2,'MinParentSize',20,...
'PredictorNames',{'W','C'}) ;
%%cross validation
Ctree = crossval(tree);
% where tree is the original ‘RegressionTree’ object. Note that the default number of folds i.e. regression models generated will be 10
%%Calling predictorImportance on individual regression models
predictorImportance(Ctree.Trained{1})
predictorImportance(Ctree.Trained{10})
% where 1 and 10 represent the indices of the trained models. This would range from 1 to 10 by default