Large-scale sparse linear classification and regression in Python/Cython.
lightning follows the scikit-learn API conventions.
The required dependencies to build the software are Python >= 2.6, setuptools, Numpy >= 1.3, SciPy >= 0.7, scikit-learn (git version), Cython >= 0.15.1 and a working C/C++ compiler.
To run the tests you will also need nose >= 0.10.
First run:
make cython
Then to install in your home directory, use:
python setup.py install --home
To install for all users on Unix/Linux:
python setup.py build
sudo python setup.py install
Classification:
- CDClassifier Learning linear classifiers by coordinate descent in the primal. Supports different losses and penalties.
- SGDClassifier Learning linear classifiers by stochastic (sub)gradient descent. Supports different losses and penalties.
- LinearSVC Learning linear SVM by coordinate descent in the dual. Supports optimizing for accuracy or AUC.
- KernelSVC Learning kernel SVM by Newton's method in the primal. Nice if kernel matrix fits is memory.
Regression:
- CDRegressor Learning linear regressors by coordinate descent in the primal. Supports different losses and penalties.
- SGDRegressor Learning linear regressors by stochastic (sub)gradient descent. Supports different losses and penalties.
If you used lightning in your research, please consider citing the following paper:
Mathieu Blondel, Kazuhiro Seki, and Kuniaki Uehara.
Machine Learning, May 2013.
For more information, see http://www.mblondel.org/code/mlj2013/