{"id":13701708,"url":"https://github.com/milaan9/Python_Decision_Tree_and_Random_Forest","last_synced_at":"2025-05-04T23:32:49.946Z","repository":{"id":40530712,"uuid":"382852302","full_name":"milaan9/Python_Decision_Tree_and_Random_Forest","owner":"milaan9","description":"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.","archived":false,"fork":false,"pushed_at":"2022-12-09T21:11:06.000Z","size":4092,"stargazers_count":248,"open_issues_count":0,"forks_count":199,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-08-03T20:15:30.064Z","etag":null,"topics":["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"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/milaan9.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-07-04T12:57:32.000Z","updated_at":"2024-07-17T03:09:34.000Z","dependencies_parsed_at":"2023-01-25T21:45:20.271Z","dependency_job_id":null,"html_url":"https://github.com/milaan9/Python_Decision_Tree_and_Random_Forest","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/milaan9%2FPython_Decision_Tree_and_Random_Forest","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/milaan9%2FPython_Decision_Tree_and_Random_Forest/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/milaan9%2FPython_Decision_Tree_and_Random_Forest/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/milaan9%2FPython_Decision_Tree_and_Random_Forest/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/milaan9","download_url":"https://codeload.github.com/milaan9/Python_Decision_Tree_and_Random_Forest/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224417809,"owners_count":17307693,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["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"],"created_at":"2024-08-02T20:01:55.338Z","updated_at":"2024-11-13T08:30:17.758Z","avatar_url":"https://github.com/milaan9.png","language":"Jupyter Notebook","readme":"\u003cp align=\"center\"\u003e \n\u003ca href=\"https://github.com/milaan9\"\u003e\u003cimg src=\"https://img.shields.io/static/v1?logo=github\u0026label=maintainer\u0026message=milaan9\u0026color=ff3300\" alt=\"Last Commit\"/\u003e\u003c/a\u003e \n\u003c!--\u003cimg src=\"https://badges.pufler.dev/created/milaan9/Python_Decision_Tree_and_Random_Forest\" alt=\"Created\"/\u003e--\u003e\n\u003c!--\u003ca href=\"https://github.com/milaan9/Python_Decision_Tree_and_Random_Forest/graphs/commit-activity\"\u003e\u003cimg src=\"https://img.shields.io/github/last-commit/milaan9/Python_Decision_Tree_and_Random_Forest.svg?colorB=ff8000\u0026style=flat\" alt=\"Last Commit\"/\u003e \u003c/a\u003e--\u003e\n\u003ca href=\"https://github.com/milaan9/Python_Decision_Tree_and_Random_Forest/pulse\" alt=\"Activity\"\u003e\u003cimg src=\"https://img.shields.io/github/commit-activity/m/milaan9/Python_Decision_Tree_and_Random_Forest.svg?colorB=teal\u0026style=flat\" /\u003e\u003c/a\u003e \n\u003ca href=\"https://hits.seeyoufarm.com\"\u003e\u003cimg src=\"https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2Fmilaan9%2FPython_Decision_Tree_and_Random_Forest\u0026count_bg=%231DC92C\u0026title_bg=%23555555\u0026icon=\u0026icon_color=%23E7E7E7\u0026title=views\u0026edge_flat=false\"/\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/milaan9/Python_Decision_Tree_and_Random_Forest/stargazers\"\u003e\u003cimg src=\"https://img.shields.io/github/stars/milaan9/Python_Decision_Tree_and_Random_Forest.svg?colorB=1a53ff\" alt=\"Stars Badge\"/\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/milaan9/Python_Decision_Tree_and_Random_Forest/network/members\"\u003e\u003cimg src=\"https://img.shields.io/github/forks/milaan9/Python_Decision_Tree_and_Random_Forest\" alt=\"Forks Badge\"/\u003e \u003c/a\u003e\n\u003cimg src=\"https://img.shields.io/github/repo-size/milaan9/Python_Decision_Tree_and_Random_Forest.svg?colorB=CC66FF\u0026style=flat\" alt=\"Size\"/\u003e\n\u003ca href=\"https://github.com/milaan9/Python_Decision_Tree_and_Random_Forest/pulls\"\u003e\u003cimg src=\"https://img.shields.io/github/issues-pr/milaan9/Python_Decision_Tree_and_Random_Forest.svg?colorB=yellow\u0026style=flat\" alt=\"Pull Requests Badge\"/\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/milaan9/Python_Decision_Tree_and_Random_Forest/issues\"\u003e\u003cimg src=\"https://img.shields.io/github/issues/milaan9/Python_Decision_Tree_and_Random_Forest.svg?colorB=yellow\u0026style=flat\" alt=\"Issues Badge\"/\u003e\u003c/a\u003e\n\u003cimg src=\"https://img.shields.io/github/languages/top/milaan9/Python_Decision_Tree_and_Random_Forest.svg?colorB=996600\u0026style=flat\" alt=\"Language\"/\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/milaan9/Python_Decision_Tree_and_Random_Forest/blob/main/LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/badge/License-MIT-blueviolet.svg\" alt=\"MIT License\"/\u003e\u003c/a\u003e\n\u003c/p\u003e \n\u003c!--\u003cimg src=\"https://badges.pufler.dev/contributors/milaan9/01_Python_Introduction?size=50\u0026padding=5\u0026bots=true\" alt=\"milaan9\"/\u003e--\u003e\n\u003cp align=\"center\"\u003e \n\u003ca href=\"https://mybinder.org/v2/gh/milaan9/Python_Decision_Tree_and_Random_Forest/HEAD\"\u003e\u003cimg src=\"https://mybinder.org/badge_logo.svg\" alt=\"binder\"/\u003e\u003c/a\u003e\n\u003ca href=\"https://githubtocolab.com/milaan9/Python_Decision_Tree_and_Random_Forest\"\u003e\u003cimg src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"colab\"/\u003e\u003c/a\u003e\n\u003c/p\u003e \n \n \n# Python Decision Tree and Random Forest\n\n## Decision Tree\n\nA 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.\n\n\n\u003cp align=\"center\"\u003e  \n \u003cimg src=\"img/dt0.png\" width=\"700\"/\u003e\n\u003c/p\u003e  \n\nI 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)**\n\n### Play Golf dataset:\n| ![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) | \n|:---:|:---:|\n| ID3 dataset analysis| CART dataset analysis |\n\n\u003cp align=\"center\"\u003e  \n \u003cimg src=\"img/dt.png\" width=\"700\"/\u003e\n\u003c/p\u003e \n\n### Iris dataset\n\n1. Method 1: Print Text Representation\n\n\u003cp align=\"center\"\u003e  \n \u003cimg src=\"output_DecisionTree/iris_DecisionTree_textRep.png\" width=\"300\"/\u003e\n\u003c/p\u003e\n\n2. Method 2: Plot Tree with plot_tree\n\n\u003cp align=\"center\"\u003e  \n \u003cimg src=\"output_DecisionTree/iris_DecisionTree_plotTree.png\" width=\"2000\"/\u003e\n\u003c/p\u003e\n\n3. Method 3: Plot Decision Tree with graphviz\n\n\u003cp align=\"center\"\u003e  \n \u003cimg src=\"output_DecisionTree/iris_DecisionTree_graphivz2.png\" width=\"800\"/\u003e\n\u003c/p\u003e\n\n4. Method 4: Plot Decision Tree with dtreeviz Package\n\n\u003cp align=\"center\"\u003e  \n \u003cimg src=\"output_DecisionTree/iris_DecisionTree_dtreeviz.png\" width=\"700\"/\u003e\n\u003c/p\u003e\n\n5. Method 5: Visualizing the Decision Tree in Regression Task\n\n\u003cp align=\"center\"\u003e  \n \u003cimg src=\"output_DecisionTree/iris_DecisionTree_regression2.png\" width=\"700\"/\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e  \n \u003cimg src=\"output_DecisionTree/iris_DecisionTree_regression3.png\" width=\"700\"/\u003e\n\u003c/p\u003e\n\n\n---\n\n## Table of contents 📋\n\n| **No.** | **Name** | \n| ------- | -------- | \n| 01 | **[Decision_Tree_PlayGolf_ID3](https://github.com/milaan9/Python_Decision_Tree_and_Random_Forest/blob/main/001_Decision_Tree_PlayGolf_ID3.ipynb)** |\n| 02 | **[Decision_Tree_PlayGolf_CART](https://github.com/milaan9/Python_Decision_Tree_and_Random_Forest/blob/main/001_Decision_Tree_PlayGolf_CART.ipynb)** |\n| 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)** |\n| 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)** |\n\n\nThese are online **read-only** versions. However you can **`Run ▶`**  all the codes **online** by clicking here ➞ \u003ca href=\"https://mybinder.org/v2/gh/milaan9/Python_Decision_Tree_and_Random_Forest/HEAD\"\u003e\u003cimg src=\"https://mybinder.org/badge_logo.svg\" alt=\"binder\"/\u003e\u003c/a\u003e\n\n---\n\n## Frequently asked questions ❔\n\n### How can I thank you for writing and sharing this tutorial? 🌷\n\nYou can \u003cimg src=\"https://img.shields.io/static/v1?label=%E2%AD%90 Star \u0026message=if%20useful\u0026style=style=flat\u0026color=blue\" alt=\"Star Badge\"/\u003e and \u003cimg src=\"https://img.shields.io/static/v1?label=%E2%B5%96 Fork \u0026message=if%20useful\u0026style=style=flat\u0026color=blue\" alt=\"Fork Badge\"/\u003e Starring and Forking is free for you, but it tells me and other people that it was helpful and you like this tutorial.\n\nGo [**`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.\n\n---\n\n### How can I read this tutorial without an Internet connection? \u003cimg alt=\"GIF\" src=\"https://github.com/TheDudeThatCode/TheDudeThatCode/blob/master/Assets/hmm.gif\" width=\"20\" /\u003e\n\n1. 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).\n\n    ![Download ZIP](img/dnld_rep.png) \n\n2. 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.\n    \n3. Launch ipython notebook from the folder which contains the notebooks. Open each one of them\n  \n    **`Kernel \u003e Restart \u0026 Clear Output`**\n    \nThis will clear all the outputs and now you can understand each statement and learn interactively.\n\nIf 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.\n\n---\n\n## Authors ✍️\n\nI'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🙏\n\nSee [github's contributors page](https://github.com/milaan9/Python_Decision_Tree_and_Random_Forest/graphs/contributors) for details.\n\nIf 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.\n\nIf you like this tutorial, please [give it a ⭐ star](https://github.com/milaan9/Python_Decision_Tree_and_Random_Forest).\n\n---\n\n## Licence 📜\n\nYou may use this tutorial freely at your own risk. See [LICENSE](./LICENSE).\n","funding_links":[],"categories":["Jupyter Notebook"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmilaan9%2FPython_Decision_Tree_and_Random_Forest","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmilaan9%2FPython_Decision_Tree_and_Random_Forest","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmilaan9%2FPython_Decision_Tree_and_Random_Forest/lists"}