oobError
Out-of-bag error
Syntax
err = oobError(B)
err = oobError(B,'param1',val1,'param2',val2,...)
Description
err = oobError(B)
computes the misclassification
probability (for classification trees) or mean squared error (for
regression trees) for out-of-bag observations in the training data,
using the trained bagger B
. err
is
a vector of length NTrees
, where NTrees
is
the number of trees in the ensemble.
err = oobError(B,'param1',val1,'param2',val2,...)
specifies
optional parameter name/value pairs:
'Mode' | Character vector or string scalar indicating how oobError computes errors.
If set to 'cumulative' (default), the method
computes cumulative errors and err is a vector of
length NTrees , where the first element gives
error from trees(1) , second element gives error
from trees(1:2) etc., up to
trees(1:NTrees) . If set to
'individual' , err is a
vector of length NTrees , where each element is an
error from each tree in the ensemble. If set to
'ensemble' , err is a
scalar showing the cumulative error for the entire ensemble. |
'Trees' | Vector of indices indicating what trees to include in this
calculation. By default, this argument is set to 'all' and
the method uses all trees. If 'Trees' is a numeric
vector, the method returns a vector of length NTrees for 'cumulative' and 'individual' modes,
where NTrees is the number of elements in the input
vector, and a scalar for 'ensemble' mode. For example,
in the 'cumulative' mode, the first element gives
error from trees(1) , the second element gives error
from trees(1:2) etc. |
'TreeWeights' | Vector of tree weights. This vector must have the same length
as the 'Trees' vector. oobError uses
these weights to combine output from the specified trees by taking
a weighted average instead of the simple nonweighted majority vote.
You cannot use this argument in the 'individual' mode. |
Algorithms
oobError
estimates the weighted ensemble
error for out-of-bag observations. That is, oobError
applies error
to
the training data stored in the input TreeBagger
model B
,
and selects the out-of-bag observations for each tree to compose the
ensemble error.
B.X
andB.Y
are the training data predictors and responses, respectively.B.OOBIndices
specifies which observations are out-of-bag for each tree in the ensemble.B.W
specifies the observation weights.Optionally:
Using the
'Mode'
name-value pair argument, you can specify to return the individual, weighted ensemble error for each tree, or the entire, weighted ensemble error. By default,oobError
returns the cumulative, weighted ensemble error.Using the
'Trees'
name-value pair argument, you can choose which trees to use in the ensemble error calculations.Using the
'TreeWeights'
name-value pair argument, you can attribute each tree with a weight.
oobError
applies the algorithms described
below. For more details, see error
and predict
.
For regression problems, oobError
returns
the weighted MSE.
oobError
predicts responses for all out-of-bag observations.The MSE estimate depends on the value of
'Mode'
.If you specify
'Mode','Individual'
, thenoobError
sets any in bag observations within a selected tree to the weighted sample average of the observed, training data responses. Then,oobError
computes the weighted MSE for each selected tree.If you specify
'Mode','Cumulative'
, thenooError
returns a vector of cumulative, weighted MSEs, where MSEt is the cumulative, weighted MSE for selected tree t. To compute MSEt, for each observation that is out of bag for at least one tree through tree t,oobError
computes the cumulative, weighted mean of the predicted responses through tree t.oobError
sets observations that are in bag for all selected trees through tree t to the weighted sample average of the observed, training data responses. Then,oobError
computes MSEt.If you specify
'Mode','Ensemble'
, then, for each observation that is out of bag for at least one tree,oobError
computes the weighted mean over all selected trees.oobError
sets observations that are in bag for all selected trees to the weighted sample average of the observed, training data responses. Then,oobError
computes the weighted MSE, which is the same as the final, cumulative, weighted MSE.
In classification problems, oobError
returns
the weighted misclassification rate.
oobError
predicts classes for all out-of-bag observations.The weighted misclassification rate estimate depends on the value of
'Mode'
.If you specify
'Mode','Individual'
, thenoobError
sets any in bag observations within a selected tree to the predicted, weighted, most popular class over all training responses. If there are multiple most popular classes,error
considers the one listed first in theClassNames
property of theTreeBagger
model the most popular. Then,oobError
computes the weighted misclassification rate for each selected tree.If you specify
'Mode','Cumulative'
, thenooError
returns a vector of cumulative, weighted misclassification rates, where et* is the cumulative, weighted misclassification rate for selected tree t. To compute et*, for each observation that is out of bag for at least one tree through tree t,oobError
finds the predicted, cumulative, weighted most popular class through tree t.oobError
sets observations that are in bag for all selected trees through tree t to the weighted, most popular class over all training responses. If there are multiple most popular classes,error
considers the one listed first in theClassNames
property of theTreeBagger
model the most popular. Then,oobError
computes et*.If you specify
'Mode','Ensemble'
, then, for each observation that is out of bag for at least one tree,oobError
computes the weighted, most popular class over all selected trees.oobError
sets observations that are in bag for all selected trees through tree t to the predicted, weighted, most popular class over all training responses. If there are multiple most popular classes,error
considers the one listed first in theClassNames
property of theTreeBagger
model the most popular. Then,oobError
computes the weighted misclassification rate , which is the same as the final, cumulative, weighted misclassification rate.