Documentation |
Superclasses: RegressionPartitionedModel
Cross-validated regression ensemble
RegressionPartitionedEnsemble is a set of regression ensembles trained on cross-validated folds. Estimate the quality of classification by cross validation using one or more "kfold" methods: kfoldfun, kfoldLoss, or kfoldPredict. Every "kfold" method uses models trained on in-fold observations to predict response for out-of-fold observations. For example, suppose you cross validate using five folds. In this case, every training fold contains roughly 4/5 of the data and every test fold contains roughly 1/5 of the data. The first model stored in Trained{1} was trained on X and Y with the first 1/5 excluded, the second model stored in Trained{2} was trained on X and Y with the second 1/5 excluded, and so on. When you call kfoldPredict, it computes predictions for the first 1/5 of the data using the first model, for the second 1/5 of data using the second model and so on. In short, response for every observation is computed by kfoldPredict using the model trained without this observation.
cvens = crossval(ens) creates a cross-validated ensemble from ens, a regression ensemble. For syntax details, see the crossval method reference page.
cvens = fitensemble(X,Y,method,nlearn,learners,name,value) creates a cross-validated ensemble when name is one of 'crossval', 'kfold', 'holdout', 'leaveout', or 'cvpartition'. For syntax details, see the fitensemble function reference page.
ens |
A regression ensemble constructed with fitensemble. |
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. |
CrossValidatedModel |
Name of the cross-validated model, a string. |
Kfold |
Number of folds used in a cross-validated tree, a positive integer. |
ModelParameters |
Object holding parameters of tree. |
NumObservations |
Numeric scalar containing the number of observations in the training data. |
NTrainedPerFold |
Vector of Kfold elements. Each entry contains the number of trained learners in this cross-validation fold. |
Partition |
The partition of class cvpartition used in creating the cross-validated ensemble. |
PredictorNames |
A cell array of names for the predictor variables, in the order in which they appear in X. |
ResponseName |
Name of the response variable Y, a string. |
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 using dot notation: ens.ResponseTransform = @function |
Trainable |
Cell array of ensembles trained on cross-validation folds. Every ensemble is full, meaning it contains its training data and weights. |
Trained |
Cell array of compact ensembles trained on cross-validation folds. |
W |
The scaled weights, a vector with length n, the number of rows in X. |
X |
A matrix of predictor values. Each column of X represents one variable, and each row represents one observation. |
Y |
A numeric column vector with the same number of rows as X. Each entry in Y is the response to the data in the corresponding row of X. |
kfoldLoss | Cross-validation loss of partitioned regression ensemble |
resume | Resume training ensemble |
kfoldfun | Cross validate function |
kfoldLoss | Cross-validation loss of partitioned regression model |
kfoldPredict | Predict response for observations not used for training. |
Value. To learn how value classes affect copy operations, see Copying Objects in the MATLAB^{®} documentation.
Construct a partitioned regression ensemble, and examine the cross-validation losses for the folds:
load carsmall XX = [Cylinders Displacement Horsepower Weight]; YY = MPG; rens = fitensemble(XX,YY,'LSBoost',100,'Tree'); cvrens = crossval(rens); L = kfoldLoss(cvrens,'mode','individual') L = 42.4468 12.3158 65.9432 39.0019 30.5908 16.6225 17.3071 46.1769 8.0561 12.9689