Ensembles module

AUE([base_estimator, n_estimators, ...])

Accuracy Updated Ensemble

AWE([base_estimator, n_estimators, n_splits])

Accuracy Weighted Ensemble

DWM([base_estimator, beta, theta, p, ...])

KMC([base_estimator, n_estimators])

Wang, Yi, Yang Zhang, and Yong Wang. "Mining data streams

LearnppCDS([base_estimator, n_estimators, ...])

Ditzler, Gregory, and Robi Polikar.

LearnppNIE([base_estimator, n_estimators, ...])

Ditzler, Gregory, and Robi Polikar.

OnlineBagging([base_estimator, n_estimators])

Online Bagging.

OOB([base_estimator, n_estimators, ...])

Oversamping-Based Online Bagging.

OUSE([base_estimator, n_estimators, n_chunks])

Gao, Jing, et al. "Classifying Data Streams with Skewed Class Distributions and Concept Drifts." IEEE Internet Computing 12.6 (2008): 37-49.

REA([base_estimator, n_estimators, ...])

Recursive Ensemble Approach.

SEA([base_estimator, n_estimators, metric])

Streaming Ensemble Algorithm.

UOB([base_estimator, n_estimators, ...])

Undersampling-Based Online Bagging.

WAE([base_estimator, n_estimators, theta, ...])

Weighted Aging Ensemble.

class strlearn.ensembles.AUE(base_estimator=None, n_estimators=10, n_splits=5, epsilon=1e-10)

Bases: sklearn.base.ClassifierMixin, sklearn.ensemble._base.BaseEnsemble

Accuracy Updated Ensemble

ensemble_support_matrix(X)

Ensemble support matrix.

fit(X, y)

Fitting.

partial_fit(X, y, classes=None)

Partial fitting.

predict(X)

Predict classes for X.

Parameters

X (array-like, shape (n_samples, n_features)) – The training input samples.

Return type

array-like, shape (n_samples, )

Returns

The predicted classes.

class strlearn.ensembles.AWE(base_estimator=None, n_estimators=10, n_splits=5)

Bases: sklearn.base.ClassifierMixin, sklearn.ensemble._base.BaseEnsemble

Accuracy Weighted Ensemble

ensemble_support_matrix(X)

Ensemble support matrix.

fit(X, y)

Fitting.

partial_fit(X, y, classes=None)

Partial fitting.

predict(X)

Predict classes for X.

Parameters

X (array-like, shape (n_samples, n_features)) – The training input samples.

Return type

array-like, shape (n_samples, )

Returns

The predicted classes.

class strlearn.ensembles.DWM(base_estimator=None, beta=0.5, theta=0.01, p=1, weighted_support=False)

Bases: sklearn.base.ClassifierMixin, sklearn.ensemble._base.BaseEnsemble

ensemble_support_matrix(X)

Ensemble support matrix.

fit(X, y)

Fitting.

partial_fit(X, y, classes=None)

Partial fitting.

predict(X)

Predict classes for X.

Parameters

X (array-like, shape (n_samples, n_features)) – The training input samples.

Return type

array-like, shape (n_samples, )

Returns

The predicted classes.

class strlearn.ensembles.KMC(base_estimator=None, n_estimators=10)

Bases: sklearn.base.ClassifierMixin, sklearn.ensemble._base.BaseEnsemble

Wang, Yi, Yang Zhang, and Yong Wang. “Mining data streams

with skewed distribution by static classifier ensemble.” Opportunities and Challenges for Next-Generation Applied Intelligence. Springer, Berlin, Heidelberg, 2009. 65-71.

ensemble_support_matrix(X)

Ensemble support matrix.

fit(X, y)

Fitting.

minority_majority_name(y)

Returns minority and majority data

Parameters

y (array-like, shape (n_samples)) – The target values.

Return type

tuple (object, object)

Returns

Tuple of minority and majority class names.

minority_majority_split(X, y, minority_name, majority_name)

Returns minority and majority data

Parameters
  • X (array-like, shape (n_samples, n_features)) – The training input samples.

  • y (array-like, shape (n_samples)) – The target values.

Return type

tuple (array-like, shape = [n_samples, n_features], array-like, shape = [n_samples, n_features])

Returns

Tuple of minority and majority class samples

partial_fit(X, y, classes=None)

Partial fitting.

predict(X)

Predict classes for X.

Parameters

X (array-like, shape (n_samples, n_features)) – The training input samples.

Return type

array-like, shape (n_samples, )

Returns

The predicted classes.

class strlearn.ensembles.LearnppCDS(base_estimator=None, n_estimators=10, param_a=2, param_b=2)

Bases: sklearn.base.ClassifierMixin, sklearn.ensemble._base.BaseEnsemble

Ditzler, Gregory, and Robi Polikar. “Incremental learning of concept drift from streaming imbalanced data.” IEEE Transactions on Knowledge and Data Engineering 25.10 (2013): 2283-2301.

ensemble_support_matrix(X)

Ensemble support matrix.

fit(X, y)

Fitting.

minority_majority_name(y)

Returns minority and majority data

Parameters

y (array-like, shape (n_samples)) – The target values.

Return type

tuple (object, object)

Returns

Tuple of minority and majority class names.

minority_majority_split(X, y, minority_name, majority_name)

Returns minority and majority data

Parameters
  • X (array-like, shape (n_samples, n_features)) – The training input samples.

  • y (array-like, shape (n_samples)) – The target values.

Return type

tuple (array-like, shape = [n_samples, n_features], array-like, shape = [n_samples, n_features])

Returns

Tuple of minority and majority class samples

partial_fit(X, y, classes=None)

Partial fitting.

predict(X)

Predict classes for X.

Parameters

X (array-like, shape (n_samples, n_features)) – The training input samples.

Return type

array-like, shape (n_samples, )

Returns

The predicted classes.

class strlearn.ensembles.LearnppNIE(base_estimator=None, n_estimators=5, param_a=1, param_b=1)

Bases: sklearn.base.ClassifierMixin, sklearn.ensemble._base.BaseEnsemble

Ditzler, Gregory, and Robi Polikar. “Incremental learning of concept drift from streaming imbalanced data.” IEEE Transactions on Knowledge and Data Engineering 25.10 (2013): 2283-2301.

ensemble_support_matrix(X)

Ensemble support matrix.

fit(X, y)

Fitting.

minority_majority_name(y)

Returns minority and majority data

Parameters

y (array-like, shape (n_samples)) – The target values.

Return type

tuple (object, object)

Returns

Tuple of minority and majority class names.

minority_majority_split(X, y, minority_name, majority_name)

Returns minority and majority data

Parameters
  • X (array-like, shape (n_samples, n_features)) – The training input samples.

  • y (array-like, shape (n_samples)) – The target values.

Return type

tuple (array-like, shape = [n_samples, n_features], array-like, shape = [n_samples, n_features])

Returns

Tuple of minority and majority class samples

partial_fit(X, y, classes=None)

Partial fitting.

predict(X)

Predict classes for X.

Parameters

X (array-like, shape (n_samples, n_features)) – The training input samples.

Return type

array-like, shape (n_samples, )

Returns

The predicted classes.

class strlearn.ensembles.OOB(base_estimator=None, n_estimators=5, time_decay_factor=0.9)

Bases: sklearn.ensemble._base.BaseEnsemble, sklearn.base.ClassifierMixin

Oversamping-Based Online Bagging.

ensemble_support_matrix(X)

Ensemble support matrix.

fit(X, y)

Fitting.

partial_fit(X, y, classes=None)

Partial fitting.

predict(X)

Predict classes for X.

Parameters

X (array-like, shape (n_samples, n_features)) – The training input samples.

Return type

array-like, shape (n_samples, )

Returns

The predicted classes.

class strlearn.ensembles.OUSE(base_estimator=None, n_estimators=10, n_chunks=10)

Bases: sklearn.base.ClassifierMixin, sklearn.ensemble._base.BaseEnsemble

Gao, Jing, et al. “Classifying Data Streams with Skewed Class Distributions and Concept Drifts.” IEEE Internet Computing 12.6 (2008): 37-49.

ensemble_support_matrix(X)

Ensemble support matrix.

fit(X, y)

Fitting.

minority_majority_name(y)

Returns minority and majority data

Parameters

y (array-like, shape (n_samples)) – The target values.

Return type

tuple (object, object)

Returns

Tuple of minority and majority class names.

minority_majority_split(X, y, minority_name, majority_name)

Returns minority and majority data

Parameters
  • X (array-like, shape (n_samples, n_features)) – The training input samples.

  • y (array-like, shape (n_samples)) – The target values.

Return type

tuple (array-like, shape = [n_samples, n_features], array-like, shape = [n_samples, n_features])

Returns

Tuple of minority and majority class samples

partial_fit(X, y, classes=None)

Partial fitting.

predict(X)

Predict classes for X.

Parameters

X (array-like, shape (n_samples, n_features)) – The training input samples.

Return type

array-like, shape (n_samples, )

Returns

The predicted classes.

class strlearn.ensembles.OnlineBagging(base_estimator=None, n_estimators=10)

Bases: sklearn.ensemble._base.BaseEnsemble, sklearn.base.ClassifierMixin

Online Bagging.

ensemble_support_matrix(X)

Ensemble support matrix.

fit(X, y)

Fitting.

partial_fit(X, y, classes=None)

Partial fitting.

predict(X)

Predict classes for X.

Parameters

X (array-like, shape (n_samples, n_features)) – The training input samples.

Return type

array-like, shape (n_samples, )

Returns

The predicted classes.

class strlearn.ensembles.REA(base_estimator=None, n_estimators=10, post_balance_ratio=0.5, k_parameter=10, weighted_support=True)

Bases: sklearn.base.ClassifierMixin, sklearn.ensemble._base.BaseEnsemble

Recursive Ensemble Approach.

Sheng Chen, and Haibo He. “Towards incremental learning of nonstationary imbalanced data stream: a multiple selectively recursive approach.” Evolving Systems 2.1 (2011): 35-50.

ensemble_support_matrix(X)

Ensemble support matrix.

fit(X, y)

Fitting.

minority_majority_name(y)

Returns minority and majority data

Parameters

y (array-like, shape (n_samples)) – The target values.

Return type

tuple (object, object)

Returns

Tuple of minority and majority class names.

minority_majority_split(X, y, minority_name, majority_name)

Returns minority and majority data

Parameters
  • X (array-like, shape (n_samples, n_features)) – The training input samples.

  • y (array-like, shape (n_samples)) – The target values.

Return type

tuple (array-like, shape = [n_samples, n_features], array-like, shape = [n_samples, n_features])

Returns

Tuple of minority and majority class samples

partial_fit(X, y, classes=None)

Partial fitting.

predict(X)

Predict classes for X.

Parameters

X (array-like, shape (n_samples, n_features)) – The training input samples.

Return type

array-like, shape (n_samples, )

Returns

The predicted classes.

class strlearn.ensembles.SEA(base_estimator=None, n_estimators=10, metric=<function accuracy_score>)

Bases: sklearn.base.ClassifierMixin, sklearn.ensemble._base.BaseEnsemble

Streaming Ensemble Algorithm.

Ensemble classifier composed of estimators trained on the fixed number of previously seen data chunks, prunning the worst one in the pool.

Parameters
  • n_estimators (integer, optional (default=10)) – The maximum number of estimators trained using consecutive data chunks and maintained in the ensemble.

  • metric (function, optional (default=accuracy_score)) – The metric used to prune the worst classifier in the pool.

Variables
  • ensemble (list of classifiers) – The collection of fitted sub-estimators.

  • classes (array-like, shape (n_classes, )) – The class labels.

Example

>>> import strlearn as sl
>>> stream = sl.streams.StreamGenerator()
>>> clf = sl.ensembles.SEA()
>>> evaluator = sl.evaluators.TestThenTrainEvaluator()
>>> evaluator.process(clf, stream)
>>> print(evaluator.scores_)
...
[[0.92       0.91879699 0.91848191 0.91879699 0.92523364]
[0.945      0.94648779 0.94624912 0.94648779 0.94240838]
[0.925      0.92364329 0.92360881 0.92364329 0.91017964]
...
[0.925      0.92427885 0.924103   0.92427885 0.92890995]
[0.89       0.89016179 0.89015879 0.89016179 0.88297872]
[0.935      0.93569212 0.93540766 0.93569212 0.93467337]]
ensemble_support_matrix(X)

Ensemble support matrix.

fit(X, y)

Fitting.

partial_fit(X, y, classes=None)

Partial fitting.

predict(X)

Predict classes for X.

Parameters

X (array-like, shape (n_samples, n_features)) – The training input samples.

Return type

array-like, shape (n_samples, )

Returns

The predicted classes.

class strlearn.ensembles.UOB(base_estimator=None, n_estimators=5, time_decay_factor=0.9)

Bases: sklearn.ensemble._base.BaseEnsemble, sklearn.base.ClassifierMixin

Undersampling-Based Online Bagging.

ensemble_support_matrix(X)

Ensemble support matrix.

fit(X, y)

Fitting.

partial_fit(X, y, classes=None)

Partial fitting.

predict(X)

Predict classes for X.

Parameters

X (array-like, shape (n_samples, n_features)) – The training input samples.

Return type

array-like, shape (n_samples, )

Returns

The predicted classes.

class strlearn.ensembles.WAE(base_estimator=None, n_estimators=10, theta=0.1, post_pruning=False, pruning_criterion='accuracy', weight_calculation_method='kuncheva', aging_method='weights_proportional', rejuvenation_power=0.0)

Bases: sklearn.ensemble._base.BaseEnsemble, sklearn.base.ClassifierMixin

Weighted Aging Ensemble.

ensemble_support_matrix(X)

ESM.

fit(X, y)

Fitting.

partial_fit(X, y, classes=None)

Partial fitting.

predict(X)

Predict classes for X.

Parameters

X (array-like, shape (n_samples, n_features)) – The training input samples.

Return type

array-like, shape (n_samples, )

Returns

The predicted classes.

predict_proba(X)

Aposteriori probabilities.