About Moa
MOA, short for Massive Online Analysis, is an open source Java framework for machine learning on data streams, developed at the University of Waikato and related to the WEKA project. It is built for settings where data arrives continuously and models must learn incrementally, and a book about it has been published by MIT Press.
It includes a collection of algorithms for stream classification, regression, clustering, outlier detection, concept drift and change detection, and recommender systems, along with tools for evaluating them. Its workflow has four steps: choose and configure a data stream, either a real feed or a synthetic generator, choose an algorithm and set its parameters, choose an evaluation method or measure, and run the task to obtain results. Users can work through a graphical interface or the command line, and developers can extend streams, algorithms and evaluation methods to test new approaches. The stated goal is a benchmark framework for repeatable experiments in data stream mining.
The project is aimed at researchers, students and engineers working with streaming data. Its team has also launched CapyMOA, a newer Python library for streaming machine learning that integrates with MOA, PyTorch and scikit learn. The software is downloaded from the project site, and no pricing is published.