/awesome-online-machine-learning

Online machine learning resources

Creative Commons Zero v1.0 UniversalCC0-1.0

Awesome Online Machine Learning

Online machine learning is a subset of machine learning where data arrives sequentially. In contrast to the more traditional batch learning, online learning methods update themselves incrementally with one data point at a time.

Courses and books

Blog posts

Software

Modelling

  • River — A Python library for general purpose online machine learning.
  • dask
  • Jubatus
  • Flink ML - Apache Flink machine learning library
  • LIBFFM — A Library for Field-aware Factorization Machines
  • LIBLINEAR — A Library for Large Linear Classification
  • LIBOL — A collection of online linear models trained with first and second order gradient descent methods. Not maintained.
  • MOA
  • scikit-learnSome of scikit-learn's estimators can handle incremental updates, although this is usually intended for mini-batch learning. See also the "Computing with scikit-learn" page.
  • Spark Streaming — Doesn't do online learning per say, but instead mini-batches the data into fixed intervals of time.
  • SofiaML
  • StreamDM — A machine learning library on top of Spark Streaming.
  • Tornado
  • VFML
  • Vowpal Wabbit

Deployment

Papers

Linear models

Support vector machines

Neural networks

Decision trees

Unsupervised learning

Time series

Drift detection

Anomaly detection

Metric learning

Graph theory

Ensemble models

Expert learning

Miscellaneous

Surveys

General-purpose algorithms

Hyperparameter tuning