ID3 Decision Tree Algorithm
ID3 is a Machine Learning Decision Tree Classification Algorithm that uses two methods to build the model. The two methods are Information Gain and Gini Index.
- Version 1.0.0 - Information Gain Only
- Version 2.0.0 - Gini Index added
- Version 2.0.1 - Documentation Sorted
- Version 2.0.2 - All Sorted
Installation
Install directly from my PyPi
pip install classic-ID3-DecisionTree
Or Clone the Repository and install
python3 setup.py install
Parameters
* X_train
The Training Set array consisting of Features.
* y_train
The Training Set array consisting of Outcome.
* dataset
The Entire DataSet.
Attributes
* DecisionTreeClassifier()
Initialise the instance of Decision Tree Classifier class.
* add_features(dataset, result_col_name)
Add the features to the model by sending the dataset. The model will fetch the column features. The second parameter is the column name of outcome array.
* information_gain(X_train, y_train)
To build the decision tree using Information Gain
* gini_index(X_train, y_train)
To build the decision tree using Gini Index
* predict(y_test)
Predict the Test Set Results
Documentation
1. Install the package
pip install classic-ID3-DecisionTree
2. Import the library
from classic_ID3_decision_tree import DecisionTreeClassifier
3. Create an object for Decision Tree Classifier class
id3 = DecisionTreeClassifier()
4. Add Column Features to the model
id3.add_features(dataset, result_col_name)
5. Build the Decision Tree Model using Information Gain
id3.information_gain(X_train, y_train)
OR
5. Build the Decision Tree Model using Gini Index
id3.gini_index(X_train, y_train)
6. Predict the Test Set Results
y_pred = id3.predict(X_test)
Example Code
0. Download the dataset
Download dataset from here
1. Import the dataset and Preprocess
- import numpy as np
- import matplotlib.pyplot as plt
- import pandas as pd
- dataset = pd.read_csv('house-votes-84.csv')
- rawdataset = pd.read_csv('house-votes-84.csv')
- party = {'republican':0, 'democrat':1}
- vote = {'y':1, 'n':0, '?':0}
- for col in dataset.columns:
- if col != 'party':
- dataset[col] = dataset[col].map(vote)
- dataset['party'] = dataset['party'].map(party)
- X = dataset.iloc[:, 1:17].values
- y = dataset.iloc[:, 0].values
- from sklearn.model_selection import KFold
- kf = KFold(n_splits=5)
- for train_index, test_index in kf.split(X,y):
- X_train, X_test = X[train_index], X[test_index]
- y_train, y_test = y[train_index], y[test_index]
2. Use the ID3 Library
- from classic_ID3_decision_tree import DecisionTreeClassifier
- id3 = DecisionTreeClassifier()
- id3.add_features(dataset, 'party')
- print(id3.features)
- id3.information_gain(X_train, y_train)
- OR
- id3.gini_index(X_train, y_train)
- y_pred = ig.predict(X_test)
Footnotes
You can find the code at my Github.
Connect with me on Social Media
Metadata
Release files for classic-ID3-DecisionTree 2.0.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| classic_ID3_DecisionTree-2.0.3.tar.gz | 7.5 kB | Without provenance | Details for classic_ID3_DecisionTree-2.0.3.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| classic_ID3_DecisionTree-2.0.3-py3-none-any.whl | Python 3 | none | any | Details for classic_ID3_DecisionTree-2.0.3-py3-none-any.whl |
Total release size: 15.5 kB
Release files / classic_ID3_DecisionTree-2.0.3.tar.gz
| Download URL | classic_ID3_DecisionTree-2.0.3.tar.gz |
|---|---|
| Size | 7.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2e932b8281fe95727472c16f0c20d6d78ff3316932efdc3780646a0e9c7687f3
|
|
BLAKE2b-256 checksum How to use checksums |
ba62f6f88898f31a3a6c31f37325c3a584f79372f25339bac30cb03ec678419e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.8.3
|
Release files / classic_ID3_DecisionTree-2.0.3-py3-none-any.whl
| Download URL | classic_ID3_DecisionTree-2.0.3-py3-none-any.whl |
|---|---|
| Size | 8.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f03a8702d59c99d4a5b5fe27009e3b86f052ad285b0733961aaf163c4d714047
|
|
BLAKE2b-256 checksum How to use checksums |
f35db36dc83b9df4da3ef762f11b24408e02b0b504416243b1e1c6babf9e4867
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.8.3
|
Security for classic-ID3-DecisionTree 2.0.3
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.