主要内容

CompactRegressionEnsemble

R2026b

Compact regression ensemble

Description

CompactRegressionEnsemble is a compact version of a regression ensemble. The compact version does not include the data used to train the regression ensemble. Therefore, you cannot perform some tasks, such as cross-validation, using the compact regression ensemble. Use a compact regression ensemble to make predictions for new data.

Creation

Create a CompactRegressionEnsemble object from a full RegressionEnsemble or RegressionBaggedEnsemble model object by using the compact object function.

Properties

expand all

Ensemble Properties

This property is read-only.

Method used to combine weak learner weights, returned as 'WeightedAverage' or 'WeightedSum'.

Data Types: char

This property is read-only.

Number of trained weak learners in the ensemble, returned as a positive integer.

Data Types: double

This property is read-only.

Trained weak learners, returned as a cell vector. The entries of the cell vector contain the corresponding compact regression models.

Data Types: cell

This property is read-only.

Trained weak learner weights, returned as a numeric vector. TrainedWeights has NumTrained elements, where NumTrained is the number of weak learners in the ensemble. The ensemble computes the predicted response by aggregating weighted predictions from its learners.

Data Types: double

Data Properties

This property is read-only.

Categorical predictor indices, returned as a vector of positive integers. CategoricalPredictors contains index values indicating that the corresponding predictors are categorical. The index values are between 1 and p, where p is the number of predictors used to train the model. If none of the predictors are categorical, then this property is empty ([]).

Data Types: single | double

This property is read-only.

Expanded predictor names, returned as a cell array of character vectors.

If the model uses encoding for categorical variables, then ExpandedPredictorNames includes the names that describe the expanded variables. Otherwise, ExpandedPredictorNames is the same as PredictorNames.

Data Types: cell

This property is read-only.

Predictor names, returned as a cell array of character vectors. The order of the entries in PredictorNames is the same as in the training data.

Data Types: cell

This property is read-only.

Name of the response variable, returned as a character vector.

Data Types: char

Function for transforming raw response values, specified as a function handle or function name. The default is "none", which means @(y)y, or no transformation. The function must accept a vector (the original response values) and return a vector of the same size (the transformed response values).

Example: Suppose you create a function handle that applies an exponential transformation to an input vector by using myfunction = @(y)exp(y). Then, you can specify the response transformation as ResponseTransform=myfunction.

Data Types: char | string | function_handle

Object Functions

gatherGather properties of Statistics and Machine Learning Toolbox object from GPU
limeLocal interpretable model-agnostic explanations (LIME)
lossRegression error for regression ensemble model
partialDependenceCompute partial dependence
plotPartialDependenceCreate partial dependence plot (PDP) and individual conditional expectation (ICE) plots
predictPredict responses using regression ensemble model
predictorImportanceEstimates of predictor importance for regression ensemble of decision trees
removeLearnersRemove members of compact regression ensemble
shapleyShapley values

Examples

collapse all

Create a compact regression ensemble for efficiently making predictions on new data.

Load the carsmall data set. Consider a model that explains a car's fuel economy (MPG) using its weight (Weight) and number of cylinders (Cylinders).

load carsmall
X = [Weight Cylinders];
Y = MPG;

Train a boosted ensemble of 100 regression trees using the default LSBoost method. Specify that Cylinders is a categorical variable.

Mdl = fitrensemble(X,Y,PredictorNames=["W","C"], ...
    CategoricalPredictors=2)
Mdl = 
  RegressionEnsemble
           PredictorNames: {'W'  'C'}
             ResponseName: 'Y'
    CategoricalPredictors: 2
        ResponseTransform: 'none'
          NumObservations: 94
               NumTrained: 100
                   Method: 'LSBoost'
             LearnerNames: {'Tree'}
     ReasonForTermination: 'Terminated normally after completing the requested number of training cycles.'
                  FitInfo: [100×1 double]
       FitInfoDescription: {2×1 cell}
           Regularization: []


  Properties, Methods

Mdl is a RegressionEnsemble model object that includes the training data.

Create a compact version of Mdl.

CMdl = compact(Mdl)
CMdl = 
  CompactRegressionEnsemble
           PredictorNames: {'W'  'C'}
             ResponseName: 'Y'
    CategoricalPredictors: 2
        ResponseTransform: 'none'
               NumTrained: 100


  Properties, Methods

CMdl is a CompactRegressionEnsemble model object. CMdl is similar to Mdl, but does not store the training data.

Compare the amount of memory used by Mdl and CMdl.

mdlInfo = whos("Mdl");
cMdlInfo = whos("CMdl");
[mdlInfo.bytes cMdlInfo.bytes]
ans = 1×2

      511340      485035

Mdl uses more memory than CMdl.

CMdl.Trained stores the trained regression trees (CompactRegressionTree model objects) that compose Mdl.

Display a graph of the first tree in the compact ensemble.

view(CMdl.Trained{1},Mode="graph");

Figure Regression tree viewer contains an axes object and other objects of type uimenu, uicontrol. The axes object contains 36 objects of type line, text. One or more of the lines displays its values using only markers

By default, fitrensemble grows shallow trees for boosted ensembles of trees.

Predict the fuel economy of a typical car using the compact ensemble.

typicalX = [mean(X(:,1)) mode(X(:,2))];
predMeanX = predict(CMdl,typicalX)
predMeanX = 
26.2520

Tips

  • For a compact ensemble of regression trees Mdl, the Trained property contains a cell vector of Mdl.NumTrained CompactRegressionTree model objects. For a textual or graphical display of tree t in the cell vector, enter

    view(Mdl.Trained{t})

Extended Capabilities

expand all

Version History

Introduced in R2011a