Benchmarks
Environment
Python implementation: CPython
Python version : 3.9.12
IPython version : 7.30.1
river : 0.12.1
numpy : 1.22.3
scikit-learn: 1.1.0
pandas : 1.4.1
scipy : 1.9.0
Compiler : Clang 12.0.1
OS : Darwin
Release : 21.5.0
Machine : x86_64
Processor : i386
CPU cores : 8
Architecture: 64bit
Binary classification
Results
Datasets
Bananas
Bananas dataset.
An artificial dataset where instances belongs to several clusters with a banana shape.
There are two attributes that correspond to the x and y axis, respectively.
Name Bananas
Task Binary classification
Samples 5,300
Features 2
Sparse False
Path /Users/mastelini/Documents/river/river/datasets/banana.zip
Phishing
Phishing websites.
This dataset contains features from web pages that are classified as phishing or not.
Name Phishing
Task Binary classification
Samples 1,250
Features 9
Sparse False
Path /Users/mastelini/Documents/river/river/datasets/phishing.csv.gz
Models
ADWIN Bagging
[HoeffdingTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
), HoeffdingTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
), HoeffdingTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
), HoeffdingTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
), HoeffdingTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
), HoeffdingTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
), HoeffdingTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
), HoeffdingTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
), HoeffdingTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
), HoeffdingTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
)]
ALMA
Pipeline (
StandardScaler (
with_std=True
),
ALMAClassifier (
p=2
alpha=0.9
B=1.111111
C=1.414214
)
)
AdaBoost
[HoeffdingTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
), HoeffdingTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
), HoeffdingTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
), HoeffdingTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
), HoeffdingTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
), HoeffdingTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
), HoeffdingTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
), HoeffdingTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
), HoeffdingTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
), HoeffdingTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
)]
Adaptive Random Forest
[]
Bagging
[HoeffdingAdaptiveTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
bootstrap_sampling=False
drift_window_threshold=300
drift_detector=ADWIN (
delta=0.002
)
switch_significance=0.05
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
seed=None
), HoeffdingAdaptiveTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
bootstrap_sampling=False
drift_window_threshold=300
drift_detector=ADWIN (
delta=0.002
)
switch_significance=0.05
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
seed=None
), HoeffdingAdaptiveTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
bootstrap_sampling=False
drift_window_threshold=300
drift_detector=ADWIN (
delta=0.002
)
switch_significance=0.05
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
seed=None
), HoeffdingAdaptiveTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
bootstrap_sampling=False
drift_window_threshold=300
drift_detector=ADWIN (
delta=0.002
)
switch_significance=0.05
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
seed=None
), HoeffdingAdaptiveTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
bootstrap_sampling=False
drift_window_threshold=300
drift_detector=ADWIN (
delta=0.002
)
switch_significance=0.05
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
seed=None
), HoeffdingAdaptiveTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
bootstrap_sampling=False
drift_window_threshold=300
drift_detector=ADWIN (
delta=0.002
)
switch_significance=0.05
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
seed=None
), HoeffdingAdaptiveTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
bootstrap_sampling=False
drift_window_threshold=300
drift_detector=ADWIN (
delta=0.002
)
switch_significance=0.05
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
seed=None
), HoeffdingAdaptiveTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
bootstrap_sampling=False
drift_window_threshold=300
drift_detector=ADWIN (
delta=0.002
)
switch_significance=0.05
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
seed=None
), HoeffdingAdaptiveTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
bootstrap_sampling=False
drift_window_threshold=300
drift_detector=ADWIN (
delta=0.002
)
switch_significance=0.05
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
seed=None
), HoeffdingAdaptiveTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
bootstrap_sampling=False
drift_window_threshold=300
drift_detector=ADWIN (
delta=0.002
)
switch_significance=0.05
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
seed=None
)]
Extremely Fast Decision Tree
ExtremelyFastDecisionTreeClassifier (
grace_period=200
max_depth=inf
min_samples_reevaluate=20
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
)
Hoeffding Adaptive Tree
HoeffdingAdaptiveTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
bootstrap_sampling=True
drift_window_threshold=300
drift_detector=ADWIN (
delta=0.002
)
switch_significance=0.05
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
seed=42
)
Hoeffding Tree
HoeffdingTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
)
Leveraging Bagging
[HoeffdingTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
), HoeffdingTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
), HoeffdingTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
), HoeffdingTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
), HoeffdingTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
), HoeffdingTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
), HoeffdingTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
), HoeffdingTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
), HoeffdingTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
), HoeffdingTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
)]
Logistic regression
Pipeline (
StandardScaler (
with_std=True
),
LogisticRegression (
optimizer=SGD (
lr=Constant (
learning_rate=0.005
)
)
loss=Log (
weight_pos=1.
weight_neg=1.
)
l2=0.
l1=0.
intercept_init=0.
intercept_lr=Constant (
learning_rate=0.01
)
clip_gradient=1e+12
initializer=Zeros ()
)
)
Naive Bayes
GaussianNB ()
PyTorch logistic regression
Pipeline (
StandardScaler (
with_std=True
),
PyTorchBinaryClassifier (
network_func=<class '__main__.PyTorchLogReg'>
loss=BCELoss()
optimizer_func="<lambda>"
)
)
Stacking
[Pipeline (
StandardScaler (
with_std=True
),
SoftmaxRegression (
optimizer=SGD (
lr=Constant (
learning_rate=0.01
)
)
loss=CrossEntropy (
class_weight={}
)
l2=0
)
), GaussianNB (), HoeffdingTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
), Pipeline (
StandardScaler (
with_std=True
),
KNNClassifier (
n_neighbors=5
window_size=100
min_distance_keep=0.
weighted=True
cleanup_every=0
distance_func=functools.partial(<function minkowski_distance at 0x142cd2670>, p=2)
softmax=False
)
)]
Stochastic Gradient Tree
SGTClassifier (
delta=1e-07
grace_period=200
init_pred=0.
max_depth=inf
lambda_value=0.1
gamma=1.
nominal_attributes=[]
feature_quantizer=StaticQuantizer (
n_bins=64
warm_start=100
buckets=None
)
)
Streaming Random Patches
SRPClassifier (
model=HoeffdingTreeClassifier (
grace_period=50
max_depth=inf
split_criterion="info_gain"
delta=0.01
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
)
n_models=10
subspace_size=0.6
training_method="patches"
lam=6
drift_detector=ADWIN (
delta=1e-05
)
warning_detector=ADWIN (
delta=0.0001
)
disable_detector="off"
disable_weighted_vote=False
seed=None
metric=Accuracy (
cm=ConfusionMatrix (
classes=[]
)
)
)
Voting
VotingClassifier (
models=[Pipeline (
StandardScaler (
with_std=True
),
SoftmaxRegression (
optimizer=SGD (
lr=Constant (
learning_rate=0.01
)
)
loss=CrossEntropy (
class_weight={}
)
l2=0
)
), GaussianNB (), HoeffdingTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
), Pipeline (
StandardScaler (
with_std=True
),
KNNClassifier (
n_neighbors=5
window_size=100
min_distance_keep=0.
weighted=True
cleanup_every=0
distance_func=functools.partial(<function minkowski_distance at 0x142cd2670>, p=2)
softmax=False
)
)]
use_probabilities=True
)
Vowpal Wabbit logistic regression
VW2RiverClassifier ()
[baseline] Last Class
NoChangeClassifier ()
k-Nearest Neighbors
Pipeline (
StandardScaler (
with_std=True
),
KNNClassifier (
n_neighbors=5
window_size=100
min_distance_keep=0.
weighted=True
cleanup_every=0
distance_func=functools.partial(<function minkowski_distance at 0x142cd2670>, p=2)
softmax=False
)
)
sklearn SGDClassifier
Pipeline (
StandardScaler (
with_std=True
),
SKL2RiverClassifier (
estimator=SGDClassifier(eta0=0.005, learning_rate='constant', loss='log_loss',
penalty='none')
classes=[False, True]
)
)
Multiclass classification
Results
Datasets
ImageSegments
Image segments classification.
This dataset contains features that describe image segments into 7 classes: brickface, sky,
foliage, cement, window, path, and grass.
Name ImageSegments
Task Multi-class classification
Samples 2,310
Features 18
Sparse False
Path /Users/mastelini/Documents/river/river/datasets/segment.csv.zip
Insects
Insects dataset.
This dataset has different variants, which are:
- abrupt_balanced
- abrupt_imbalanced
- gradual_balanced
- gradual_imbalanced
- incremental-abrupt_balanced
- incremental-abrupt_imbalanced
- incremental-reoccurring_balanced
- incremental-reoccurring_imbalanced
- incremental_balanced
- incremental_imbalanced
- out-of-control
The number of samples and the difficulty change from one variant to another. The number of
classes is always the same (6), except for the last variant (24).
Name Insects
Task Multi-class classification
Samples 52,848
Features 33
Classes 6
Sparse False
Path /Users/mastelini/river_data/Insects/INSECTS-abrupt_balanced_norm.arff
URL http://sites.labic.icmc.usp.br/vsouza/repository/creme/INSECTS-abrupt_balanced_norm.arff
Size 15.66 MB
Downloaded True
Variant abrupt_balanced
Parameters
----------
variant
Indicates which variant of the dataset to load.
Keystroke
CMU keystroke dataset.
Users are tasked to type in a password. The task is to determine which user is typing in the
password.
The only difference with the original dataset is that the "sessionIndex" and "rep" attributes
have been dropped.
Name Keystroke
Task Multi-class classification
Samples 20,400
Features 31
Sparse False
Path /Users/mastelini/river_data/Keystroke/DSL-StrongPasswordData.csv
URL http://www.cs.cmu.edu/~keystroke/DSL-StrongPasswordData.csv
Size 4.45 MB
Downloaded True
Models
ADWIN Bagging
[HoeffdingTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
), HoeffdingTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
), HoeffdingTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
), HoeffdingTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
), HoeffdingTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
), HoeffdingTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
), HoeffdingTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
), HoeffdingTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
), HoeffdingTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
), HoeffdingTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
)]
AdaBoost
[HoeffdingTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
), HoeffdingTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
), HoeffdingTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
), HoeffdingTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
), HoeffdingTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
), HoeffdingTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
), HoeffdingTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
), HoeffdingTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
), HoeffdingTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
), HoeffdingTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
)]
Adaptive Random Forest
[]
Bagging
[HoeffdingAdaptiveTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
bootstrap_sampling=False
drift_window_threshold=300
drift_detector=ADWIN (
delta=0.002
)
switch_significance=0.05
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
seed=None
), HoeffdingAdaptiveTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
bootstrap_sampling=False
drift_window_threshold=300
drift_detector=ADWIN (
delta=0.002
)
switch_significance=0.05
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
seed=None
), HoeffdingAdaptiveTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
bootstrap_sampling=False
drift_window_threshold=300
drift_detector=ADWIN (
delta=0.002
)
switch_significance=0.05
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
seed=None
), HoeffdingAdaptiveTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
bootstrap_sampling=False
drift_window_threshold=300
drift_detector=ADWIN (
delta=0.002
)
switch_significance=0.05
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
seed=None
), HoeffdingAdaptiveTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
bootstrap_sampling=False
drift_window_threshold=300
drift_detector=ADWIN (
delta=0.002
)
switch_significance=0.05
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
seed=None
), HoeffdingAdaptiveTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
bootstrap_sampling=False
drift_window_threshold=300
drift_detector=ADWIN (
delta=0.002
)
switch_significance=0.05
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
seed=None
), HoeffdingAdaptiveTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
bootstrap_sampling=False
drift_window_threshold=300
drift_detector=ADWIN (
delta=0.002
)
switch_significance=0.05
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
seed=None
), HoeffdingAdaptiveTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
bootstrap_sampling=False
drift_window_threshold=300
drift_detector=ADWIN (
delta=0.002
)
switch_significance=0.05
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
seed=None
), HoeffdingAdaptiveTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
bootstrap_sampling=False
drift_window_threshold=300
drift_detector=ADWIN (
delta=0.002
)
switch_significance=0.05
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
seed=None
), HoeffdingAdaptiveTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
bootstrap_sampling=False
drift_window_threshold=300
drift_detector=ADWIN (
delta=0.002
)
switch_significance=0.05
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
seed=None
)]
Extremely Fast Decision Tree
ExtremelyFastDecisionTreeClassifier (
grace_period=200
max_depth=inf
min_samples_reevaluate=20
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
)
Hoeffding Adaptive Tree
HoeffdingAdaptiveTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
bootstrap_sampling=True
drift_window_threshold=300
drift_detector=ADWIN (
delta=0.002
)
switch_significance=0.05
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
seed=42
)
Hoeffding Tree
HoeffdingTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
)
Leveraging Bagging
[HoeffdingTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
), HoeffdingTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
), HoeffdingTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
), HoeffdingTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
), HoeffdingTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
), HoeffdingTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
), HoeffdingTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
), HoeffdingTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
), HoeffdingTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
), HoeffdingTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
)]
Naive Bayes
GaussianNB ()
Stacking
[Pipeline (
StandardScaler (
with_std=True
),
SoftmaxRegression (
optimizer=SGD (
lr=Constant (
learning_rate=0.01
)
)
loss=CrossEntropy (
class_weight={}
)
l2=0
)
), GaussianNB (), HoeffdingTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
), Pipeline (
StandardScaler (
with_std=True
),
KNNClassifier (
n_neighbors=5
window_size=100
min_distance_keep=0.
weighted=True
cleanup_every=0
distance_func=functools.partial(<function minkowski_distance at 0x142cd2670>, p=2)
softmax=False
)
)]
Streaming Random Patches
SRPClassifier (
model=HoeffdingTreeClassifier (
grace_period=50
max_depth=inf
split_criterion="info_gain"
delta=0.01
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
)
n_models=10
subspace_size=0.6
training_method="patches"
lam=6
drift_detector=ADWIN (
delta=1e-05
)
warning_detector=ADWIN (
delta=0.0001
)
disable_detector="off"
disable_weighted_vote=False
seed=None
metric=Accuracy (
cm=ConfusionMatrix (
classes=[]
)
)
)
Voting
VotingClassifier (
models=[Pipeline (
StandardScaler (
with_std=True
),
SoftmaxRegression (
optimizer=SGD (
lr=Constant (
learning_rate=0.01
)
)
loss=CrossEntropy (
class_weight={}
)
l2=0
)
), GaussianNB (), HoeffdingTreeClassifier (
grace_period=200
max_depth=inf
split_criterion="info_gain"
delta=1e-07
tau=0.05
leaf_prediction="nba"
nb_threshold=0
nominal_attributes=None
splitter=GaussianSplitter (
n_splits=10
)
binary_split=False
max_size=100.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
), Pipeline (
StandardScaler (
with_std=True
),
KNNClassifier (
n_neighbors=5
window_size=100
min_distance_keep=0.
weighted=True
cleanup_every=0
distance_func=functools.partial(<function minkowski_distance at 0x142cd2670>, p=2)
softmax=False
)
)]
use_probabilities=True
)
[baseline] Last Class
NoChangeClassifier ()
k-Nearest Neighbors
Pipeline (
StandardScaler (
with_std=True
),
KNNClassifier (
n_neighbors=5
window_size=100
min_distance_keep=0.
weighted=True
cleanup_every=0
distance_func=functools.partial(<function minkowski_distance at 0x142cd2670>, p=2)
softmax=False
)
)
Regression
Results
Datasets
Friedman7k
Sample from the stationary version of the Friedman dataset.
This sample contains 10k instances sampled from the Friedman generator.
Name Friedman7k
Task Regression
Samples 7,000
Features 10
Sparse False
FriedmanGSG10k
Sample from the FriedmanGSG generator.
This sample contains 10k instances sampled from the Friedman generator and presents
global and slow gradual concept drifts that affect the data and happen after
3.5k and 7k instances. The transition window between different concepts has a length of
1k instances.
Name FriedmanGSG10k
Task Regression
Samples 10,000
Features 10
Sparse False
FriedmanLEA10k
Sample from the FriedmanLEA generator.
This sample contains 10k instances sampled from the Friedman generator and presents
local-expanding abrupt concept drifts that locally affect the data and happen after
2k, 5k, and 8k instances.
Name FriedmanLEA10k
Task Regression
Samples 10,000
Features 10
Sparse False
TrumpApproval
Donald Trump approval ratings.
This dataset was obtained by reshaping the data used by FiveThirtyEight for analyzing Donald
Trump's approval ratings. It contains 5 features, which are approval ratings collected by
5 polling agencies. The target is the approval rating from FiveThirtyEight's model. The goal of
this task is to see if we can reproduce FiveThirtyEight's model.
Name TrumpApproval
Task Regression
Samples 1,001
Features 6
Sparse False
Path /Users/mastelini/Documents/river/river/datasets/trump_approval.csv.gz
Models
Adaptive Model Rules
Pipeline (
StandardScaler (
with_std=True
),
AMRules (
n_min=200
delta=1e-07
tau=0.05
pred_type="adaptive"
pred_model=LinearRegression (
optimizer=SGD (
lr=Constant (
learning_rate=0.01
)
)
loss=Squared ()
l2=0.
l1=0.
intercept_init=0.
intercept_lr=Constant (
learning_rate=0.01
)
clip_gradient=1e+12
initializer=Zeros ()
)
splitter=TEBSTSplitter (
digits=1
)
drift_detector=ADWIN (
delta=0.002
)
alpha=0.99
anomaly_threshold=-0.75
m_min=30
ordered_rule_set=True
min_samples_split=5
)
)
Adaptive Random Forest
Pipeline (
StandardScaler (
with_std=True
),
[]
)
Bagging
Pipeline (
StandardScaler (
with_std=True
),
[HoeffdingAdaptiveTreeRegressor (
grace_period=200
max_depth=inf
delta=1e-07
tau=0.05
leaf_prediction="adaptive"
leaf_model=LinearRegression (
optimizer=SGD (
lr=Constant (
learning_rate=0.01
)
)
loss=Squared ()
l2=0.
l1=0.
intercept_init=0.
intercept_lr=Constant (
learning_rate=0.01
)
clip_gradient=1e+12
initializer=Zeros ()
)
model_selector_decay=0.95
nominal_attributes=None
splitter=TEBSTSplitter (
digits=1
)
min_samples_split=5
bootstrap_sampling=False
drift_window_threshold=300
drift_detector=ADWIN (
delta=0.002
)
switch_significance=0.05
binary_split=False
max_size=500.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
seed=None
), HoeffdingAdaptiveTreeRegressor (
grace_period=200
max_depth=inf
delta=1e-07
tau=0.05
leaf_prediction="adaptive"
leaf_model=LinearRegression (
optimizer=SGD (
lr=Constant (
learning_rate=0.01
)
)
loss=Squared ()
l2=0.
l1=0.
intercept_init=0.
intercept_lr=Constant (
learning_rate=0.01
)
clip_gradient=1e+12
initializer=Zeros ()
)
model_selector_decay=0.95
nominal_attributes=None
splitter=TEBSTSplitter (
digits=1
)
min_samples_split=5
bootstrap_sampling=False
drift_window_threshold=300
drift_detector=ADWIN (
delta=0.002
)
switch_significance=0.05
binary_split=False
max_size=500.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
seed=None
), HoeffdingAdaptiveTreeRegressor (
grace_period=200
max_depth=inf
delta=1e-07
tau=0.05
leaf_prediction="adaptive"
leaf_model=LinearRegression (
optimizer=SGD (
lr=Constant (
learning_rate=0.01
)
)
loss=Squared ()
l2=0.
l1=0.
intercept_init=0.
intercept_lr=Constant (
learning_rate=0.01
)
clip_gradient=1e+12
initializer=Zeros ()
)
model_selector_decay=0.95
nominal_attributes=None
splitter=TEBSTSplitter (
digits=1
)
min_samples_split=5
bootstrap_sampling=False
drift_window_threshold=300
drift_detector=ADWIN (
delta=0.002
)
switch_significance=0.05
binary_split=False
max_size=500.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
seed=None
), HoeffdingAdaptiveTreeRegressor (
grace_period=200
max_depth=inf
delta=1e-07
tau=0.05
leaf_prediction="adaptive"
leaf_model=LinearRegression (
optimizer=SGD (
lr=Constant (
learning_rate=0.01
)
)
loss=Squared ()
l2=0.
l1=0.
intercept_init=0.
intercept_lr=Constant (
learning_rate=0.01
)
clip_gradient=1e+12
initializer=Zeros ()
)
model_selector_decay=0.95
nominal_attributes=None
splitter=TEBSTSplitter (
digits=1
)
min_samples_split=5
bootstrap_sampling=False
drift_window_threshold=300
drift_detector=ADWIN (
delta=0.002
)
switch_significance=0.05
binary_split=False
max_size=500.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
seed=None
), HoeffdingAdaptiveTreeRegressor (
grace_period=200
max_depth=inf
delta=1e-07
tau=0.05
leaf_prediction="adaptive"
leaf_model=LinearRegression (
optimizer=SGD (
lr=Constant (
learning_rate=0.01
)
)
loss=Squared ()
l2=0.
l1=0.
intercept_init=0.
intercept_lr=Constant (
learning_rate=0.01
)
clip_gradient=1e+12
initializer=Zeros ()
)
model_selector_decay=0.95
nominal_attributes=None
splitter=TEBSTSplitter (
digits=1
)
min_samples_split=5
bootstrap_sampling=False
drift_window_threshold=300
drift_detector=ADWIN (
delta=0.002
)
switch_significance=0.05
binary_split=False
max_size=500.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
seed=None
), HoeffdingAdaptiveTreeRegressor (
grace_period=200
max_depth=inf
delta=1e-07
tau=0.05
leaf_prediction="adaptive"
leaf_model=LinearRegression (
optimizer=SGD (
lr=Constant (
learning_rate=0.01
)
)
loss=Squared ()
l2=0.
l1=0.
intercept_init=0.
intercept_lr=Constant (
learning_rate=0.01
)
clip_gradient=1e+12
initializer=Zeros ()
)
model_selector_decay=0.95
nominal_attributes=None
splitter=TEBSTSplitter (
digits=1
)
min_samples_split=5
bootstrap_sampling=False
drift_window_threshold=300
drift_detector=ADWIN (
delta=0.002
)
switch_significance=0.05
binary_split=False
max_size=500.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
seed=None
), HoeffdingAdaptiveTreeRegressor (
grace_period=200
max_depth=inf
delta=1e-07
tau=0.05
leaf_prediction="adaptive"
leaf_model=LinearRegression (
optimizer=SGD (
lr=Constant (
learning_rate=0.01
)
)
loss=Squared ()
l2=0.
l1=0.
intercept_init=0.
intercept_lr=Constant (
learning_rate=0.01
)
clip_gradient=1e+12
initializer=Zeros ()
)
model_selector_decay=0.95
nominal_attributes=None
splitter=TEBSTSplitter (
digits=1
)
min_samples_split=5
bootstrap_sampling=False
drift_window_threshold=300
drift_detector=ADWIN (
delta=0.002
)
switch_significance=0.05
binary_split=False
max_size=500.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
seed=None
), HoeffdingAdaptiveTreeRegressor (
grace_period=200
max_depth=inf
delta=1e-07
tau=0.05
leaf_prediction="adaptive"
leaf_model=LinearRegression (
optimizer=SGD (
lr=Constant (
learning_rate=0.01
)
)
loss=Squared ()
l2=0.
l1=0.
intercept_init=0.
intercept_lr=Constant (
learning_rate=0.01
)
clip_gradient=1e+12
initializer=Zeros ()
)
model_selector_decay=0.95
nominal_attributes=None
splitter=TEBSTSplitter (
digits=1
)
min_samples_split=5
bootstrap_sampling=False
drift_window_threshold=300
drift_detector=ADWIN (
delta=0.002
)
switch_significance=0.05
binary_split=False
max_size=500.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
seed=None
), HoeffdingAdaptiveTreeRegressor (
grace_period=200
max_depth=inf
delta=1e-07
tau=0.05
leaf_prediction="adaptive"
leaf_model=LinearRegression (
optimizer=SGD (
lr=Constant (
learning_rate=0.01
)
)
loss=Squared ()
l2=0.
l1=0.
intercept_init=0.
intercept_lr=Constant (
learning_rate=0.01
)
clip_gradient=1e+12
initializer=Zeros ()
)
model_selector_decay=0.95
nominal_attributes=None
splitter=TEBSTSplitter (
digits=1
)
min_samples_split=5
bootstrap_sampling=False
drift_window_threshold=300
drift_detector=ADWIN (
delta=0.002
)
switch_significance=0.05
binary_split=False
max_size=500.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
seed=None
), HoeffdingAdaptiveTreeRegressor (
grace_period=200
max_depth=inf
delta=1e-07
tau=0.05
leaf_prediction="adaptive"
leaf_model=LinearRegression (
optimizer=SGD (
lr=Constant (
learning_rate=0.01
)
)
loss=Squared ()
l2=0.
l1=0.
intercept_init=0.
intercept_lr=Constant (
learning_rate=0.01
)
clip_gradient=1e+12
initializer=Zeros ()
)
model_selector_decay=0.95
nominal_attributes=None
splitter=TEBSTSplitter (
digits=1
)
min_samples_split=5
bootstrap_sampling=False
drift_window_threshold=300
drift_detector=ADWIN (
delta=0.002
)
switch_significance=0.05
binary_split=False
max_size=500.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
seed=None
)]
)
Exponentially Weighted Average
Pipeline (
StandardScaler (
with_std=True
),
[LinearRegression (
optimizer=SGD (
lr=Constant (
learning_rate=0.01
)
)
loss=Squared ()
l2=0.
l1=0.
intercept_init=0.
intercept_lr=Constant (
learning_rate=0.01
)
clip_gradient=1e+12
initializer=Zeros ()
), HoeffdingAdaptiveTreeRegressor (
grace_period=200
max_depth=inf
delta=1e-07
tau=0.05
leaf_prediction="adaptive"
leaf_model=LinearRegression (
optimizer=SGD (
lr=Constant (
learning_rate=0.01
)
)
loss=Squared ()
l2=0.
l1=0.
intercept_init=0.
intercept_lr=Constant (
learning_rate=0.01
)
clip_gradient=1e+12
initializer=Zeros ()
)
model_selector_decay=0.95
nominal_attributes=None
splitter=TEBSTSplitter (
digits=1
)
min_samples_split=5
bootstrap_sampling=True
drift_window_threshold=300
drift_detector=ADWIN (
delta=0.002
)
switch_significance=0.05
binary_split=False
max_size=500.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
seed=None
), KNNRegressor (
n_neighbors=5
window_size=100
aggregation_method="mean"
min_distance_keep=0.
distance_func=functools.partial(<function minkowski_distance at 0x142cd2670>, p=2)
), AMRules (
n_min=200
delta=1e-07
tau=0.05
pred_type="adaptive"
pred_model=LinearRegression (
optimizer=SGD (
lr=Constant (
learning_rate=0.01
)
)
loss=Squared ()
l2=0.
l1=0.
intercept_init=0.
intercept_lr=Constant (
learning_rate=0.01
)
clip_gradient=1e+12
initializer=Zeros ()
)
splitter=TEBSTSplitter (
digits=1
)
drift_detector=ADWIN (
delta=0.002
)
alpha=0.99
anomaly_threshold=-0.75
m_min=30
ordered_rule_set=True
min_samples_split=5
)]
)
Hoeffding Adaptive Tree
Pipeline (
StandardScaler (
with_std=True
),
HoeffdingAdaptiveTreeRegressor (
grace_period=200
max_depth=inf
delta=1e-07
tau=0.05
leaf_prediction="adaptive"
leaf_model=LinearRegression (
optimizer=SGD (
lr=Constant (
learning_rate=0.01
)
)
loss=Squared ()
l2=0.
l1=0.
intercept_init=0.
intercept_lr=Constant (
learning_rate=0.01
)
clip_gradient=1e+12
initializer=Zeros ()
)
model_selector_decay=0.95
nominal_attributes=None
splitter=TEBSTSplitter (
digits=1
)
min_samples_split=5
bootstrap_sampling=True
drift_window_threshold=300
drift_detector=ADWIN (
delta=0.002
)
switch_significance=0.05
binary_split=False
max_size=500.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
seed=42
)
)
Hoeffding Tree
Pipeline (
StandardScaler (
with_std=True
),
HoeffdingTreeRegressor (
grace_period=200
max_depth=inf
delta=1e-07
tau=0.05
leaf_prediction="adaptive"
leaf_model=LinearRegression (
optimizer=SGD (
lr=Constant (
learning_rate=0.01
)
)
loss=Squared ()
l2=0.
l1=0.
intercept_init=0.
intercept_lr=Constant (
learning_rate=0.01
)
clip_gradient=1e+12
initializer=Zeros ()
)
model_selector_decay=0.95
nominal_attributes=None
splitter=TEBSTSplitter (
digits=1
)
min_samples_split=5
binary_split=False
max_size=500.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
)
)
Linear Regression
Pipeline (
StandardScaler (
with_std=True
),
LinearRegression (
optimizer=SGD (
lr=Constant (
learning_rate=0.01
)
)
loss=Squared ()
l2=0.
l1=0.
intercept_init=0.
intercept_lr=Constant (
learning_rate=0.01
)
clip_gradient=1e+12
initializer=Zeros ()
)
)
Linear Regression with l1 regularization
Pipeline (
StandardScaler (
with_std=True
),
LinearRegression (
optimizer=SGD (
lr=Constant (
learning_rate=0.01
)
)
loss=Squared ()
l2=0.
l1=1.
intercept_init=0.
intercept_lr=Constant (
learning_rate=0.01
)
clip_gradient=1e+12
initializer=Zeros ()
)
)
Linear Regression with l2 regularization
Pipeline (
StandardScaler (
with_std=True
),
LinearRegression (
optimizer=SGD (
lr=Constant (
learning_rate=0.01
)
)
loss=Squared ()
l2=1.
l1=0.
intercept_init=0.
intercept_lr=Constant (
learning_rate=0.01
)
clip_gradient=1e+12
initializer=Zeros ()
)
)
Multi-layer Perceptron
Pipeline (
StandardScaler (
with_std=True
),
MLPRegressor (
hidden_dims=(5,)
activations=(<class 'river.neural_net.activations.ReLU'>, <class 'river.neural_net.activations.ReLU'>, <class 'river.neural_net.activations.Identity'>)
loss=Squared ()
optimizer=SGD (
lr=Constant (
learning_rate=0.001
)
)
seed=42
)
)
Passive-Aggressive Regressor, mode 1
Pipeline (
StandardScaler (
with_std=True
),
PARegressor (
C=1.
mode=1
eps=0.1
learn_intercept=True
)
)
Passive-Aggressive Regressor, mode 2
Pipeline (
StandardScaler (
with_std=True
),
PARegressor (
C=1.
mode=2
eps=0.1
learn_intercept=True
)
)
Stochastic Gradient Tree
SGTRegressor (
delta=1e-07
grace_period=200
init_pred=0.
max_depth=inf
lambda_value=0.1
gamma=1.
nominal_attributes=[]
feature_quantizer=StaticQuantizer (
n_bins=64
warm_start=100
buckets=None
)
)
Streaming Random Patches
Pipeline (
StandardScaler (
with_std=True
),
SRPRegressor (
model=HoeffdingTreeRegressor (
grace_period=50
max_depth=inf
delta=0.01
tau=0.05
leaf_prediction="adaptive"
leaf_model=LinearRegression (
optimizer=SGD (
lr=Constant (
learning_rate=0.01
)
)
loss=Squared ()
l2=0.
l1=0.
intercept_init=0.
intercept_lr=Constant (
learning_rate=0.01
)
clip_gradient=1e+12
initializer=Zeros ()
)
model_selector_decay=0.95
nominal_attributes=None
splitter=TEBSTSplitter (
digits=1
)
min_samples_split=5
binary_split=False
max_size=500.
memory_estimate_period=1000000
stop_mem_management=False
remove_poor_attrs=False
merit_preprune=True
)
n_models=10
subspace_size=0.6
training_method="patches"
lam=6
drift_detector=ADWIN (
delta=1e-05
)
warning_detector=ADWIN (
delta=0.0001
)
disable_detector="off"
disable_weighted_vote=True
drift_detection_criteria="error"
aggregation_method="mean"
seed=42
metric=MAE ()
)
)
[baseline] Mean predictor
StatisticRegressor (
statistic=Mean ()
)
k-Nearest Neighbors
Pipeline (
StandardScaler (
with_std=True
),
KNNRegressor (
n_neighbors=5
window_size=100
aggregation_method="mean"
min_distance_keep=0.
distance_func=functools.partial(<function minkowski_distance at 0x142cd2670>, p=2)
)
)