Boosting for classification

For each incoming observation, each model's learn_one method is called k times where k is sampled from a Poisson distribution of parameter lambda. The lambda parameter is updated when the weaks learners fit successively the same observation.

## 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¶

• wrong_weight (collections.defaultdict)

Number of times a model has made a mistake when making predictions.

• correct_weight (collections.defaultdict)

Number of times a model has predicted the right label when making predictions.

## Examples¶

In the following example three tree classifiers are boosted together. The performance is slightly better than when using a single tree.

>>> from river import datasets
>>> from river import ensemble
>>> from river import evaluate
>>> from river import metrics
>>> from river import tree

>>> dataset = datasets.Phishing()

>>> metric = metrics.LogLoss()

...     model=(
...         tree.HoeffdingTreeClassifier(
...             split_criterion='gini',
...             delta=1e-5,
...             grace_period=2000
...         )
...     ),
...     n_models=5,
...     seed=42
... )

>>> evaluate.progressive_val_score(dataset, model, metric)
LogLoss: 0.370805

>>> print(model)


## 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

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)

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

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