`mar = margin(B,X,Y)`

mar = margin(B,X,Y,'param1',val1,'param2',val2,...)

`mar = margin(B,X,Y)`

computes the classification
margins for predictors `X`

given true response `Y`

.
The `Y`

can be either a numeric vector, character
matrix, cell array of strings, categorical vector or logical vector.
`mar`

is a numeric array of size `Nobs`

-by-`NTrees`

,
where `Nobs`

is the number of rows of `X`

and `Y`

,
and `NTrees`

is the number of trees in the ensemble `B`

.
For observation `I`

and tree `J`

, `mar(I,J)`

is
the difference between the score for the true class and the largest
score for other classes. This method is available for classification
ensembles only.

`mar = margin(B,X,Y,'param1',val1,'param2',val2,...)`

specifies
optional parameter name/value pairs:

`'mode'` | String indicating how the method computes errors. If set to `'cumulative'` (default), `margin` computes
cumulative errors and `mar` is an `Nobs` -by-`NTrees` matrix,
where the first column gives error from `trees(1)` ,
second column gives error from`trees(1:2)` etc,
up to `trees(1:NTrees)` . If set to `'individual'` , `mar` is
a `Nobs` -by-`NTrees` matrix, where
each element is an error from each tree in the ensemble. If set to `'ensemble'` , `mar` a
single column of length `Nobs` showing the cumulative
margins 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. The method uses these weights
to combine output from the specified trees by taking a weighted average
instead of the simple non-weighted majority vote. You cannot use this
argument in the `'individual'` mode. |

`'useifort'` | Logical matrix of size `Nobs` -by-`NTrees` indicating
which trees should be used to make predictions for each observation.
By default the method uses all trees for all observations. |

Was this topic helpful?