An open API service indexing awesome lists of open source software.

https://github.com/ayrna/decision-trees-from-scratch

From scratch decision tree algorithm implementation in python. Providing an sklearn compatible interface and novel ordinal regression splitting criteria.
https://github.com/ayrna/decision-trees-from-scratch

Last synced: 3 months ago
JSON representation

From scratch decision tree algorithm implementation in python. Providing an sklearn compatible interface and novel ordinal regression splitting criteria.

Awesome Lists containing this project

README

        

# :deciduous_tree: Welcome to `decision-trees-from-scratch`

This framework provides a from scratch sklearn-based implementation of the CART algorithm for classification. Our implementation introduces notable differences compared to the existing sklearn [DecisionTreeClassifier](https://scikit-learn.org/stable/modules/generated/sklearn.tree.DecisionTreeClassifier.html "DecisionTreeClassifier"):

* :rocket: It is **fully developed in python**. This enables researchers to easily tweak the algorithm and experiment with it for research purposes.

* :rocket: Includes current **state-of-the-art splitting criteria for ordinal regression** tasks, such as Ordinal Gini or Weighted Entropy.

:sparkles: Despite being developed from scratch, our implementation achieves **same accuracy results as scikit-learn implementation**.

# ⚙️ Installation

`decision-trees-from-scratch` requires a Python version of 3.9 or greater. Follow the next step for installation:

1. Download or clone the repository
2. On the root folder, run: `pip install .` We recommend to use the `--editable` argument to be able to modify the package on spot.

# 📚 Citation
If you enjoyed this framework, we would appretiate a citation for the following work:

```bibtex
@misc{ayllóngavilán2024splittingcriteriaordinaldecision,
title={Splitting criteria for ordinal decision trees: an experimental study},
author={Rafael Ayllón-Gavilán and Francisco José Martínez-Estudillo and David Guijo-Rubio and César Hervás-Martínez and Pedro Antonio Gutiérrez},
year={2024},
eprint={2412.13697},
archivePrefix={arXiv},
primaryClass={cs.LG},
url={https://arxiv.org/abs/2412.13697},
}
```