Skip to content
simple customizable scoring systems in python
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.


Type Name Latest commit message Commit time
Failed to load latest commit information.

slim-python is a package to learn customized scoring systems for decision-making problems.

These are simple decision aids that let users make yes-no predictions by adding and subtracting a few small numbers. SLIM scoring system for the mushrooms dataset

SLIM is designed to learn the most accurate scoring system for a given dataset and set of constraints. These models are produced by solving a hard optimization problem that directly optimizes for accuracy, sparsity, and customized constraints (e.g., hard limits on model size, TPR, FPR).


slim-python was developed using Python 2.7.11 and CPLEX 12.6.2.


CPLEX is cross-platform commercial optimization tool with a Pytho API. 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.


If you use SLIM for academic research, please cite our paper!

    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 = {},
    publisher = { Springer US},
    author = {Ustun, Berk and Rudin, Cynthia},
    pages = {1-43},
    language = {English}
You can’t perform that action at this time.