Documentation

This is machine translation

Translated by Microsoft
Mouse over text to see original. Click the button below to return to the English verison of the page.

RegressionEnsemble class

Superclasses: CompactRegressionEnsemble

Ensemble regression

Description

RegressionEnsemble combines a set of trained weak learner models and data on which these learners were trained. It can predict ensemble response for new data by aggregating predictions from its weak learners.

Construction

ens = fitrensemble(tbl,ResponseVarName,method,nlearn,learners) creates an ensemble model that predicts responses to data. The ensemble consists of models listed in learners. For more information on the syntax, see the fitrensemble function reference page.

ens = fitrensemble(tbl,formula,method,nlearn,learners) creates an ensemble model that predicts responses to data. The ensemble consists of models listed in learners. For more information on the syntax, see the fitrensemble function reference page.

ens = fitrensemble(tbl,Y,method,nlearn,learners) creates an ensemble model that predicts responses to data. The ensemble consists of models listed in learners. For more information on the syntax, see the fitrensemble function reference page.

ens = fitrensemble(X,Y,method,nlearn,learners) returns an ensemble model that can predict responses to data. The ensemble consists of models listed in learners. For more information on the syntax, see the fitrensemble function reference page.

ens = fitrensemble(X,Y,method,nlearn,learners,Name,Value) returns an ensemble model with additional options specified by one or more Name,Value pair arguments. For more information on the syntax, see the fitrensemble function reference page.

Properties

CategoricalPredictors

List of categorical predictors. CategoricalPredictors is a numeric vector with indices from 1 to p, where p is the number of columns of X.

CombineWeights

A character vector describing how the ensemble combines learner predictions.

ExpandedPredictorNames

Expanded predictor names, stored 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.

FitInfo

A numeric array of fit information. The FitInfoDescription property describes the content of this array.

FitInfoDescription

Character vector describing the meaning of the FitInfo array.

LearnerNames

Cell array of character vectors with names of the weak learners in the ensemble. The name of each learner appears just once. For example, if you have an ensemble of 100 trees, LearnerNames is {'Tree'}.

HyperparameterOptimizationResults

Description of the cross-validation optimization of hyperparameters, stored as a BayesianOptimization object or a table of hyperparameters and associated values. Nonempty when the OptimizeHyperparameters name-value pair is nonempty at creation. Value depends on the setting of the HyperparameterOptimizationOptions name-value pair at creation:

  • 'bayesopt' (default) — Object of class BayesianOptimization

  • 'gridsearch' or 'randomsearch' — Table of hyperparameters used, observed objective function values (cross-validation loss), and rank of observations from lowest (best) to highest (worst)

Method

A character vector with the name of the algorithm fitrensemble used for training the ensemble.

ModelParameters

Parameters used in training ens.

NumObservations

Numeric scalar containing the number of observations in the training data.

NumTrained

Number of trained learners in the ensemble, a positive scalar.

PredictorNames

A cell array of names for the predictor variables, in the order in which they appear in X.

ReasonForTermination

A character vector describing the reason fitrensemble stopped adding weak learners to the ensemble.

Regularization

A structure containing the result of the regularize method. Use Regularization with shrink to lower resubstitution error and shrink the ensemble.

ResponseName

A character vector with the name of the response variable Y.

ResponseTransform

Function handle for transforming scores, or character vector representing a built-in transformation function. 'none' means no transformation; equivalently, 'none' means @(x)x.

Add or change a ResponseTransform function using dot notation:

ens.ResponseTransform = @function

Trained

The trained learners, a cell array of compact regression models.

TrainedWeights

A numeric vector of weights the ensemble assigns to its learners. The ensemble computes predicted response by aggregating weighted predictions from its learners.

W

The scaled weights, a vector with length n, the number of rows in X. The sum of the elements of W is 1.

X

The matrix of predictor values that trained the ensemble. Each column of X represents one variable, and each row represents one observation.

Y

The numeric column vector with the same number of rows as X that trained the ensemble. Each entry in Y is the response to the data in the corresponding row of X.

Methods

compactCreate compact regression ensemble
crossvalCross validate ensemble
cvshrinkCross validate shrinking (pruning) ensemble
regularizeFind weights to minimize resubstitution error plus penalty term
resubLossRegression error by resubstitution
resubPredictPredict response of ensemble by resubstitution
resumeResume training ensemble
shrinkPrune ensemble

Inherited Methods

lossRegression error
predictPredict responses using ensemble of regression models
predictorImportanceEstimates of predictor importance
removeLearnersRemove members of compact regression ensemble

Copy Semantics

Value. To learn how value classes affect copy operations, see Copying Objects in the MATLAB® documentation.

Examples

expand all

Load the ionosphere data set.

load ionosphere

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 LSBoost. Specify that Cylinders is a categorical variable.

Mdl = fitensemble(X,Y,'LSBoost',100,'Tree','PredictorNames',{'W','C'},...
    'CategoricalPredictors',2)
Mdl = 

  classreg.learning.regr.RegressionEnsemble
           PredictorNames: {'W'  'C'}
             ResponseName: 'Y'
    CategoricalPredictors: 2
        ResponseTransform: 'none'
          NumObservations: 94
               NumTrained: 100
                   Method: 'LSBoost'
             LearnerNames: {'Tree'}
     ReasonForTermination: 'Terminated normally after completing the reque...'
                  FitInfo: [100×1 double]
       FitInfoDescription: {2×1 cell}
           Regularization: []


Mdl is a RegressionEnsemble model object that contains the training data, among other things.

Mdl.Trained is the property that stores a 100-by-1 cell vector of the trained regression trees (CompactRegressionTree model objects) that compose the ensemble.

Plot a graph of the first trained regression tree.

view(Mdl.Trained{1},'Mode','graph')

By default, fitensemble grows stumps for boosted ensembles of trees.

Predict the fuel economy of 4,000 pound cars with 4, 6, and 8 cylinders.

XNew = [4000*ones(3,1) [4; 6; 8]];
mpgNew = predict(Mdl,XNew)
mpgNew =

   19.3228
   16.4509
   14.5549

Tip

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

view(ens.Trained{t})


Was this topic helpful?