AdaBoostClassifier¶
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 = ensemble.AdaBoostClassifier(
... 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)
AdaBoostClassifier(HoeffdingTreeClassifier)
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