OnlineSmoothBoost#

class capymoa.classifier.OnlineSmoothBoost[source]#

Bases: MOAClassifier

OnlineSmoothBoost Classifier

Incremental on-line boosting with Theoretical Justifications of Shang-Tse Chen

Reference:

An Online Boosting Algorithm with Theoretical Justifications. Shang-Tse Chen, Hsuan-Tien Lin, Chi-Jen Lu. ICML, 2012.

Example usages:

>>> from capymoa.datasets import ElectricityTiny
>>> from capymoa.classifier import OnlineSmoothBoost
>>> from capymoa.evaluation import prequential_evaluation
>>> stream = ElectricityTiny()
>>> schema = stream.get_schema()
>>> learner = OnlineSmoothBoost(schema)
>>> results = prequential_evaluation(stream, learner, max_instances=1000)
>>> results["cumulative"].accuracy()
87.8
__init__(
schema: Schema | None = None,
random_seed: int = 0,
base_learner='trees.HoeffdingTree',
boosting_iterations: int = 100,
gamma=0.1,
)[source]#

OnlineSmoothBoost Classifier

Parameters:
  • schema – The schema of the stream.

  • random_seed – The random seed passed to the MOA learner.

  • base_learner – The base learner to be trained. Default trees.HoeffdingTree.

  • boosting_iterations – The number of boosting iterations (ensemble size).

  • gamma – The value of the gamma parameter.

CLI_help()[source]#
predict(instance)[source]#

Predict the label of an instance.

The base implementation calls predict_proba() and returns the label with the highest probability.

Parameters:

instance – The instance to predict the label for.

Returns:

The predicted label or None if the classifier is unable to make a prediction.

predict_proba(instance)[source]#

Return probability estimates for each label.

Parameters:

instance – The instance to estimate the probabilities for.

Returns:

An array of probabilities for each label or None if the classifier is unable to make a prediction.

train(instance)[source]#

Train the classifier with a labeled instance.

Parameters:

instance – The labeled instance to train the classifier with.

random_seed: int#

The random seed for reproducibility.

When implementing a classifier ensure random number generators are seeded.

schema: Schema#

The schema representing the instances.