Skip to content

ADWINBoostingClassifier

ADWIN Boosting classifier.

ADWIN Boosting 1 is the online boosting method of Oza and Russell 2 with the addition of the ADWIN algorithm as a change detector. If concept drift is detected, the worst member of the ensemble (based on the error estimation by ADWIN) is replaced by a new (empty) classifier.

Parameters

  • model (base.Classifier)

    The classifier to boost.

  • n_models – defaults to 10

    The number of models in the ensemble.

  • seed (int) – defaults to None

    Random number generator seed for reproducibility.

Attributes

  • models

Examples

>>> from river import datasets
>>> from river import ensemble
>>> from river import evaluate
>>> from river import linear_model
>>> from river import metrics
>>> from river import preprocessing

>>> dataset = datasets.Phishing()
>>> model = ensemble.ADWINBoostingClassifier(
...     model=(
...         preprocessing.StandardScaler() |
...         linear_model.LogisticRegression()
...     ),
...     n_models=3,
...     seed=42
... )
>>> metric = metrics.F1()

>>> evaluate.progressive_val_score(dataset, model, metric)
F1: 87.41%

Methods

append

S.append(value) -- append value to the end of the sequence

Parameters

  • item
clear

S.clear() -> None -- remove all items from S

copy
count

S.count(value) -> integer -- return number of occurrences of value

Parameters

  • item
extend

S.extend(iterable) -- extend sequence by appending elements from the iterable

Parameters

  • other
index

S.index(value, [start, [stop]]) -> integer -- return first index of value. Raises ValueError if the value is not present.

Supporting start and stop arguments is optional, but recommended.

Parameters

  • item
  • args
insert

S.insert(index, value) -- insert value before index

Parameters

  • i
  • item
learn_one

Update the model with a set of features x and a label y.

Parameters

  • x
  • y
  • kwargs

Returns

self

pop

S.pop([index]) -> item -- remove and return item at index (default last). Raise IndexError if list is empty or index is out of range.

Parameters

  • i – defaults to -1
predict_one

Predict the label of a set of features x.

Parameters

  • x (dict)
  • kwargs

Returns

typing.Union[bool, str, int, NoneType]: The predicted label.

predict_proba_one

Predict the probability of each label for a dictionary of features x.

Parameters

  • x
  • kwargs

Returns

A dictionary that associates a probability which each label.

remove

S.remove(value) -- remove first occurrence of value. Raise ValueError if the value is not present.

Parameters

  • item
reverse

S.reverse() -- reverse IN PLACE

sort

References


  1. Albert Bifet, Geoff Holmes, Bernhard Pfahringer, Richard Kirkby, and Ricard GavaldΓ . "New ensemble methods for evolving data streams." In 15th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, 2009. 

  2. Oza, N., Russell, S. "Online bagging and boosting." In: Artificial Intelligence and Statistics 2001, pp. 105–112. Morgan Kaufmann, 2001.