Skip to content

A machine learning framework for multi-output/multi-label and stream data.

License

Notifications You must be signed in to change notification settings

kushvarma/scikit-multiflow

 
 

Repository files navigation

Build status Build Status codecov Python version Anaconda-Server Badge PyPI version Anaconda-Server Badge DockerHub License Gitter

A machine learning framework for multi-output/multi-label and stream data. Inspired by MOA and MEKA, following scikit-learn's philosophy.

matplotlib backend considerations

  • You may need to change your matplotlib backend, because not all backends work in all machines.
  • If this is the case you need to check matplotlib's configuration. In the matplotlibrc file you will need to change the line:
    backend     : Qt5Agg  
    
    to:
    backend     : another backend that works on your machine
    
  • The Qt5Agg backend should work with most machines, but a change may be needed.

Jupyter Notebooks

In order to display plots from scikit-multiflow within a Jupyter Notebook we need to define the proper mathplotlib backend to use. This is done via a magic command at the beginning of the Notebook:

%matplotlib notebook

JupyterLab is the next-generation user interface for Jupyter, currently in beta, it can display interactive plots with some caveats. If you use JupyterLab then the current solution is to use the jupyter-matplotlib extension:

%matplotlib widget

Citing scikit-multiflow

If you want to cite scikit-multiflow in a scientific publication, please use the following Bibtex entry:

@article{skmultiflow,
  author  = {Jacob Montiel and Jesse Read and Albert Bifet and Talel Abdessalem},
  title   = {Scikit-Multiflow: A Multi-output Streaming Framework },
  journal = {Journal of Machine Learning Research},
  year    = {2018},
  volume  = {19},
  number  = {72},
  pages   = {1-5},
  url     = {http://jmlr.org/papers/v19/18-251.html}
}

How to build and install scikit-multiflow

Follow CONTRIBUTING.md

Short summary:

  1. Use anaconda3 for development. Create a new environment with python 3 and switch to that environment. Here dm_arf is the environment.
conda create --name dm_arf python=3

conda activate dm_arf

  1. Pull this repo
git clone https://github.com/kushvarma/scikit-multiflow.git
  1. Install the dependencies
pip install -U numpy

Also Cython is required

pip install -U Cython
  1. Inside your cloned directory run
$ pip install -e .
  1. This will install dev version of scikit-multiflow from the souce code

  2. Make changes in the desired file and run pip install -e . to install the updated code.

About

A machine learning framework for multi-output/multi-label and stream data.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 98.9%
  • Other 1.1%