{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "53493205-b390-49cf-b345-2b04996588d4",
   "metadata": {},
   "outputs": [],
   "source": [
    "# =====================================================\n",
    "# 🔧 1. Import Libraries\n",
    "# =====================================================\n",
    "import pandas as pd\n",
    "from sklearn.model_selection import train_test_split\n",
    "from sklearn.preprocessing import MinMaxScaler"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "ec5c41da-17fb-4cd5-9cea-0c863ce60bf7",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Shape: (83126, 11)\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>created_at</th>\n",
       "      <th>entry_id</th>\n",
       "      <th>Temperature (C)</th>\n",
       "      <th>Turbidity(NTU)</th>\n",
       "      <th>Dissolved Oxygen(g/ml)</th>\n",
       "      <th>PH</th>\n",
       "      <th>Ammonia(g/ml)</th>\n",
       "      <th>Nitrate(g/ml)</th>\n",
       "      <th>Population</th>\n",
       "      <th>Fish_Length(cm)</th>\n",
       "      <th>Fish_Weight(g)</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2021-06-19 00:00:05 CET</td>\n",
       "      <td>1889</td>\n",
       "      <td>24.8750</td>\n",
       "      <td>100</td>\n",
       "      <td>4.505</td>\n",
       "      <td>8.43365</td>\n",
       "      <td>0.45842</td>\n",
       "      <td>193</td>\n",
       "      <td>50</td>\n",
       "      <td>7.11</td>\n",
       "      <td>2.91</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2021-06-19 00:01:02 CET</td>\n",
       "      <td>1890</td>\n",
       "      <td>24.9375</td>\n",
       "      <td>100</td>\n",
       "      <td>6.601</td>\n",
       "      <td>8.43818</td>\n",
       "      <td>0.45842</td>\n",
       "      <td>194</td>\n",
       "      <td>50</td>\n",
       "      <td>7.11</td>\n",
       "      <td>2.91</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2021-06-19 00:01:22 CET</td>\n",
       "      <td>1891</td>\n",
       "      <td>24.8750</td>\n",
       "      <td>100</td>\n",
       "      <td>15.797</td>\n",
       "      <td>8.42457</td>\n",
       "      <td>0.45842</td>\n",
       "      <td>192</td>\n",
       "      <td>50</td>\n",
       "      <td>7.11</td>\n",
       "      <td>2.91</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2021-06-19 00:01:44 CET</td>\n",
       "      <td>1892</td>\n",
       "      <td>24.9375</td>\n",
       "      <td>100</td>\n",
       "      <td>5.046</td>\n",
       "      <td>8.43365</td>\n",
       "      <td>0.45842</td>\n",
       "      <td>193</td>\n",
       "      <td>50</td>\n",
       "      <td>7.11</td>\n",
       "      <td>2.91</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2021-06-19 00:02:07 CET</td>\n",
       "      <td>1893</td>\n",
       "      <td>24.9375</td>\n",
       "      <td>100</td>\n",
       "      <td>38.407</td>\n",
       "      <td>8.40641</td>\n",
       "      <td>0.45842</td>\n",
       "      <td>192</td>\n",
       "      <td>50</td>\n",
       "      <td>7.11</td>\n",
       "      <td>2.91</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                created_at  entry_id  Temperature (C)  Turbidity(NTU)  \\\n",
       "0  2021-06-19 00:00:05 CET      1889          24.8750             100   \n",
       "1  2021-06-19 00:01:02 CET      1890          24.9375             100   \n",
       "2  2021-06-19 00:01:22 CET      1891          24.8750             100   \n",
       "3  2021-06-19 00:01:44 CET      1892          24.9375             100   \n",
       "4  2021-06-19 00:02:07 CET      1893          24.9375             100   \n",
       "\n",
       "   Dissolved Oxygen(g/ml)       PH  Ammonia(g/ml)  Nitrate(g/ml)  Population  \\\n",
       "0                   4.505  8.43365        0.45842            193          50   \n",
       "1                   6.601  8.43818        0.45842            194          50   \n",
       "2                  15.797  8.42457        0.45842            192          50   \n",
       "3                   5.046  8.43365        0.45842            193          50   \n",
       "4                  38.407  8.40641        0.45842            192          50   \n",
       "\n",
       "   Fish_Length(cm)  Fish_Weight(g)  \n",
       "0             7.11            2.91  \n",
       "1             7.11            2.91  \n",
       "2             7.11            2.91  \n",
       "3             7.11            2.91  \n",
       "4             7.11            2.91  "
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# =====================================================\n",
    "# 📥 2. Load Dataset\n",
    "# =====================================================\n",
    "import pandas as pd\n",
    "csv_path = \"C:/Users/ASUS/Desktop/AI Learning/sim2/project2/IoTPond1.csv\"\n",
    "df = pd.read_csv(csv_path)\n",
    "print(\"Shape:\", df.shape)\n",
    "display(df.head())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "0fbb5da3-94b4-449d-83e1-13e3968b061e",
   "metadata": {},
   "outputs": [],
   "source": [
    "# =====================================================\n",
    "# 🧹 3. Clean Data\n",
    "# =====================================================\n",
    "# Drop any text / date columns that are not numeric\n",
    "df = df.drop(columns=['created_at', 'entry_id'], errors='ignore')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "0086b93e-3734-4964-93ec-ff99fcf230e7",
   "metadata": {},
   "outputs": [],
   "source": [
    "df = df.dropna()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "b5b449ef-d22f-4bbb-914c-d6c9b455b41c",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Temperature (C)           float64\n",
      "Turbidity(NTU)              int64\n",
      "Dissolved Oxygen(g/ml)    float64\n",
      "PH                        float64\n",
      "Ammonia(g/ml)             float64\n",
      "Nitrate(g/ml)               int64\n",
      "Population                  int64\n",
      "Fish_Length(cm)           float64\n",
      "dtype: object\n"
     ]
    }
   ],
   "source": [
    "# =====================================================\n",
    "# 🎯 4. Define Features (X) and Target (y)\n",
    "# =====================================================\n",
    "X = df.drop(columns=['Fish_Weight(g)'], errors='ignore')\n",
    "y = df['Fish_Weight(g)']\n",
    "\n",
    "# Verify that all columns are numeric\n",
    "print(X.dtypes)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "808dc197-4bc0-4298-bfa2-18cbb98478de",
   "metadata": {},
   "outputs": [],
   "source": [
    "# =====================================================\n",
    "# ✂️ 5. Split Data\n",
    "# =====================================================\n",
    "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "ffb79d38-333f-4ba7-ae23-fa482f2d6865",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "✅ Normalization completed successfully!\n"
     ]
    }
   ],
   "source": [
    "# =====================================================\n",
    "# ⚖️ 6. Normalize Numeric Data\n",
    "# =====================================================\n",
    "scaler = MinMaxScaler()\n",
    "X_train_scaled = scaler.fit_transform(X_train)\n",
    "X_test_scaled = scaler.transform(X_test)\n",
    "\n",
    "print(\"✅ Normalization completed successfully!\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "f5b6efa9-433f-4efd-abb1-0a39f148a0f1",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "✅ Model trained: Linear Regression\n",
      "✅ Model trained: Decision Tree\n",
      "✅ Model trained: Random Forest\n"
     ]
    }
   ],
   "source": [
    "# =====================================================\n",
    "# 7️⃣ Build and Train Models\n",
    "# =====================================================\n",
    "from sklearn.linear_model import LinearRegression\n",
    "from sklearn.tree import DecisionTreeRegressor\n",
    "from sklearn.ensemble import RandomForestRegressor\n",
    "\n",
    "models = {\n",
    "    \"Linear Regression\": LinearRegression(),\n",
    "    \"Decision Tree\": DecisionTreeRegressor(random_state=42),\n",
    "    \"Random Forest\": RandomForestRegressor(random_state=42)\n",
    "}\n",
    "\n",
    "for name, model in models.items():\n",
    "    model.fit(X_train_scaled, y_train)\n",
    "    print(f\"✅ Model trained: {name}\")\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "2775795b-e6c1-4983-a508-d2b6753f79b7",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "📊 Model Evaluation Results:\n",
      "\n",
      "               Model  R2 Score       MAE       RMSE\n",
      "0  Linear Regression  0.887525  5.998893  11.322315\n",
      "1      Decision Tree  0.999963  0.002705   0.204824\n",
      "2      Random Forest  0.999978  0.003315   0.159804\n"
     ]
    }
   ],
   "source": [
    "# =====================================================\n",
    "# 8️⃣ Evaluate Models\n",
    "# =====================================================\n",
    "from sklearn.metrics import r2_score, mean_absolute_error, mean_squared_error\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "\n",
    "results = []\n",
    "\n",
    "for name, model in models.items():\n",
    "    y_pred = model.predict(X_test_scaled)\n",
    "    r2 = r2_score(y_test, y_pred)\n",
    "    mae = mean_absolute_error(y_test, y_pred)\n",
    "    rmse = np.sqrt(mean_squared_error(y_test, y_pred))\n",
    "    results.append([name, r2, mae, rmse])\n",
    "\n",
    "results_df = pd.DataFrame(results, columns=[\"Model\", \"R2 Score\", \"MAE\", \"RMSE\"])\n",
    "print(\"\\n📊 Model Evaluation Results:\\n\")\n",
    "print(results_df)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "2a9b556e-ef3e-4a65-845d-303842556de3",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAnUAAAJwCAYAAADvOpfnAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjcsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvTLEjVAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAnAFJREFUeJzt3Qdc1PX/B/DXDY4Niigiigru3NowSy1X29L20jJb2rIsbZhmZWVqNu3XsPFvamplZo7UNM3cey8UERzIhlvf/+P9wbuOKeABd8fr+ftd53fwve99+cK9+EydpmkaiIiIiMir6av7BIiIiIjo/DHUEREREfkAhjoiIiIiH8BQR0REROQDGOqIiIiIfABDHREREZEPYKgjIiIi8gEMdUREREQ+gKGOiIiIyAcw1BERufjiiy+g0+lw6NAh57pevXqphyefY1WT1x83bpxHnVNp5Lzk/OQ8y2vZsmXqa+WZyJMx1BF5CPnQKMvD1z9YmjRpUuD91qtXD5dffjnmzJkDb5Kdna1Cjzd+vz788EN17S+++GK3H1uuiRxbr9fjyJEjRbanp6cjMDBQ7TNixAi3vz6RLzNW9wkQUb6vv/66wKX46quvsGjRoiLrW7du7fOXrGPHjnj66afVv48dO4aPP/4YAwcOxEcffYSHH364ys9n4cKFFQp148ePV//2pFK+svjmm29UuP7333+xb98+NGvWzO2v4e/vj++++w7PPvtsgfWzZ892+2sR1RQMdUQe4u677y6w/M8//6hQV3h9ceEhKCgIviQmJqbA+7733ntVsJg6dWqJoc5qtcJut8NkMrn9fCrjmJ7q4MGDWLVqlQpXDz30kAp4L7/8sttf55prrik21H377be49tpr8dNPP7n9NYl8HatfibyIlPi0bdsW69evR48ePVSYe/7554tt4+QgJS5DhgwpsO7MmTN48skn0ahRI1ViIoHpzTffVKGoNNdddx3i4uKK3datWzd07drVuSyB9LLLLkOtWrUQEhKCli1bOs+1vOrXr69KKCVwuLaPevvtt/HOO+8gPj5evY8dO3ao7bt27cLNN9+MiIgIBAQEqPP65Zdfihx3+/btuPLKK1V1X8OGDfHqq68Wew2Ka1OXm5urrneLFi3Ua0RHR6vSxP3796vzq1u3rtpPSuscVcmu3x93n6O7SIirXbu2ClZyfrJcGe68805s2rRJXQeH48eP488//1TbipOSkoKhQ4ciKipKXbMOHTrgyy+/LLKf3N9yz4eHh6v7b/DgwWpdccr6fShs7969GDRokLo35evke3P77bcjLS2tXNeByJ1YUkfkZU6dOoWrr75afYBIaZZ8wJWHlOz17NkTiYmJqiQmNjZWlcyMGTMGSUlJKiSV5LbbblOlZmvXrsWFF17oXH/48GFVsjhp0iRnEJEA2L59e7zyyisqcEk13t9//12h92yxWFT7qzp16hRYP2PGDBWuHnzwQfUa8sEsr929e3dV2jd69GgEBwfjxx9/xI033qhKf2666SZngLjiiitUCZ9jv//9738qPJ2LzWZT72/JkiXq+/DEE08gIyNDBdlt27ahT58+qqr4kUceUa8nYU/I9XBcn8o+x4qSECfnK6WTd9xxh3ofhb/f7iB/lEgQkpI5uUfEDz/8oP4AkEBZWE5OjgrWch9JW7umTZti5syZKrxJYJPvgdA0DQMGDMDKlStVqa78MSDtMSXYFVbW70NhZrMZ/fv3R15eHh577DEV7OTnad68eepcJEwSVQuNiDzS8OHDtcI/oj179lTrpk+fXmR/Wf/yyy8XWd+4cWNt8ODBzuUJEyZowcHB2p49ewrsN3r0aM1gMGgJCQklnlNaWprm7++vPf300wXWv/XWW5pOp9MOHz6slqdOnarO58SJE+V4x/+db79+/dTXymPz5s3a7bffro732GOPqX0OHjyolsPCwrSUlJQCX9+7d2+tXbt2Wm5urnOd3W7XLr30Uq158+bOdU8++aQ6xpo1a5zr5Fjh4eFqvbyG63WXh8Pnn3+u9pkyZUqR85fXEnLuJX1PKuMc3WHdunXquIsWLXKeU8OGDbUnnniiyL6F39uMGTPKdE7yNY5745lnntGaNWvm3HbhhRdq9913n/P48jPg8M4776h1//d//+dcZzabtW7dumkhISFaenq6Wjd37ly1n9yTDlarVbv88svVejnP8n4fli5dqr5WnsXGjRvV8syZM8twVYmqDqtfibyMlEjdd999Ff56Kd2Q3qRSxXby5EnnQ0qXpATqr7/+KvFrw8LCVCmhlGbkf+7CWcJyySWXqFI/IVVe4ueff65QVaF0TJDqS3lIFZuc8z333KOqiF1J9ZejmlOcPn1aVd/deuutquTM8d6kdFNKVqTKTEpUxPz589U5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fubMmaoTBRERERF5QaibOHEiIiMji6yXThKvv/66u86LiIiIiCoz1CUkJKBp06ZF1kubOtlGRERERF4Q6qREbsuWLUXWb968GXXq1HHXeRERERFRZYa6O+64A48//rjqDSvj08lD2tk98cQTuP3228t7OCIiIiKqjmnCJkyYgEOHDqF3794wGvO/3G63495772WbOiIiIiJvCXUyJt0PP/ygwp1UuQYGBqJdu3aqTR0REREReUmoc5BZJYqbWYKIiIiIPDTUjRw5UpXMBQcHq3+XZsqUKe46NyIiIiJyZ6jbuHEjLBaL898l4SwTRERERB4c6qSna3H/JiIiIiIvHdKEiIiIiLy0pG7gwIFlPuDs2bPP53yIiIiIqLJK6sLDw52PsLAwLFmyBOvWrXNuX79+vVon24mIiIjIQ0vqZsyY4fz3c889h1tvvRXTp0+HwWBQ62RWiUcffVQFPiIiIiLygjZ1n3/+OZ555hlnoBPybxnqRLYRERERkReEOqvVil27dhVZL+tkujAiIiIi8oIZJe677z4MHToU+/fvx0UXXaTWrVmzBm+88YbaRkREREReEOrefvtt1K9fH5MnT0ZSUpJaFx0djVGjRuHpp5+ujHMkIiIiIneHOr1ej2effVY90tPT1Tp2kCAiIiLywsGHpV3d4sWL8d133zmnBjt27BgyMzPdfX5EREREVBkldYcPH8ZVV12FhIQE5OXloW/fvggNDcWbb76plmWoEyIiIiLy8JK6J554Al27dkVqaioCAwOd62+66SY1ADEREREReUFJ3YoVK7Bq1SqYTKYC65s0aYLExER3nhsRERERVVZJnYxFJzNIFHb06FFVDUtEREREXhDq+vXrh3feece5LB0lpIPEyy+/jGuuucbd50dERERElTVOnXSUaNOmDXJzc3HnnXdi7969iIyMVL1hiYiIiMgLQl2jRo2wefNm/PDDD+pZSulkhom77rqrQMcJIiIiIvLQUGexWNCqVSvMmzdPhTh5EBEREZGXtanz8/NTVa5ERERE5OUdJYYPH64GGpZZJYiIiIjIS9vUrV27Vg0yvHDhQrRr1w7BwcEFts+ePdud50dERERElRHqatWqhUGDBpX3y4iIiIjIk0LdjBkzKudMiIiIiKjy29TJTBLSlq579+648MILMXr0aOTk5FT8lYmIiIio6kPda6+9hueffx4hISGIiYnBtGnTVKcJIiIiIvKiUPfVV1/hww8/xB9//IG5c+fi119/xTfffKNK8IiIiIjIS0JdQkJCgbld+/Tpo+Z9PXbsWGWdGxERERG5O9TJuHQBAQFFBiOWWSaIiIiIyEt6v2qahiFDhsDf39+5TmaXePjhhwuMVcdx6oiIiIg8ONQNHjy4yLq7777b3edDRERERJUZ6qp7fDrpffvbb79h06ZNMJlMOHPmTLHt/h555BEsXbpU9dKVIDpx4kQYjf+9zWXLlmHkyJHYvn07GjVqhBdffFGVQBIRERHVqLlfq4vZbMYtt9yiQltxbDYbrr32WrXfqlWr8OWXX+KLL77A2LFjnfscPHhQ7XPFFVeocPjkk0/igQceUD16iYiIiGrUjBLVZfz48epZglpxZC7aHTt2YPHixYiKikLHjh0xYcIEPPfccxg3bpwq3Zs+fTqaNm2KyZMnq69p3bo1Vq5cialTp6J///5V+n6IiIiIamSoO5fVq1ejXbt2KtA5SFCTkj2pau3UqZPaR4ZicSX7SIldSfLy8tTDIT09XT1Lr1939Px1HIO9iHndqgrvOV63qsT7jdeN99v5K2tG8JlQd/z48QKBTjiWZVtp+0hQkynPAgMDixxX2uQ5SgkLlwwGBQW57fwXLVrktmPVJLxuvHa857wDf1Z53Xi/VVx2drbnhzqZP1bmky3Nzp070apVK1SXMWPGqI4VDhIApYNFv379EBYW5pb0Lb/s+vbtq8b9I163ysZ7jtetKvF+43Xj/Xb+HLWEHh3qnn766XP2PI2LiyvTserXr49///23wLrk5GTnNsezY53rPhLOiiulEzIun+vYfA4SwNwZwtx9vJqC143Xjvecd+DPKq8b77eKK2s+qNZQV7duXfVwh27duqlhT1JSUlCvXj21TkrAJLC1adPGuc/8+fMLfJ3sI+uJiIiIvJnXDGkiY9DJMCTyLMOXyL/lkZmZqbZLdaiEt3vuuQebN29Ww5TIGHTDhw93lrTJ7BcHDhzAs88+i127duHDDz/Ejz/+iKeeeqqa3x0RERHR+fGajhIy3pyMPecgvVmFDDTcq1cvGAwGzJs3T/V2lZI3mbpMBh9+5ZVXnF8jw5nIAMYS4qZNm4aGDRvi008/5XAmRERE5PW8JtTJ+HQljVHn0Lhx4yLVq4VJANy4caObz46IiIioenlN9SsRERERlYyhjoiIiMgHMNQRERER+QCGOiIiIiIfwFBHRERE5AMY6oiIiIh8AEMdERERkQ9gqCMiIiLyAQx1RERERD6AoY6IiIjIBzDUEREREfkAhjoiIiIiH8BQR0REROQDGOqIiIiIfABDHREREZEPYKgjIiIi8gEMdUREREQ+gKGOiIiIyAcw1BERERH5AIY6IiIiIh/AUEdERETkAxjqiIiIiHwAQx0RERGRD2CoIyIiIvIBDHVEREREPoChjoiIiMgHMNQRERER+QCGOiIiIiIfwFBHRERE5AMY6oiIiIh8AEMdERERkQ9gqCMiIiLyAQx1RERERD6AoY6IiIjIBzDUEREREfkAhjoiIiIiH8BQR0REROQDGOqIiIiIfABDHREREZEPYKgjIiIi8gEMdUREREQ+gKGOiIiIyAcw1BERERH5AIY6IiIiIh/AUEdERETkAxjqiIiIiHwAQx0RERGRD2CoIyIiIvIBDHVEREREPoChjoiIiMgHMNQRERER+QCvCHWHDh3C0KFD0bRpUwQGBiI+Ph4vv/wyzGZzgf22bNmCyy+/HAEBAWjUqBHeeuutIseaOXMmWrVqpfZp164d5s+fX4XvhIiIiKgGh7pdu3bBbrfj448/xvbt2zF16lRMnz4dzz//vHOf9PR09OvXD40bN8b69esxadIkjBs3Dv/73/+c+6xatQp33HGHCogbN27EjTfeqB7btm2rpndGRERE5B5GeIGrrrpKPRzi4uKwe/dufPTRR3j77bfVum+++UaV3H3++ecwmUy44IILsGnTJkyZMgUPPvig2mfatGnqOKNGjVLLEyZMwKJFi/D++++rkEhERETkrbwi1BUnLS0NERERzuXVq1ejR48eKtA59O/fH2+++SZSU1NRu3Zttc/IkSMLHEf2mTt3bomvk5eXpx6uJYLCYrGox/lyHMMdx6pJeN147XjPeQf+rPK68X47f2XNCF4Z6vbt24f33nvPWUonjh8/rtrcuYqKinJuk1Anz451rvvI+pJMnDgR48ePL7J+4cKFCAoKgrtIiSHxulUl3nO8brzfPB9/TnndRHZ2Njw+1I0ePVqVpJVm586dqmODQ2JioqpCveWWWzBs2LBKP8cxY8YUKN2TkjrphCHt98LCwtySvuWHtm/fvvDz8zvv49UUvG68drznvAN/VnndeL+dP0ctoUeHuqeffhpDhgwpdR9pP+dw7NgxXHHFFbj00ksLdIAQ9evXR3JycoF1jmXZVto+ju3F8ff3V4/CJIC5M4S5+3g1Ba8brx3vOe/An1VeN95vFVfWfFCtoa5u3brqURZSQieBrkuXLpgxYwb0+oIdd7t164YXXnhB/VXoePNSAtayZUtV9erYZ8mSJXjyySedXyf7yHoiIiIib+YVQ5pIoOvVqxdiY2NVO7oTJ06odnCubeHuvPNO1UlChiuRYU9++OEH1dvVter0iSeewIIFCzB58mQ1TIoMebJu3TqMGDGimt4ZERERkXt4RUcJKU2TzhHyaNiwYYFtmqap5/DwcNV5Yfjw4ao0LzIyEmPHjnUOZyKk2vbbb7/Fiy++qMa4a968uer52rZt2yp/T0REREQ1LtRJu7tztb0T7du3x4oVK0rdRzpYyIOIiIjIl3hF9SsRERERlY6hjoiIiMgHMNQRERER+QCGOiIiIiIfwFBHRERE5AMY6oiIiIh8AEMdERERkQ9gqCMiIiLyAQx1RERERD6AoY6IiIjIBzDUEREREfkAhjoiIiIiH8BQR0REROQDGOqIiIiIfABDHREREZEPYKgjIiIi8gEMdUREREQ+gKGOiIiIyAcw1BERERH5AIY6IiIiIh/AUEdERETkAxjqiIiIiHwAQx0RERGRD2CoIyIiIvIBDHVEREREPoChjoiIiMgHMNQRERER+QCGOiIiIiIfwFBHRERE5AMY6oiIiIh8AEMdERERkQ9gqCMiIiLyAQx1RERERD6AoY6IiIjIBzDUEREREfkAhjoiIiIiH8BQR0REROQDGOqIiIiIfABDHREREZEPYKgjIiIi8gEMdUREREQ+gKGOiIiIyAcw1BERERH5AIY6IiIiIh/AUEdERETkAxjqiIiIiHwAQx0RERGRD2CoIyIiIvIBDHVEREREPoChjoiIiMgHeE2ou+GGGxAbG4uAgABER0fjnnvuwbFjxwrss2XLFlx++eVqn0aNGuGtt94qcpyZM2eiVatWap927dph/vz5VfguiIiIiGp4qLviiivw448/Yvfu3fjpp5+wf/9+3Hzzzc7t6enp6NevHxo3boz169dj0qRJGDduHP73v/8591m1ahXuuOMODB06FBs3bsSNN96oHtu2baumd0VERETkHkZ4iaeeesr5bwluo0ePVoHMYrHAz88P33zz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Tr169XDjjTdi9+7dBfYpy89mQkICrr32WgQFBanjjBo1ClarFTX5uvXq1avIPffwww/X6Ov20UcfoX379s6BmLt164bff//duZ332n8Y6qrRDz/8gJEjR6ru1xs2bECHDh3Qv39/pKSkVOdpeZwLLrgASUlJzsfKlSud25566in8+uuvmDlzJpYvX66mcBs4cCBqmqysLHX/yB8JxXnrrbfw7rvvYvr06VizZg2Cg4PVvSa/DB0kmGzfvh2LFi3CvHnzVOB58MEHUZOvm5AQ53r/fffddwW218TrJj9rEtj++ecf9b4tFgv69eunrmdZfzZtNpsKJmazGatWrcKXX36JL774Qv3xUZOvmxg2bFiBe05+fmvydZNZnN544w2sX78e69atw5VXXokBAwaonzvBe82FzP1K1eOiiy7Shg8f7ly22WxagwYNtIkTJ/JbctbLL7+sdejQodjrcebMGc3Pz0+bOXOmc93OnTtlLmNt9erVNfYayvufM2eOc9lut2v169fXJk2aVODa+fv7a999951a3rFjh/q6tWvXOvf5/fffNZ1OpyUmJmo18bqJwYMHawMGDCjxa3jd8qWkpKjrt3z58jL/bM6fP1/T6/Xa8ePHnft89NFHWlhYmJaXl6fVxOsmevbsqT3xxBMlfg2vW77atWtrn376Ke+1QlhSV03kryz5q0OqwVznlZXl1atXV9dpeSSpJpTqsbi4OFUqIlUPQq6f/KXreg2lajY2NpbX0MXBgwdx/PjxAtdJ5hCU6n7HvSbPUnXYtWtX5z6yv9yTUrJXky1btkxVcbVs2RKPPPIITp065dzG65YvLS1NPUdERJT5Z1Oe27Vrh6ioKOc+Unqcnp7uLIHxdYWvm8M333yDyMhItG3bFmPGjEF2drZzW02/blJS+f3336vSTamG5b1WkLHQMlWRkydPqpvT9QdTyPKuXbv4fThLgodULcgHqlRDjB8/Hpdffjm2bdumgorJZFJhpPA1lG2Uz3EtirvXHNvkWYKLK6PRqD5savK1lKpXqTJs2rQp9u/fj+effx5XX321+mA1GAy8bgDsdjuefPJJdO/eXYUQUZafTXku7p50bKuJ103ceeedaNy4sfpDdsuWLXjuuedUu7vZs2fX6Ou2detWFeKkyYi00ZwzZw7atGmDTZs28V5zwVBHHk0+QB2koayEPPmF9+OP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",
      "text/plain": [
       "<Figure size 700x700 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# =====================================================\n",
    "# 9️⃣ Visualization of True vs Predicted Values\n",
    "# =====================================================\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "plt.figure(figsize=(7,7))\n",
    "for name, model in models.items():\n",
    "    plt.scatter(y_test, model.predict(X_test_scaled), alpha=0.6, label=name)\n",
    "\n",
    "plt.xlabel(\"True Values\")\n",
    "plt.ylabel(\"Predicted Values\")\n",
    "plt.title(\"True vs Predicted - All Models\")\n",
    "plt.legend()\n",
    "plt.grid(True)\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "d936e355-9a92-4897-b0fa-9c190f3e2f3d",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "🏆 Best model saved successfully: Random Forest\n"
     ]
    }
   ],
   "source": [
    "# =====================================================\n",
    "# 🔟 Save the Best Model\n",
    "# =====================================================\n",
    "import pickle\n",
    "\n",
    "best_model_name = results_df.sort_values(by='R2 Score', ascending=False).iloc[0, 0]\n",
    "best_model = models[best_model_name]\n",
    "\n",
    "pickle.dump(best_model, open(\"best_regression_model.pkl\", \"wb\"))\n",
    "print(f\"\\n🏆 Best model saved successfully: {best_model_name}\")\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "27bcf981-891f-410f-90f1-f8a588d8670b",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "🔍 Predictions from the saved model:\n",
      " [ 4.79 12.31  3.85 65.32 13.25]\n"
     ]
    }
   ],
   "source": [
    "# =====================================================\n",
    "# 11️⃣ Load and Test the Saved Model\n",
    "# =====================================================\n",
    "loaded_model = pickle.load(open(\"best_regression_model.pkl\", \"rb\"))\n",
    "sample = X_test_scaled[:5]\n",
    "predicted = loaded_model.predict(sample)\n",
    "\n",
    "print(\"🔍 Predictions from the saved model:\\n\", predicted)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "eb2cfbd3-0ed5-4a4e-86db-81d1f39a0508",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "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.12.12"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
