Accelerating the pace of engineering and science

# Documentation Center

• Trial Software

# 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 = fitensemble(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 fitensemble function reference page.

ens = fitensemble(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 fitensemble 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 string describing how the ensemble combines learner predictions. FitInfo A numeric array of fit information. The FitInfoDescription property describes the content of this array. FitInfoDescription String describing the meaning of the FitInfo array. LearnerNames Cell array of strings 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'}. Method A string with the name of the algorithm fitensemble used for training the ensemble. ModelParams Parameters used in training ens. NObservations Numeric scalar containing the number of observations in the training data. NTrained 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 string describing the reason fitensemble 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 string with the name of the response variable Y. ResponseTransform Function handle for transforming scores, or string representing a built-in transformation function. 'none' means no transformation; equivalently, 'none' means @(x)x. Add or change a ResponseTransform function by dot addressing: `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

 compact Create compact regression ensemble crossval Cross validate ensemble cvshrink Cross validate shrinking (pruning) ensemble regularize Find weights to minimize resubstitution error plus penalty term resubLoss Regression error by resubstitution resubPredict Predict response of ensemble by resubstitution resume Resume training ensemble shrink Prune ensemble

### Inherited Methods

 loss Regression error predict Predict response of ensemble predictorImportance Estimates of predictor importance removeLearners Remove members of compact regression ensemble

## Copy Semantics

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

## Examples

Create a boosted regression ensemble to predict the mileage of cars in the carsmall data set based on their weights and numbers of cylinders:

```load carsmall
learner = RegressionTree.template('MinParent',20);
ens = fitensemble([Weight, Cylinders],MPG,...
'LSBoost',100,learner,'PredictorNames',{'W','C'},...
'categoricalpredictors',2)

ens =
classreg.learning.regr.RegressionEnsemble:
PredictorNames: {'W'  'C'}
CategoricalPredictors: 2
ResponseName: 'Response'
ResponseTransform: 'none'
NObservations: 94
NTrained: 100
Method: 'LSBoost'
LearnerNames: {'Tree'}
ReasonForTermination: [1x77 char]
FitInfo: [100x1 double]
FitInfoDescription: [2x83 char]
Regularization: []```

Predict the mileage of 4,000-pound cars with 4, 6, and 8 cylinders:

```mileage4K = predict(ens,[4000 4; 4000 6; 4000 8])

mileage4K =
20.0294
19.4206
15.5000```