pyrus-decision-tree
Decision Tree written in Rust, with Python bindings
Extremely slow Decision Tree written in Rust
Have you found yourself yerning for a slower version of Scikit-Learn's
DecisionTreeClassifier with less features?
You've come to the right place.
This was a weekend project and I've botched the implementation somewhere, probably in the splitter logic for tree nodes, so while it's written entirely in Rust and requires no dependencies; it manages to do a lot of inefficient logic, very quickly.
On a handful of testing data, with equivelent parameters, it yields the same results, only much, much slower.
This is currently the first release and the tree only implements
the scikit-learn API's fit(X, y) and predict(X) methods as of now,
and only as a classifier (no regression tree yet)
Maybe I'll get back to fixing it, maybe not.
Install:
pip install --upgrade pyrus-decision-tree
Uninstall:
pip uninstall pyrus-decision-tree
Use:
from pyrus_decision_tree import PyrusDecisionTree
dataset = [[2.771244718, 1.7847839292],
[1.728571309, 1.1697614132],
[3.678319846, 2.812813571],
[3.961043357, 2.619950321],
[2.999208922, 2.209014212],
[7.497545867, 3.162953546],
[9.00220326, 3.339047188],
[7.444542326, 0.476683375],
[10.12493903, 3.234550982],
[6.642287351, 3.319983761]]
targets = [0, 0, 0, 0, 0, 1, 1, 1, 1, 1]
clf = PyrusDecisionTree(5)
clf.fit(dataset, targets)
predictions = clf.predict(dataset)
Metadata
Release files for pyrus-decision-tree 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pyrus_decision_tree-0.1.1-cp37-cp37m-manylinux1_x86_64.whl | CPython 3.7 | CPython 3.7 pymalloc | Linux glibc 2.5+ x86-64 | Details |
| pyrus_decision_tree-0.1.1-cp36-cp36m-manylinux1_x86_64.whl | CPython 3.6 | CPython 3.6 pymalloc | Linux glibc 2.5+ x86-64 | Details |
| pyrus_decision_tree-0.1.1-cp27-cp27mu-manylinux1_x86_64.whl | CPython 2.7 | CPython 2.7 pymalloc wide-unicode | Linux glibc 2.5+ x86-64 | Details |
Total release size: 8.7 MB
Release files / pyrus_decision_tree-0.1.1-cp37-cp37m-manylinux1_x86_64.whl
| Download URL | pyrus_decision_tree-0.1.1-cp37-cp37m-manylinux1_x86_64.whl |
|---|---|
| Size | 2.9 MB |
| Tags | CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.5+ x86-64 |
|
SHA-256 checksum How to use checksums |
6a74913d3b04e02add68d5585508b112606668387741884a94981ae552b7e43a
|
|
BLAKE2b-256 checksum How to use checksums |
83eddd5d5efb0de9b35fcd7fa9722f2674056ff72738fd4d9e04a44215165381
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.30.0 CPython/3.7.0
|
Release files / pyrus_decision_tree-0.1.1-cp36-cp36m-manylinux1_x86_64.whl
| Download URL | pyrus_decision_tree-0.1.1-cp36-cp36m-manylinux1_x86_64.whl |
|---|---|
| Size | 2.9 MB |
| Tags | CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.5+ x86-64 |
|
SHA-256 checksum How to use checksums |
2de7925192193403337d48fb4fc7d81fbb619834f31e769ee30345efecd577c6
|
|
BLAKE2b-256 checksum How to use checksums |
89bff928b6497c8d534274fa0ab2685d3516c1804e5c8e18bbe964205a42242d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.30.0 CPython/3.7.0
|
Release files / pyrus_decision_tree-0.1.1-cp27-cp27mu-manylinux1_x86_64.whl
| Download URL | pyrus_decision_tree-0.1.1-cp27-cp27mu-manylinux1_x86_64.whl |
|---|---|
| Size | 2.9 MB |
| Tags | CPython 2.7 CPython 2.7 pymalloc wide-unicode Linux glibc 2.5+ x86-64 |
|
SHA-256 checksum How to use checksums |
601c5b722f31f71c6d0c0b42422861476446752a925884070be17ea83568c150
|
|
BLAKE2b-256 checksum How to use checksums |
497005d8e6023641e07f4edeb6bf2ff43db34358b3ad65f30f5122f16684f309
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.30.0 CPython/3.7.0
|