/scikit-multiflow

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

Primary LanguagePythonBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

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

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}
}