scikit-tree
scikit-tree extends the Cython implementation of a decision tree learner from scikit-learn
.
The general rationale is as follows:
scikit-learn
’s codebase is fast and heavily tested. Relying on their implementation of a tree data structures makes it easier to extend to new methods without worrying about edge cases in the tree code.Cython offers a nice tradeoff between high-level code (readability, maintainability, syntactic sugar, etc…) and low-level code (direct memory access / management, GIL release, etc…)
The initial version of this project is just an extraction of the scikit-learn
tree code into a minimum-viable python library. As a result, the build system largely follows that of the scikit-learn-contrib project template rather than the scikit-learn
build infrastructure.