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