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
Close
Hashes for decision-tree-id-fork-0.0.15.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | dbfaf9455f3be2e5bacb287da7638f4d106941a880ca664cec81ed5fe6d57e7d |
|
MD5 | e01f299a12017c2a67ed30b62b48e652 |
|
BLAKE2b-256 | 7876dd0e3d80d0ad27e891e3c01c579c4d936d2fe54094de271c9adbed6843d3 |
Close
Hashes for decision_tree_id_fork-0.0.15-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2dd2a64ba3c6a1b6c6e857f22e932a861b57905f5a05ad3f09e178159fa80135 |
|
MD5 | b8618d9a4d0ac6316b095283d2f42515 |
|
BLAKE2b-256 | 9547b87810113fa16149d2813506f3f9f740c987d28f38aedd0262232e698f02 |