All Frameworks

01 Jubatus

A distributed processing framework and streaming machine learning library. Provides online learning algorithms for classification, regression, recommendation, and anomaly detection over distributed nodes.

02 Tornado

Designed and implemented for adaptive online learning and data stream mining in Python. Includes a wide range of incremental classifiers and concept drift detection methods.

03 River

The primary Python library for online machine learning — the result of merging Creme and scikit-multiflow. Supports classification, regression, clustering, anomaly detection, and feature extraction on data streams with exactly one pass per sample.

04 MOA (Massive Online Analysis)

The most popular open-source framework for data stream mining, with a very active growing community. Developed at the University of Waikato — includes a large collection of classification, regression, and clustering algorithms.

05 scikit-multiflow

A machine learning package for streaming data in Python — one of the two ancestor projects that merged to form River. The repository remains accessible for reference and legacy use.

06 streamDM

Open-source software for mining big data streams using Spark Streaming, developed at Huawei Noah's Ark Lab. Provides scalable stream classification, regression, and clustering on the Spark engine.

07 ExStream

A PyTorch implementation of the ExStream method — a memory-efficient experience replay algorithm for streaming learning. Published at ICRA 2019 for continual/lifelong learning in robotics and vision.

08 Deep SLDA

A PyTorch implementation of Deep Streaming Linear Discriminant Analysis (SLDA) — a continual learning algorithm that incrementally updates a shared linear classifier as new classes arrive in a stream.

09 REMIND

REplay using Memory INDexing — a PyTorch implementation of a streaming continual learning algorithm that compresses and replays past data using quantised feature vectors to prevent catastrophic forgetting.