slim-python
is a package to create scoring systems using the CPLEX Optimization Studio.
SLIM is new machine learning method to learn scoring systems -- binary classification models that let users make quick predictions by adding, subtracting and multiplying a few small numbers:
SLIM can learn models that are fully optimized for accuracy and sparsity, and that satisfy difficult constraints without parameter tuning (e.g. hard limits on model size, the true positive rate, the false positive rate).
slim-python
was developed using Python 2.7.11 and CPLEX 12.6.2. It may work with other versions of Python and/or CPLEX, but this has not been tested and will not be supported in future releases.
CPLEX is cross-platform commercial optimization tool that can be called from Python. It is freely available to students and faculty members at accredited institutions as part of the IBM Academic Initiative. To get CPLEX:
- Join the IBM Academic Initiative. Note that it may take up to a week to obtain approval.
- Download IBM ILOG CPLEX Optimization Studio V12.6.1 (or higher) from the software catalog
- Install the file on your computer. Note mac/unix users will need to install a .bin file.
- Setup the CPLEX Python modules as described here here.
Please check the CPLEX user manual or the CPLEX forums if you have problems installing CPLEX.
If you use SLIM for academic research, please cite our paper!
@article{
ustun2015slim,
year = {2015},
issn = {0885-6125},
journal = {Machine Learning},
doi = {10.1007/s10994-015-5528-6},
title = {Supersparse linear integer models for optimized medical scoring systems},
url = {http://dx.doi.org/10.1007/s10994-015-5528-6},
publisher = { Springer US},
author = {Ustun, Berk and Rudin, Cynthia},
pages = {1-43},
language = {English}
}