Skip to content

Optimized scoring systems for classification problems in Python

License

Notifications You must be signed in to change notification settings

ailnlv/slim-python

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

slim-python is a package to create scoring systems using the CPLEX Optimization Studio.

Introduction

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 scoring system for the mushrooms dataset

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).

Requirements

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

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:

  1. Join the IBM Academic Initiative. Note that it may take up to a week to obtain approval.
  2. Download IBM ILOG CPLEX Optimization Studio V12.6.1 (or higher) from the software catalog
  3. Install the file on your computer. Note mac/unix users will need to install a .bin file.
  4. 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.

Citation

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

About

Optimized scoring systems for classification problems in Python

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%