Oblique Decision Tree in Python
Project description
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
.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file scikit-obliquetree-0.1.4.tar.gz
.
File metadata
- Download URL: scikit-obliquetree-0.1.4.tar.gz
- Upload date:
- Size: 19.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.6 CPython/3.8.2 Linux/5.4.72-microsoft-standard-WSL2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b4cb6747374a252274941e27865417739c6dfe5144433a0f45fdb3721667d97e |
|
MD5 | a5f491ec06a1c40ac730b2f77d3a394a |
|
BLAKE2b-256 | aa8d7aa61ffe25b7e66e5a5026509e22e63b238aa5bf26e1695e970daac19af3 |
File details
Details for the file scikit_obliquetree-0.1.4-py3-none-any.whl
.
File metadata
- Download URL: scikit_obliquetree-0.1.4-py3-none-any.whl
- Upload date:
- Size: 20.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.6 CPython/3.8.2 Linux/5.4.72-microsoft-standard-WSL2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c84adfa1619d01ba9172c0f88f20c3c98dfb499b63f9e11e3f3af9d6f1bd79d3 |
|
MD5 | 10d7dd0e246f901756bd1d755339aec4 |
|
BLAKE2b-256 | a68a8662e73b808c7eefb4b15ff57efb95c035120fd317024524d27ccb359cc6 |