BaggingRegressor¶
Online bootstrap aggregation for regression.
For each incoming observation, each model's learn_one
method is called k
times where k
is sampled from a Poisson distribution of parameter 1. k
thus has a 36% chance of being equal to 0, a 36% chance of being equal to 1, an 18% chance of being equal to 2, a 6% chance of being equal to 3, a 1% chance of being equal to 4, etc. You can do scipy.stats.utils.random.poisson(1).pmf(k)
for more detailed values.
Parameters¶
-
model (base.Regressor)
The regressor to bag.
-
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¶
In the following example three logistic regressions are bagged together. The performance is slightly better than when using a single logistic regression.
>>> from river import datasets
>>> from river import ensemble
>>> from river import evaluate
>>> from river import linear_model
>>> from river import metrics
>>> from river import optim
>>> from river import preprocessing
>>> dataset = datasets.TrumpApproval()
>>> model = preprocessing.StandardScaler()
>>> model |= ensemble.BaggingRegressor(
... model=linear_model.LinearRegression(intercept_lr=0.1),
... n_models=3,
... seed=42
... )
>>> metric = metrics.MAE()
>>> evaluate.progressive_val_score(dataset, model, metric)
MAE: 0.68886
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
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
Averages the predictions of each regressor.
Parameters
- x
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