/pydl8.5

An algorithm for learning optimal decision trees, with Python interface

Primary LanguageC++MIT LicenseMIT

Travis CircleCI ReadTheDocs Codecov

Authors:Gaël Aglin, Siegfried Nijssen, Pierre Schaus

Relevant paper : [DL852020] [PYDL852020]

The PYDL8.5 library is an enhancement of DL8.5. The name has changed because the library no longer contains only the implementation of the DL8.5 algorithm, although the additional features are still built around DL8.5. Therefore the name of the library has changed and you need to install the correct version from PyPI to benefit from the new features. Please read the relevant articles referenced below to learn about the additional features. The documentation will help you get started with PyDL8.5.

This project implements an algorithm for inferring optimal binary decision trees. It is scikit-learn compatible and can be used in combination with scikit-learn. As a scikit-learn classifier, it implements the methods "fit" and "predict".

This tool can be installed in two ways:

  • download the source from github and install using the command python3 setup.py install in the root folder
  • install from pip by using the command pip install pydl8.5 in the console

Disclaimer: The compilation of the project has been tested with C++ compilers on the Linux and MacOS operating systems; Windows is not yet supported.

[DL852020]Aglin, G., Nijssen, S., Schaus, P. Learning optimal decision trees using caching branch-and-bound search. In AAAI. 2020.
[PYDL852020]Aglin, G., Nijssen, S., Schaus, P. PyDL8.5: a Library for Learning Optimal Decision Trees., In IJCAI. 2020.