compact

Reduce size of regression tree model

Syntax

``ctree = compact(tree)``

Description

````ctree = compact(tree)` returns a `CompactRegressionTree` version of the trained regression tree model `tree`. You can predict regressions using `ctree` exactly as you can using `tree`. However, because `ctree` does not contain training data, you cannot perform some actions, such as cross-validation.```

example

Examples

collapse all

Compare the size of a full regression tree model to the compact model.

Load the `carsmall` data set. Consider `Acceleration`, `Cylinders`, `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 ```

`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' ```

`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 12284 6781 ```
`cMdlInfo.bytes/mdlInfo.bytes`
```ans = 0.5520 ```

In this case, the compact regression tree model uses approximately half the memory that the full model uses.

Input Arguments

collapse all

Full regression tree model, specified as a `RegressionTree` model object trained with `fitrtree`.

Version History

Introduced in R2011a