scikit-obliquetree
Introduction
The oblique decision tree is a popular choice in the machine learning domain for improving the performance of traditional decision tree algorithms. In contrast to the traditional decision tree, which uses an axis-parallel split point to determine whether a data point should be assigned to the left or right branch of a decision tree, the oblique decision tree uses a hyper-plane based on all data point features.
Numerous works in the machine learning domain have shown that oblique decision trees can achieve exceptional performance in a wide range of domains. However, there is still a lack of a package that has implemented oblique decision tree algorithms, which stymies the development of this domain. As a result, the goal of this project is to solve this problem by implementing some well-known algorithms in this domain. We hope that by doing so, these algorithms will serve as a baseline for machine learning practitioners to compare newly designed algorithms to existing algorithms.
🚀 Features
- A simple scikit-learn interface for oblique decision tree algorithms
- A general gradient boosting estimator that can be used to improve arbitrary base estimators
Installation
pip install -U scikit-obliquetree
or install with Poetry
poetry add scikit-obliquetree
Then you can run
scikit-obliquetree --help
scikit-obliquetree --name Roman
or if installed with Poetry:
poetry run scikit-obliquetree --help
poetry run scikit-obliquetree --name Roman
Example
Example of usage:
from sklearn.datasets import load_boston
from sklearn.ensemble import BaggingRegressor
from sklearn.model_selection import cross_val_score
from scikit_obliquetree.HHCART import HouseHolderCART
from scikit_obliquetree.segmentor import MSE, MeanSegmentor
X, y = load_boston(return_X_y=True)
reg = BaggingRegressor(
HouseHolderCART(MSE(), MeanSegmentor(), max_depth=3),
n_estimators=100,
n_jobs=-1,
)
print('CV Score', cross_val_score(reg, X, y))
🛡 License
This project is licensed under the terms of the Apache Software License 2.0 license. See LICENSE for more details.
📃 Citation
@misc{scikit-obliquetree,
author = {ECNU},
title = {Oblique Decision Tree in Python},
year = {2021},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = {\url{https://github.com/zhenlingcn/scikit-obliquetree}}
}
Credits
This project was generated with python-package-template.
Metadata
Release files for scikit-obliquetree 0.1.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| scikit-obliquetree-0.1.4.tar.gz | 19.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| scikit_obliquetree-0.1.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 40.4 kB
Release files / scikit-obliquetree-0.1.4.tar.gz
| Download URL | scikit-obliquetree-0.1.4.tar.gz |
|---|---|
| Size | 19.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b4cb6747374a252274941e27865417739c6dfe5144433a0f45fdb3721667d97e
|
|
BLAKE2b-256 checksum How to use checksums |
aa8d7aa61ffe25b7e66e5a5026509e22e63b238aa5bf26e1695e970daac19af3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.1.6 CPython/3.8.2 Linux/5.4.72-microsoft-standard-WSL2
|
Release files / scikit_obliquetree-0.1.4-py3-none-any.whl
| Download URL | scikit_obliquetree-0.1.4-py3-none-any.whl |
|---|---|
| Size | 20.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c84adfa1619d01ba9172c0f88f20c3c98dfb499b63f9e11e3f3af9d6f1bd79d3
|
|
BLAKE2b-256 checksum How to use checksums |
a68a8662e73b808c7eefb4b15ff57efb95c035120fd317024524d27ccb359cc6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.1.6 CPython/3.8.2 Linux/5.4.72-microsoft-standard-WSL2
|