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
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'
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] cMdlInfo.bytes/mdlInfo.bytes
ans = 11778 6276 ans = 0.5329
In this case, the compact regression tree model consumes about 25% less memory than the full model consumes.