jmrozanec / ml-rapids

Fast implementation of incremental learning methods (C++), which are exposed in Python and NodeJS.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ml-rapids: Incremental learning written in C++ exposed in Python

ml-rapids implements incremental learning methods in C++ and exposes them via SWIG in Python. Installation can be achieved simply with pip install ml_rapids. You can test your installation with running Python:

# testing ml-rapids
import ml_rapids
ml_rapids.test()

Further documentation is available here:

Implemented incremental learning methods

  • Classification
    • Majority Class
    • Naive Bayes
    • Logistic Regression
    • Perceptron
    • VFDT (Very Fast Decision Trees) aka Hoeffding Trees
    • HAT (Hoeffding Adaptive Trees)
    • Bagging
  • Regression
    • /

All the methods implement sklearn incremantal learner interface (includes fit, partial_fit and predict methods).

Future plans

Streaming random forest on top of Hoeffding trees will be implemented. The library will be exposed via also via npm packages.

Development

Development notes can be read here.

Python deployment notes can be read here.

Acknowledgements

ml-rapids is developed by AILab at Jozef Stefan Institute.

This repository is based strongly on streamDM-cpp.

Project has received funding from European Union's Horizon 2020 Research and Innovation Programme under the Grant Agreement 776115 (PerceptiveSentinel).

About

Fast implementation of incremental learning methods (C++), which are exposed in Python and NodeJS.

License:GNU General Public License v3.0


Languages

Language:C++ 80.6%Language:C 15.9%Language:Python 2.7%Language:SWIG 0.5%Language:Makefile 0.3%