Interpretable multiclass classification by MDL-based rule lists

Hugo M. Proença, Matthijs van Leeuwen
5/1/2019
cs.LGcs.AIstat.ML

Official code: HMProenca/RuleList (16 stars, MIT, last commit 2026-02-06).

Abstract

Interpretable classifiers have recently witnessed an increase in attention from the data mining community because they are inherently easier to understand and explain than their more complex counterparts. Examples of interpretable classification models include decision trees, rule sets, and rule lists. Learning such models often involves optimizing hyperparameters, which typically requires substantial amounts of data and may result in relatively large models. In this paper, we consider the problem of learning compact yet accurate probabilistic rule lists for multiclass classification. Specifically, we propose a novel formalization based on probabilistic rule lists and the minimum description length (MDL) principle. This results in virtually parameter-free model selection that naturally allows to trade-off model complexity with goodness of fit, by which overfitting and the need for hyperparameter tuning are effectively avoided. Finally, we introduce the Classy algorithm, which greedily finds rule lists according to the proposed criterion. We empirically demonstrate that Classy selects small probabilistic rule lists that outperform state-of-the-art classifiers when it comes to the combination of predictive performance and interpretability. We show that Classy is insensitive to its only parameter, i.e., the candidate set, and that compression on the training set correlates with classification performance, validating our MDL-based selection criterion.

View on arXivView PDF

Code Implementations(1)

HMProenca/RuleListOfficial100%
MIT
163PythonOct 26, 20208 months agoMIT

Cite this paper

@article{proena2019interpretable,
  title  = {Interpretable multiclass classification by MDL-based rule lists},
  author = {Hugo M. Proença and Matthijs van Leeuwen},
  year   = {2019},
  eprint = {1905.00328},
  archivePrefix = {arXiv},
  url    = {https://arxiv.org/abs/1905.00328}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/1905.00328.svg)](https://codeofpaper.com/paper/1905.00328)

Discussion