adaboostReweighter: Reweighter function for the Adaboost.M1 algorithm

Description Usage Arguments Details Value See Also

View source: R/adaboostReweighter.R


Implements a slightly modified version of the reweighter described in the Adaboost.M1 algorithm.


adaboostReweighter(prediction, response, weights, ...)



a vector of predictions.


a vector whose ith component is the true response for the ith component of prediction.


a vector of weights. They don't necessarily need to sum to 1.


implemented to allow reweighter to accept its output as its input.


The modification of the reweighter comes in to play when ε = 0. This is when the esimator correctly classifies every observation in the learning set. Consequently, we're supposed to define α = log(1-ε) - log(ε) However, this is +∞, which is not a number R is used to working with. To work around this, we have to create a conditional statement that sets alpha <- log(.Machine$double.xmax) and let the algorithm proceed as originally described. The effect of this modification is the following:

  1. the update that's supposed to be made to weights, which is a function of alpha, effectively keeps weights as they were before.

  2. if you pair this reweighter with adaboostAggregator then the estimator associated to this very large alpha now has tremendous weight inside the weighted sum in the aggregator. This isn't, necessarily, a bad thing – the estimator classified every observation in data correctly.


For internal bookkeeping, this function is inherits from the 'reweighter' class. It returns a named list with components


the updated weights calculated from the input weights, prediction and response.


performance measure of estimator to be used by adaboostAggregator.

See Also

Other adaboost: adaboostAggregator

Other reweighters: arcfsReweighter; arcx4Reweighter; boost, boost.function, boost.list; vanillaBagger

boostr documentation built on May 2, 2019, 1:42 p.m.