Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/milaan9/Python_Decision_Tree_and_Random_Forest

I've demonstrated the working of the decision tree-based ID3 algorithm. Use an appropriate data set for building the decision tree and apply this knowledge to classify a new sample. All the steps have been explained in detail with graphics for better understanding.
https://github.com/milaan9/Python_Decision_Tree_and_Random_Forest

cart-algorithm decision-tree decision-tree-algorithm decision-tree-classification decision-tree-classifier decision-tree-id3 decision-tree-playgolf dtreeviz graphviz id3-algorithm iris-classification python-decision-tree python-decisiontreeclassifier python-tutorial-github python-tutorial-notebook python4beginner python4datascience python4everybody random-forest tutor-milaan9

Last synced: 3 months ago
JSON representation

I've demonstrated the working of the decision tree-based ID3 algorithm. Use an appropriate data set for building the decision tree and apply this knowledge to classify a new sample. All the steps have been explained in detail with graphics for better understanding.

Awesome Lists containing this project

README

        


Last Commit



Stars Badge
Forks Badge
Size
Pull Requests Badge
Issues Badge
Language
MIT License


binder
colab




# Python Decision Tree and Random Forest

## Decision Tree

A Decision Tree is one of the popular and powerful machine learning algorithms that I have learned. The basics of Decision Tree is explained in detail with clear explanation.



I have given complete theoritical stepwise explanation of computing decision tree using **`ID3 (Iterative Dichotomiser)`** and **`CART (Classification And Regression Trees)`** along sucessfully implemention of decision tree on **`ID3`** and **`CART`** using Python on **[playgolf_data](https://github.com/milaan9/Python_Decision_Tree_and_Random_Forest/blob/main/dataset/playgolf_data.csv)** and **[Iris dataset](https://archive.ics.uci.edu/ml/datasets/iris)**

### Play Golf dataset:
| ![ID3](https://github.com/milaan9/Python_Decision_Tree_and_Random_Forest/blob/main/img/ID3pg.png) | ![CART](https://github.com/milaan9/Python_Decision_Tree_and_Random_Forest/blob/main/img/CARTpg.png) |
|:---:|:---:|
| ID3 dataset analysis| CART dataset analysis |



### Iris dataset

1. Method 1: Print Text Representation



2. Method 2: Plot Tree with plot_tree



3. Method 3: Plot Decision Tree with graphviz



4. Method 4: Plot Decision Tree with dtreeviz Package



5. Method 5: Visualizing the Decision Tree in Regression Task





---

## Table of contents πŸ“‹

| **No.** | **Name** |
| ------- | -------- |
| 01 | **[Decision_Tree_PlayGolf_ID3](https://github.com/milaan9/Python_Decision_Tree_and_Random_Forest/blob/main/001_Decision_Tree_PlayGolf_ID3.ipynb)** |
| 02 | **[Decision_Tree_PlayGolf_CART](https://github.com/milaan9/Python_Decision_Tree_and_Random_Forest/blob/main/001_Decision_Tree_PlayGolf_CART.ipynb)** |
| 03 | **[Decision_Tree_Visualisation_Iris_Dataset](https://github.com/milaan9/Python_Decision_Tree_and_Random_Forest/blob/main/003_Decision_Tree_Visualisation_Iris_Dataset.ipynb)** |
| 04 | **[Decision_Tree_Classifier_Iris_Dataset](https://github.com/milaan9/Python_Decision_Tree_and_Random_Forest/blob/main/004_Decision_Tree_Classifier_Iris_Dataset.ipynb)** |

These are online **read-only** versions. However you can **`Run β–Ά`** all the codes **online** by clicking here ➞ binder

---

## Frequently asked questions ❔

### How can I thank you for writing and sharing this tutorial? 🌷

You can Star Badge and Fork Badge Starring and Forking is free for you, but it tells me and other people that it was helpful and you like this tutorial.

Go [**`here`**](https://github.com/milaan9/Python_Decision_Tree_and_Random_Forest) if you aren't here already and click ➞ **`✰ Star`** and **`β΅– Fork`** button in the top right corner. You will be asked to create a GitHub account if you don't already have one.

---

### How can I read this tutorial without an Internet connection? GIF

1. Go [**`here`**](https://github.com/milaan9/Python_Decision_Tree_and_Random_Forest) and click the big green ➞ **`Code`** button in the top right of the page, then click ➞ [**`Download ZIP`**](https://github.com/milaan9/Python_Decision_Tree_and_Random_Forest/archive/refs/heads/main.zip).

![Download ZIP](img/dnld_rep.png)

2. Extract the ZIP and open it. Unfortunately I don't have any more specific instructions because how exactly this is done depends on which operating system you run.

3. Launch ipython notebook from the folder which contains the notebooks. Open each one of them

**`Kernel > Restart & Clear Output`**

This will clear all the outputs and now you can understand each statement and learn interactively.

If you have git and you know how to use it, you can also clone the repository instead of downloading a zip and extracting it. An advantage with doing it this way is that you don't need to download the whole tutorial again to get the latest version of it, all you need to do is to pull with git and run ipython notebook again.

---

## Authors ✍️

I'm Dr. Milaan Parmar and I have written this tutorial. If you think you can add/correct/edit and enhance this tutorial you are most welcomeπŸ™

See [github's contributors page](https://github.com/milaan9/Python_Decision_Tree_and_Random_Forest/graphs/contributors) for details.

If you have trouble with this tutorial please tell me about it by [Create an issue on GitHub](https://github.com/milaan9/Python_Decision_Tree_and_Random_Forest/issues/new). and I'll make this tutorial better. This is probably the best choice if you had trouble following the tutorial, and something in it should be explained better. You will be asked to create a GitHub account if you don't already have one.

If you like this tutorial, please [give it a ⭐ star](https://github.com/milaan9/Python_Decision_Tree_and_Random_Forest).

---

## Licence πŸ“œ

You may use this tutorial freely at your own risk. See [LICENSE](./LICENSE).