Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

decision-tree-id-fork-0.0.15.tar.gz (15.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

decision_tree_id_fork-0.0.15-py3-none-any.whl (16.4 kB view details)

Uploaded Python 3

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

Hashes for decision-tree-id-fork-0.0.15.tar.gz
Algorithm Hash digest
SHA256 dbfaf9455f3be2e5bacb287da7638f4d106941a880ca664cec81ed5fe6d57e7d
MD5 e01f299a12017c2a67ed30b62b48e652
BLAKE2b-256 7876dd0e3d80d0ad27e891e3c01c579c4d936d2fe54094de271c9adbed6843d3

See more details on using hashes here.

File details

Details for the file decision_tree_id_fork-0.0.15-py3-none-any.whl.

File metadata

File hashes

Hashes for decision_tree_id_fork-0.0.15-py3-none-any.whl
Algorithm Hash digest
SHA256 2dd2a64ba3c6a1b6c6e857f22e932a861b57905f5a05ad3f09e178159fa80135
MD5 b8618d9a4d0ac6316b095283d2f42515
BLAKE2b-256 9547b87810113fa16149d2813506f3f9f740c987d28f38aedd0262232e698f02

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page