Compact regression tree
ctree = compact(tree)
A regression tree created using
A compact regression tree.
Compare the size of a full regression tree model to the compacted model.
carsmall data set. Consider
Weight as predictor variables.
load carsmall X = [Acceleration Cylinders Displacement Horsepower Weight];
Grow a regression tree using the entire data set.
Mdl = fitrtree(X,MPG)
Mdl = RegressionTree ResponseName: 'Y' CategoricalPredictors:  ResponseTransform: 'none' NumObservations: 94 Properties, Methods
Mdl is a
RegressionTree model. It is a full model, that is, it stores information such as the predictor and response data
fitrtree used in training. For a properties list of full regression tree models, see
Create a compact version of the full regression tree. That is, one that contains enough information to make predictions only.
CMdl = compact(Mdl)
CMdl = classreg.learning.regr.CompactRegressionTree ResponseName: 'Y' CategoricalPredictors:  ResponseTransform: 'none' Properties, Methods
CMdl is a
CompactRegressionTree model. For a properties list of compact regression tree models, see
Inspect the amounts of memory that the full and compact regression trees consume.
mdlInfo = whos('Mdl'); cMdlInfo = whos('CMdl'); [mdlInfo.bytes cMdlInfo.bytes]
ans = 1×2 12233 6730
ans = 0.5502
In this case, the compact regression tree model consumes about 25% less memory than the full model consumes.