Skip to content

Mixture of Decision Trees for Interpretable Machine Learning

Notifications You must be signed in to change notification settings

simsal0r/mixture-of-decision-trees

Repository files navigation

MoDT: Mixture of Decision Trees

An interpretable DT ensemble method based on the Mixture of Experts architecture. The implementation is inspired by a similar approach called Mixture of Expert Trees: https://arxiv.org/abs/1906.06717 .

The main class can be found in modt/modt.py. For a simplistic application execute run_modt.py, more advanced notebooks can be found in the examples folder. Installation instructions are given below.

The Expectation-Maximization (EM) training algorithm iteratively optimizes a set of decision trees and associated regions:

Decision area of the final gating function:

Resulting decision trees:

DT0 red region DT1 green region DT2 blue region

A more sophisticated example

MoDT is used with the steel plates faults dataset: https://archive.ics.uci.edu/ml/datasets/Steel+Plates+Faults

The DT visualizations are created with dtreeviz: https://github.com/parrt/dtreeviz

DT 0 (red):

DT 1 (green):

DT 2 (blue):

Setup

Minimally, to run run_modt.py, the packages in requirments_minimal.txt must be installed.

pip install -r requirements_minimal.txt

For optional functionalities, and to run the example notebooks, use requirements_maximal.txt.

pip install -r requirements_maximal.txt

The packages dtreeviz and celluloid require additional codices. Optimal Decision Trees is a commercial software from Interpretable AI.