Skip to content

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

Notifications You must be signed in to change notification settings

ayrna/decision-trees-from-scratch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🌳 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:

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

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

✨ 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:

@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}, 
}

About

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

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages