Skip to content

nathanwang000/credible_learning

Repository files navigation

README

Code for paper Learning Credible Models (presented at KDD 2018). The idea is extended to image input in Learning Concept Credible Models for Mitigating Shortcuts (presented at NeuRIPS 2022, link to code)

In many settings, it is important that a model be capable of providing reasons for its predictions (i.e., the model must be interpretable). However, the model’s reasoning may not conform with well-established knowledge. In such cases, while interpretable, the model lacks credibility. In this work, we formally define credibility in the linear setting and focus on techniques for learning models that are both accurate and credible. In particular, we propose a regularization penalty, expert yielded estimates (EYE), that incorporates expert knowledge about well-known relationships among covariates and the outcome of interest. We give both theoretical and empirical results comparing our proposed method to several other regularization techniques. Across a range of settings, experiments on both synthetic and real data show that models learned using the EYE penalty are significantly more credible than those learned using other penalties. Applied to two large-scale patient risk stratification task, our proposed technique results in a model whose top features overlap significantly with known clinical risk factors, while still achieving good predictive performance.

Implementation of the EYE penalty can be found in lib/regularization.py. The synthetic data is generated via code in synthetic_data_generation.py.

MIMIC2 dataset result is attained by running:

bash run.sh
python eval_MIMIC2.py

We provide a small example of using this package, please look through code in example.py.

Install dependencies with

pipenv install

One can load the trained final model by

torch.load("models/test*.pt") # replace * with the actual model name

About

Code for Learning Credible Models

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages