{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "8bb129b7",
   "metadata": {},
   "source": [
    "<h5 style=\"\n",
    "    background: linear-gradient(90deg, #4e54c8, #8f94fb);\n",
    "    color: white;\n",
    "    padding: 10px;\n",
    "    border-radius: 8px;\n",
    "    font-family: Arial, sans-serif;\n",
    "    font-weight: bold;\n",
    "    box-shadow: 0 2px 8px rgba(78,84,200,0.15);\n",
    "\">\n",
    "Name: Tareque Hasnat Tuhin<br>\n",
    "ID: 2513674\n",
    "</h5>\n",
    "\n",
    "\n",
    "<i style=\"color:yellow; font-weight: 600\">Engagement with Literature</i><br>\n",
    "<b>Title:</b> Understanding the Difference between Decision Tree and Random Forest Algorithms."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e0d606f4",
   "metadata": {},
   "source": [
    "<span style=\"color: gray\">Q. what is random forest? </span><br>\n",
    "<small>Ans: Random Forest is a machine learning algorithm that combines many decision trees to improve accuracy and reduce overfitting.</small>\n",
    "\n",
    "<span style=\"color: gray\">Q. what is decision tree? </span><br>\n",
    "<small>Ans: A Decision Tree is a machine learning algorithm that splits data into branches based on feature values, helping to make predictions by following a path from root to leaf. It is simple, interpretable, and used for both classification and regression tasks.</small>\n",
    "\n",
    "<span style=\"color: gray\">Q. what is confusion matrix? </span><br>\n",
    "<small>Ans: A confusion matrix is a table used to evaluate the performance of a classification algorithm. It shows the counts of true positives, true negatives, false positives, and false negatives, helping to understand how well the model predicts each class.</small>\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "6e0a207b",
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "from sklearn.datasets import load_iris\n",
    "from sklearn.model_selection import train_test_split\n",
    "from sklearn.tree import DecisionTreeClassifier\n",
    "from sklearn.ensemble import RandomForestClassifier\n",
    "from sklearn.metrics import confusion_matrix, ConfusionMatrixDisplay, accuracy_score\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "a356b0ff",
   "metadata": {},
   "outputs": [],
   "source": [
    "data = pd.read_csv('diabetes.csv') \n",
    "\n",
    "# Prepare features and target for diabetes dataset\n",
    "X_d = data.drop('Outcome', axis=1)\n",
    "y_d = data['Outcome']\n",
    "\n",
    "# Split the diabetes dataset\n",
    "X_train_d, X_test_d, y_train_d, y_test_d = train_test_split(X_d, y_d, test_size=0.2, random_state=42)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "b3ff8598",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Decision Tree Accuracy on Diabetes Dataset: 0.75\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Train Decision Tree\n",
    "dt_clf = DecisionTreeClassifier(random_state=42)\n",
    "dt_clf.fit(X_train_d, y_train_d)\n",
    "\n",
    "# Predict\n",
    "y_pred_d = dt_clf.predict(X_test_d)\n",
    "\n",
    "# Accuracy\n",
    "acc_d = accuracy_score(y_test_d, y_pred_d)\n",
    "print(f\"Decision Tree Accuracy on Diabetes Dataset: {acc_d:.2f}\")\n",
    "\n",
    "# Confusion Matrix\n",
    "cm_d = confusion_matrix(y_test_d, y_pred_d)\n",
    "disp_d = ConfusionMatrixDisplay(confusion_matrix=cm_d)\n",
    "disp_d.plot()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "id": "927eba80",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Random Forest Accuracy on Diabetes Dataset: 0.75\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Train Random Forest\n",
    "rf_clf = RandomForestClassifier(random_state=42)\n",
    "rf_clf.fit(X_train_d, y_train_d)\n",
    "\n",
    "# Predict\n",
    "y_pred_rf = rf_clf.predict(X_test_d)\n",
    "\n",
    "# Accuracy\n",
    "acc_rf = accuracy_score(y_test_d, y_pred_rf)\n",
    "print(f\"Random Forest Accuracy on Diabetes Dataset: {acc_rf:.2f}\")\n",
    "\n",
    "# Confusion Matrix\n",
    "cm_rf = confusion_matrix(y_test_d, y_pred_rf)\n",
    "disp_rf = ConfusionMatrixDisplay(confusion_matrix=cm_rf)\n",
    "disp_rf.plot()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "id": "b23ee280",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Decision Tree Accuracy Score: 0.75\n",
      "Random Forest Accuracy Score: 0.75\n"
     ]
    }
   ],
   "source": [
    "# Accuracy score for Decision Tree\n",
    "acc_d = accuracy_score(y_test_d, y_pred_d)\n",
    "print(f\"Decision Tree Accuracy Score: {acc_d:.2f}\")\n",
    "\n",
    "# Accuracy score for Random Forest\n",
    "acc_rf = accuracy_score(y_test_d, y_pred_rf)\n",
    "print(f\"Random Forest Accuracy Score: {acc_rf:.2f}\")"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "base",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.12"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
