Compare the size of a full regression tree model to the compacted model.
Load the carsmall data set. Consider Acceleration, Displacement, Horsepower, and 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 RegressionTree.
Create a compact version of the full regression tree. That is, one that contains enough information to make predictions only.
CMdl = compact(Mdl)
CMdl =
CompactRegressionTree
ResponseName: 'Y'
CategoricalPredictors: []
ResponseTransform: 'none'
Properties, Methods
CMdl is a CompactRegressionTree model. For a properties list of compact regression tree models, see CompactRegressionTree.
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
12401 6898
cMdlInfo.bytes/mdlInfo.bytes
ans = 0.5562
In this case, the compact regression tree model consumes about 25% less memory than the full model consumes.