A scikit-learn compatible package for id3 decision tree
Project description
|Travis Status| |Coveralls Status| |CircleCI Status|
decision-tree-id3-fork
This is a fork of decision-tree-id3. It is a module created to derive decision trees using the ID3 algorithm. It is written to be compatible with Scikit-learn's API using the guidelines for Scikit-learn-contrib. It is licensed under the 3-clause BSD license.
Important Links
Original HTML Documentation can be found on https://svaante.github.io/decision-tree-id3
Installation
Dependencies
- Python (>= 2.7 or >= 3.3)
- NumPy (>= 1.14.6)
- Scikit-learn (>= 1.0)
- Six (>= 0.9.0)
The package by itself comes with a single estimator Id3Estimator. To install the module:
::
pip install decision-tree-id3-fork
or clone the project using:
::
git clone https://github.com/DekwoKybon/decision-tree-id3.git
cd decision-tree-id3
python setup.py install
Usage
-----
If the installation is successful, you should be able to execute the
following in Python:
.. code:: python
>>> from sklearn.datasets import load_breast_cancer
>>> from src.id3 import Id3Estimator
>>> from src.id3 import export_graphviz
>>> bunch = load_breast_cancer()
>>> estimator = Id3Estimator()
>>> estimator = estimator.fit(bunch.data, bunch.target)
>>> tree = export_graphviz(estimator.tree_, 'tree.dot', bunch.feature_names)
And to generate a PDF of the decision tree using GraphViz:
>>> from id3 import Id3Estimator
>>> from id3 import export_graphviz
>>> bunch = load_breast_cancer()
>>> estimator = Id3Estimator()
>>> estimator = estimator.fit(bunch.data, bunch.target)
>>> tree = export_graphviz(estimator.tree_, 'tree.dot', bunch.feature_names)
And to generate a PDF of the decision tree using GraphViz:
.. code:: shell
dot -Tpdf tree.dot -o tree.pdf
There are a number of different default parameters to control the growth
of the tree: - max\_depth, the max depth of the tree. -
min\_samples\_split, the minimum number of samples in a split to be
considered. - prune, if the tree should be post-pruned to avoid
overfitting and cut down on size. - gain\_ratio, if the algorithm should
use gain ratio when splitting the data. - min\_entropy\_decrease, the
minimum decrease in entropy to consider a split. - is\_repeating, repeat
the use of features.
For more in depth information see the documentation
https://svaante.github.io/decision-tree-id3
.. |Travis Status| image:: https://travis-ci.org/svaante/decision-tree-id3.svg?branch=master
:target: https://travis-ci.org/svaante/decision-tree-id3
.. |Coveralls Status| image:: https://coveralls.io/repos/svaante/decision-tree-id3/badge.svg?branch=master
:target: https://coveralls.io/r/svaante/decision-tree-id3
.. |CircleCI Status| image:: https://circleci.com/gh/svaante/decision-tree-id3.svg?style=shield&circle-token=:circle-token
:target: https://circleci.com/gh/svaante/decision-tree-id3/tree/master
Project details
Release history Release notifications | RSS feed
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file decision-tree-id-fork-0.0.15.tar.gz.
File metadata
- Download URL: decision-tree-id-fork-0.0.15.tar.gz
- Upload date:
- Size: 15.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dbfaf9455f3be2e5bacb287da7638f4d106941a880ca664cec81ed5fe6d57e7d
|
|
| MD5 |
e01f299a12017c2a67ed30b62b48e652
|
|
| BLAKE2b-256 |
7876dd0e3d80d0ad27e891e3c01c579c4d936d2fe54094de271c9adbed6843d3
|
File details
Details for the file decision_tree_id_fork-0.0.15-py3-none-any.whl.
File metadata
- Download URL: decision_tree_id_fork-0.0.15-py3-none-any.whl
- Upload date:
- Size: 16.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2dd2a64ba3c6a1b6c6e857f22e932a861b57905f5a05ad3f09e178159fa80135
|
|
| MD5 |
b8618d9a4d0ac6316b095283d2f42515
|
|
| BLAKE2b-256 |
9547b87810113fa16149d2813506f3f9f740c987d28f38aedd0262232e698f02
|