Model Interpretability via Hierarchical Feature Perturbation

## mihifepe

### Overview

mihifepe, or Model Interpretability via Hierarchical Feature Perturbation, is a library implementing a model-agnostic method that, given a learned model and a hierarchy over features, (i) tests feature groups, in addition to base features, and tries to determine the level of resolution at which important features can be determined, (ii) uses hypothesis testing to rigorously assess the effect of each feature on the model’s loss, (iii) employs a hierarchical approach to control the false discovery rate when testing feature groups and individual base features for importance, and (iv) uses hypothesis testing to identify important interactions among features and feature groups. mihifepe is based on the following paper:

Lee, Kyubin, Akshay Sood, and Mark Craven. 2019. “Understanding Learned Models by Identifying Important Features at the Right Resolution.” In Proceedings of the AAAI Conference on Artificial Intelligence, 33:4155–63. https://doi.org/10.1609/aaai.v33i01.33014155.

### Installation

Recommended installation method is via virtual environments and pip. In addition, you also need graphviz installed on your system.

When making the virtual environment, specify python3 as the python executable (python3 version must be 3.5+):

mkvirtualenv -p python3 mihifepe_env


To install the latest stable release:

pip install mihifepe


Or to install the latest development version from GitHub:

pip install git+https://github.com/Craven-Biostat-Lab/mihifepe.git@master#egg=mihifepe


On Ubuntu, graphviz may be installed by:

sudo apt-get install graphviz


mihifepe is free, open source software, released under the MIT license. See LICENSE for details.

Akshay Sood

## Changelog

### 0.2.1 (2019-12-29)

• Package sub-modules
• Fix Travis auto-deployment to PyPI

### 0.2.0 (2019-12-27)

• Regression tests - serial and distributed (condor)
• Sympy to manage simulated model
• Pairwise interaction analysis
• Corrected adjusted p-values for non-rejected nodes
• Various minor fixes and documentation updates

### 0.1.1 (2018-09-14)

• First release on PyPI

## Project details

Uploaded source
Uploaded py2 py3