Classifiers
In addition, the stream-learn
library also implements a simple single
classifier model implementing the partial_fit()
method and a Meta estimator
adapted to be used with some of the ensemble methods found in the ensembles
module. Those two models can be found in the classifiers
module.
Accumulated Samples Classifier
The AccumulatedSamplesClassifier
class takes the base classifier as a
base_clf
parameter during initialization and extends the given model with
the partial_fit()
function adapted for data streams classification.
This function concatenates observed data chunks, and in each step fits
the model on all samples encountered so far.
Example
from strlearn.evaluators import TestThenTrain
from strlearn.streams import StreamGenerator
from strlearn.classifiers import AccumulatedSamplesClassifier
from sklearn.naive_bayes import GaussianNB
stream = StreamGenerator()
clf = AccumulatedSamplesClassifier(base_clf=GaussianNB())
evaluator = TestThenTrain()
evaluator.process(stream, clf)
print(evaluator.scores)
Sample-Weighted Meta Estimator
The SampleWeightedMetaEstimator
class implements a meta estimator designed
to allow the use of a wider range of classification models as base classifiers
in ensemble methods based on online bagging. It extends the partial_fit()
method of a given model by an additional sample_weight
parameter which
allows for using classifiers such as MLPClassifier
from scikit-learn
package as base models for OnlineBagging
, OOB
and UOB
from
ensembles
module.
Example
from strlearn.evaluators import TestThenTrain
from strlearn.streams import StreamGenerator
from strlearn.classifiers import SampleWeightedMetaEstimator
from strlearn.ensembles import OOB
from sklearn.neural_network import MLPClassifier
stream = StreamGenerator(n_chunks=10)
base = SampleWeightedMetaEstimator(base_classifier=MLPClassifier())
clf = OOB(base_estimator=base, n_estimators=2)
evaluator = TestThenTrain()
evaluator.process(stream, clf)
print(evaluator.scores)