cl-random-forest

2017-07-25

cl-random-forest

https://travis-ci.org/masatoi/cl-random-forest.svg?branch=master

A implementation of Random Forest with pure Common Lisp. It also includes a implementation of Global Refinement of Random Forest (Ren, Cao, Wei and Sun. "Global Refinement of Random Forest" CVPR2015).

Features and Limitations

  • Faster and more accurate than other major implementations such as scikit-learn (Python/Cython) or ranger (R/C++)
scikit-learn ranger cl-random-forest
MNIST 96.95%, 41.72sec 97.17%, 69.34sec 98.29%, 12.68sec
letter 96.38%, 2.569sec 96.42%, 1.828sec 97.32%, 3.497sec
covtype 94.89%, 263.7sec 83.95%, 139.0sec 96.01%, 103.9sec
usps 93,47%, 3.583sec 93.57%, 11.70sec 94.96%, 0.686sec
  • Supporting parallelization of training and prediction (SBCL Only)

  • It also includes Global Pruning algorithm of Random Forest which can make the model extremely compact

  • Currently, regression is not implemented and only classification is available

Installation

In quicklisp's local-projects directory,

git clone https://github.com/masatoi/cl-random-forest.git

In Lisp,

(ql:quickload :cl-random-forest)

When using Roswell,

ros install masatoi/cl-random-forest

Usage

See examples. The most basic example is in example/simple.lisp.

Author

Satoshi Imai (satoshi.imai@gmail.com)

Licence

This software is released under the MIT License, see LICENSE.txt.

Author
Satoshi Imai, NIL
License
MIT Licence