CapyMOA#
Machine learning library tailored for data streams. Featuring a Python API tightly integrated with MOA (Stream Learners), PyTorch (Neural Networks), and scikit-learn (Machine Learning). CapyMOA provides a fast python interface to leverage the state-of-the-art algorithms in the field of data streams.
To setup CapyMOA, simply install it via pip. If you have any issues with the installation (like not having Java installed) or if you want GPU support, please refer to the π Installation. Once installed take a look at the Tutorials to get started.
# CapyMOA requires Java. This checks if you have it installed
java -version
# CapyMOA requires PyTorch. This installs the CPU version
pip install torch torchvision --index-url https://download.pytorch.org/whl/cpu
# Install CapyMOA and its dependencies
pip install capymoa
# Check that the install worked
python -c "import capymoa; print(capymoa.__version__)"
Warning
CapyMOA is still in the early stages of development. The API is subject to change until version 1.0.0. If you encounter any issues, please report them on the GitHub Issues or talk to us on Discord.
Benchmark comparing CapyMOA against other data stream libraries. The benchmark
was performed using an ensemble of 100 ARF learners trained on
capymoa.datasets.RTG_2abrupt
dataset containing 100,000 samples and 30
features. You can find the code to reproduce this benchmark in
benchmarking.py.
CapyMOA has the speed of MOA with the flexibility of Python and the richness of
Pythonβs data science ecosystem.
π Installation#
Installation instructions for CapyMOA:
π Tutorials#
Tutorials to help you get started with CapyMOA.
- Tutorials
- 0. Getting started with CapyMOA
- 1. Evaluating supervised learners in CapyMOA
- 2. Using sklearn with CapyMOA
- 3. Using Pytorch with CapyMOA
- 4. Simulating Concept Drifts with the DriftStream API
- 5. Creating a new classifier in CapyMOA
- 6. Exploring Advanced Features
- Pipelines and Transformers
- 1. Running onlineBagging without any preprocessing
- 2. Transforming instances using pipelines
- 2. Online Bagging using pipelines and transformers
- 3. RegressorPipeline
- 4. Adding a drift detector to the pipeline
- 5. Pipelines within pipelines
- 8. Prediction Intervals for data streams
- 9. Automated Machine Learning
- Semi-supervised Learning
- Anomaly Detection
- Drift Detection in CapyMOA
- Parallel Ensembles
- Save and Load a Model
- Clustering tutorial
- Talks
π Reference Manual#
Reference documentation describing the interfaces fo specific classes, functions, and modules.
About us#
ποΈ Contributing#
This part of the documentation is for developers and contributors.