{ "cells": [ { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "import os\n", "import numpy as np\n", "\n", "import pandas as pd\n", "import warnings\n", "from sklearn.linear_model import LinearRegression, HuberRegressor, Lasso, Ridge, ElasticNet\n", "from sklearn.ensemble import RandomForestRegressor, GradientBoostingRegressor, AdaBoostRegressor\n", "from sklearn.neighbors import KNeighborsRegressor\n", "from sklearn.svm import SVR, LinearSVR\n", "from sklearn.tree import DecisionTreeRegressor\n", "from xgboost import XGBRegressor\n", "from lightgbm import LGBMRegressor\n", "import numpy as np\n", "from sklearn.metrics import mean_squared_error, r2_score\n", "from sklearn.svm import SVR\n", "from sklearn.model_selection import train_test_split, GridSearchCV\n", "from sklearn.metrics import mean_absolute_error, r2_score\n", "import matplotlib.pyplot as plt\n", "from sklearn.preprocessing import MinMaxScaler\n", "import seaborn as sns\n", "# Set random seed and display settings\n", "np.random.seed(42)\n", "plt.rcParams['figure.figsize'] = (16, 8)\n", "import logging\n", "from sklearn.exceptions import ConvergenceWarning # Import ConvergenceWarning\n", "\n", "warnings.filterwarnings(\"ignore\", category=ConvergenceWarning) # Suppress convergence warnings\n", "\n", "logging.getLogger(\"lightgbm\").setLevel(logging.ERROR)\n", "warnings.filterwarnings(\"ignore\", category=ConvergenceWarning)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "# Load dataset\n", "file_path = os.path.join(os.getcwd(), \"data\", \"dynamic_pricing.csv\")\n", "data = pd.read_csv(file_path)" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
| \n", " | Number_of_Riders | \n", "Number_of_Drivers | \n", "Location_Category | \n", "Customer_Loyalty_Status | \n", "Number_of_Past_Rides | \n", "Average_Ratings | \n", "Time_of_Booking | \n", "Vehicle_Type | \n", "Expected_Ride_Duration | \n", "Historical_Cost_of_Ride | \n", "
|---|---|---|---|---|---|---|---|---|---|---|
| 0 | \n", "90 | \n", "45 | \n", "Urban | \n", "Silver | \n", "13 | \n", "4.47 | \n", "Night | \n", "Premium | \n", "90 | \n", "284.257273 | \n", "
| 1 | \n", "58 | \n", "39 | \n", "Suburban | \n", "Silver | \n", "72 | \n", "4.06 | \n", "Evening | \n", "Economy | \n", "43 | \n", "173.874753 | \n", "
| 2 | \n", "42 | \n", "31 | \n", "Rural | \n", "Silver | \n", "0 | \n", "3.99 | \n", "Afternoon | \n", "Premium | \n", "76 | \n", "329.795469 | \n", "
| 3 | \n", "89 | \n", "28 | \n", "Rural | \n", "Regular | \n", "67 | \n", "4.31 | \n", "Afternoon | \n", "Premium | \n", "134 | \n", "470.201232 | \n", "
| 4 | \n", "78 | \n", "22 | \n", "Rural | \n", "Regular | \n", "74 | \n", "3.77 | \n", "Afternoon | \n", "Economy | \n", "149 | \n", "579.681422 | \n", "
| ... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
| 995 | \n", "33 | \n", "23 | \n", "Urban | \n", "Gold | \n", "24 | \n", "4.21 | \n", "Morning | \n", "Premium | \n", "11 | \n", "91.389526 | \n", "
| 996 | \n", "84 | \n", "29 | \n", "Urban | \n", "Regular | \n", "92 | \n", "4.55 | \n", "Morning | \n", "Premium | \n", "94 | \n", "424.155987 | \n", "
| 997 | \n", "44 | \n", "6 | \n", "Suburban | \n", "Gold | \n", "80 | \n", "4.13 | \n", "Night | \n", "Premium | \n", "40 | \n", "157.364830 | \n", "
| 998 | \n", "53 | \n", "27 | \n", "Suburban | \n", "Regular | \n", "78 | \n", "3.63 | \n", "Night | \n", "Premium | \n", "58 | \n", "279.095048 | \n", "
| 999 | \n", "78 | \n", "63 | \n", "Rural | \n", "Gold | \n", "14 | \n", "4.21 | \n", "Afternoon | \n", "Economy | \n", "147 | \n", "655.065106 | \n", "
1000 rows × 10 columns
\n", "