From de26e32d1c65910e4562d071be67172bf3c4dad8 Mon Sep 17 00:00:00 2001
From: Arpit <arpitmahapatraofficial@gmail.com>
Date: Thu, 22 May 2025 00:54:14 +0100
Subject: [PATCH] Adding the SVR Model for Garment dataset

---
 models/SVM_Regression(small dataset).ipynb | 122 +++++++++++++++++++++
 1 file changed, 122 insertions(+)
 create mode 100644 models/SVM_Regression(small dataset).ipynb

diff --git a/models/SVM_Regression(small dataset).ipynb b/models/SVM_Regression(small dataset).ipynb
new file mode 100644
index 0000000..f560a3f
--- /dev/null
+++ b/models/SVM_Regression(small dataset).ipynb	
@@ -0,0 +1,122 @@
+{
+ "cells": [
+  {
+   "cell_type": "code",
+   "execution_count": 3,
+   "id": "02242d2f",
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Best SVR Model Parameters: SVR(C=1, epsilon=0.01)\n",
+      "Root Mean Squared Error (RMSE): 0.13203110041677338\n",
+      "Mean Absolute Error (MAE): 0.08847032288463337\n",
+      "R² Score: 0.343480521413826\n"
+     ]
+    },
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "C:\\Users\\Arpit Mahapatra\\anaconda3\\Lib\\site-packages\\sklearn\\metrics\\_regression.py:492: FutureWarning: 'squared' is deprecated in version 1.4 and will be removed in 1.6. To calculate the root mean squared error, use the function'root_mean_squared_error'.\n",
+      "  warnings.warn(\n"
+     ]
+    }
+   ],
+   "source": [
+    "import pandas as pd\n",
+    "import numpy as np\n",
+    "from sklearn.model_selection import train_test_split, GridSearchCV\n",
+    "from sklearn.svm import SVR\n",
+    "from sklearn.preprocessing import StandardScaler\n",
+    "from sklearn.metrics import mean_squared_error, mean_absolute_error, r2_score\n",
+    "\n",
+    "# Load preprocessed dataset\n",
+    "df = pd.read_csv(\"C:/Users/Arpit Mahapatra/Desktop/MLDM Coursework 2025/mlmavericks_coursework/data/processed/tree_model_ready.csv\")\n",
+    "\n",
+    "# Define features and target\n",
+    "X = df.drop(columns=[\"actual_productivity\", \"date\"])\n",
+    "y = df[\"actual_productivity\"]\n",
+    "\n",
+    "# Encode categorical features\n",
+    "bool_cols = X.select_dtypes(include=[\"bool\"]).columns\n",
+    "X[bool_cols] = X[bool_cols].astype(int)\n",
+    "\n",
+    "if 'overtime_bin' in X.columns:\n",
+    "    X = pd.get_dummies(X, columns=[\"overtime_bin\"], drop_first=True)\n",
+    "\n",
+    "# Train-test split\n",
+    "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)\n",
+    "\n",
+    "# Feature scaling\n",
+    "scaler = StandardScaler()\n",
+    "X_train_scaled = scaler.fit_transform(X_train)\n",
+    "X_test_scaled = scaler.transform(X_test)\n",
+    "\n",
+    "# Define and tune SVR\n",
+    "param_grid = {\n",
+    "    \"C\": [0.1, 1, 10],\n",
+    "    \"epsilon\": [0.01, 0.1, 0.2],\n",
+    "    \"kernel\": [\"rbf\"]\n",
+    "}\n",
+    "svr = SVR()\n",
+    "grid_search = GridSearchCV(svr, param_grid, cv=5, scoring=\"r2\", n_jobs=-1)\n",
+    "grid_search.fit(X_train_scaled, y_train)\n",
+    "\n",
+    "# Evaluate best model\n",
+    "best_model = grid_search.best_estimator_\n",
+    "y_pred = best_model.predict(X_test_scaled)\n",
+    "\n",
+    "# Performance metrics\n",
+    "rmse = mean_squared_error(y_test, y_pred, squared=False)\n",
+    "mae = mean_absolute_error(y_test, y_pred)\n",
+    "r2 = r2_score(y_test, y_pred)\n",
+    "\n",
+    "# Print results\n",
+    "print(\"Best SVR Model Parameters:\", best_model)\n",
+    "print(\"Root Mean Squared Error (RMSE):\", rmse)\n",
+    "print(\"Mean Absolute Error (MAE):\", mae)\n",
+    "print(\"R² Score:\", r2)\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "4e0f7d9d-ee69-476b-93d4-d42d10110001",
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "2a9796b5-d6ad-49e0-9c89-2d8220b2e61f",
+   "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.7"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 5
+}
-- 
GitLab