diff --git "a/notebook.ipynb" "b/notebook.ipynb" new file mode 100644--- /dev/null +++ "b/notebook.ipynb" @@ -0,0 +1,2879 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "b6598ac9", + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sns" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "423de540", + "metadata": {}, + "outputs": [], + "source": [ + "df = pd.read_csv('BMW_Cars_Pakistan.csv')\n", + "# df_2 = pd.read_csv('Pakistan_Used_Cars.csv')\n", + "\n", + "# df_1.columns" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "459e4b56", + "metadata": {}, + "outputs": [], + "source": [ + "# df_2.columns" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "1a280897", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
| \n", + " | Car Name | \n", + "Auction Rating | \n", + "Model Year | \n", + "Mileage | \n", + "Fuel Type | \n", + "Engine Capacity | \n", + "Transmission | \n", + "Engine Unit | \n", + "Price (PKR) | \n", + "
|---|---|---|---|---|---|---|---|---|---|
| 0 | \n", + "BMW 7 Series 5th (F01) Generation 2013 ActiveH... | \n", + "NaN | \n", + "2013 | \n", + "52000 | \n", + "Hybrid | \n", + "3000.0 | \n", + "Automatic | \n", + "cc | \n", + "NaN | \n", + "
| 1 | \n", + "BMW X5 2012 xDrive50i for Sale | \n", + "8.0 | \n", + "2012 | \n", + "102148 | \n", + "Petrol | \n", + "4400.0 | \n", + "Automatic | \n", + "cc | \n", + "16000000.0 | \n", + "
| 2 | \n", + "BMW 7 Series 2017 740 Le xDrive for Sale | \n", + "NaN | \n", + "2017 | \n", + "48000 | \n", + "Hybrid | \n", + "2000.0 | \n", + "Automatic | \n", + "cc | \n", + "34500000.0 | \n", + "
| 3 | \n", + "BMW 2 Series 2021 218i Gran Coupe for Sale | \n", + "9.3 | \n", + "2021 | \n", + "68064 | \n", + "Petrol | \n", + "1500.0 | \n", + "Manual | \n", + "cc | \n", + "13500000.0 | \n", + "
| 4 | \n", + "BMW X1 2017 sDrive18i A/T for Sale | \n", + "8.6 | \n", + "2017 | \n", + "138928 | \n", + "Petrol | \n", + "1500.0 | \n", + "Automatic | \n", + "cc | \n", + "8200000.0 | \n", + "
| \n", + " | Car Name | \n", + "Model Year | \n", + "Mileage | \n", + "Fuel Type | \n", + "Engine Capacity | \n", + "Transmission | \n", + "Engine Unit | \n", + "Price (PKR) | \n", + "
|---|---|---|---|---|---|---|---|---|
| 1 | \n", + "BMW X5 2012 xDrive50i for Sale | \n", + "2012 | \n", + "102148 | \n", + "Petrol | \n", + "4400.0 | \n", + "Automatic | \n", + "cc | \n", + "16000000.0 | \n", + "
| 2 | \n", + "BMW 7 Series 2017 740 Le xDrive for Sale | \n", + "2017 | \n", + "48000 | \n", + "Hybrid | \n", + "2000.0 | \n", + "Automatic | \n", + "cc | \n", + "34500000.0 | \n", + "
| 3 | \n", + "BMW 2 Series 2021 218i Gran Coupe for Sale | \n", + "2021 | \n", + "68064 | \n", + "Petrol | \n", + "1500.0 | \n", + "Manual | \n", + "cc | \n", + "13500000.0 | \n", + "
| 4 | \n", + "BMW X1 2017 sDrive18i A/T for Sale | \n", + "2017 | \n", + "138928 | \n", + "Petrol | \n", + "1500.0 | \n", + "Automatic | \n", + "cc | \n", + "8200000.0 | \n", + "
| 5 | \n", + "BMW X1 2017 sDrive18i A/T for Sale | \n", + "2017 | \n", + "32877 | \n", + "Petrol | \n", + "1500.0 | \n", + "Automatic | \n", + "cc | \n", + "8200000.0 | \n", + "
| \n", + " | Car Name | \n", + "Model Year | \n", + "Mileage | \n", + "Fuel Type | \n", + "Engine Capacity | \n", + "Transmission | \n", + "Engine Unit | \n", + "Price (PKR) | \n", + "
|---|---|---|---|---|---|---|---|---|
| 1 | \n", + "BMW X5 2012 xDrive50i for Sale | \n", + "2012 | \n", + "102148 | \n", + "Petrol | \n", + "4400.0 | \n", + "Automatic | \n", + "cc | \n", + "16000000.0 | \n", + "
| 2 | \n", + "BMW 7 Series 2017 740 Le xDrive for Sale | \n", + "2017 | \n", + "48000 | \n", + "Hybrid | \n", + "2000.0 | \n", + "Automatic | \n", + "cc | \n", + "34500000.0 | \n", + "
| 3 | \n", + "BMW 2 Series 2021 218i Gran Coupe for Sale | \n", + "2021 | \n", + "68064 | \n", + "Petrol | \n", + "1500.0 | \n", + "Manual | \n", + "cc | \n", + "13500000.0 | \n", + "
| 4 | \n", + "BMW X1 2017 sDrive18i A/T for Sale | \n", + "2017 | \n", + "138928 | \n", + "Petrol | \n", + "1500.0 | \n", + "Automatic | \n", + "cc | \n", + "8200000.0 | \n", + "
| 5 | \n", + "BMW X1 2017 sDrive18i A/T for Sale | \n", + "2017 | \n", + "32877 | \n", + "Petrol | \n", + "1500.0 | \n", + "Automatic | \n", + "cc | \n", + "8200000.0 | \n", + "
| \n", + " | Car Name | \n", + "Model Year | \n", + "Mileage | \n", + "Fuel Type | \n", + "Engine Capacity | \n", + "Transmission | \n", + "Engine Unit | \n", + "Price (PKR) | \n", + "
|---|---|---|---|---|---|---|---|---|
| 1 | \n", + "BMW X5 | \n", + "2012 | \n", + "102148 | \n", + "Petrol | \n", + "4400.0 | \n", + "Automatic | \n", + "cc | \n", + "16000000.0 | \n", + "
| 2 | \n", + "BMW 7 | \n", + "2017 | \n", + "48000 | \n", + "Hybrid | \n", + "2000.0 | \n", + "Automatic | \n", + "cc | \n", + "34500000.0 | \n", + "
| 3 | \n", + "BMW 2 | \n", + "2021 | \n", + "68064 | \n", + "Petrol | \n", + "1500.0 | \n", + "Manual | \n", + "cc | \n", + "13500000.0 | \n", + "
| 4 | \n", + "BMW X1 | \n", + "2017 | \n", + "138928 | \n", + "Petrol | \n", + "1500.0 | \n", + "Automatic | \n", + "cc | \n", + "8200000.0 | \n", + "
| 5 | \n", + "BMW X1 | \n", + "2017 | \n", + "32877 | \n", + "Petrol | \n", + "1500.0 | \n", + "Automatic | \n", + "cc | \n", + "8200000.0 | \n", + "
| \n", + " | Car Name | \n", + "Model Year | \n", + "Mileage | \n", + "Fuel Type | \n", + "Engine Capacity | \n", + "Transmission | \n", + "Engine Unit | \n", + "Price (PKR) | \n", + "
|---|---|---|---|---|---|---|---|---|
| 1 | \n", + "BMW X5 | \n", + "2012 | \n", + "102148 | \n", + "Petrol | \n", + "4400.0 | \n", + "Automatic | \n", + "cc | \n", + "16000000.0 | \n", + "
| 2 | \n", + "BMW 7 | \n", + "2017 | \n", + "48000 | \n", + "Hybrid | \n", + "2000.0 | \n", + "Automatic | \n", + "cc | \n", + "34500000.0 | \n", + "
| 3 | \n", + "BMW 2 | \n", + "2021 | \n", + "68064 | \n", + "Petrol | \n", + "1500.0 | \n", + "Manual | \n", + "cc | \n", + "13500000.0 | \n", + "
| 4 | \n", + "BMW X1 | \n", + "2017 | \n", + "138928 | \n", + "Petrol | \n", + "1500.0 | \n", + "Automatic | \n", + "cc | \n", + "8200000.0 | \n", + "
| 5 | \n", + "BMW X1 | \n", + "2017 | \n", + "32877 | \n", + "Petrol | \n", + "1500.0 | \n", + "Automatic | \n", + "cc | \n", + "8200000.0 | \n", + "
ColumnTransformer(transformers=[('num',\n",
+ " Pipeline(steps=[('imputer',\n",
+ " SimpleImputer(strategy='median')),\n",
+ " ('skew', PowerTransformer()),\n",
+ " ('scaler', StandardScaler())]),\n",
+ " ['Model Year', 'Mileage', 'Engine Capacity']),\n",
+ " ('cat',\n",
+ " Pipeline(steps=[('one',\n",
+ " OneHotEncoder(handle_unknown='ignore'))]),\n",
+ " ['Fuel Type', 'Transmission', 'Engine Unit'])])In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook. ['Model Year', 'Mileage', 'Engine Capacity']
| \n", + " | \n",
+ " \n",
+ " method\n",
+ " method: {'yeo-johnson', 'box-cox'}, default='yeo-johnson' The power transform method. Available methods are: - 'yeo-johnson' [1]_, works with positive and negative values - 'box-cox' [2]_, only works with strictly positive values\n", + " \n", + " | \n",
+ " 'yeo-johnson' | \n", + "
| \n", + " | \n",
+ " \n",
+ " standardize\n",
+ " standardize: bool, default=True Set to True to apply zero-mean, unit-variance normalization to the transformed output.\n", + " \n", + " | \n",
+ " True | \n", + "
| \n", + " | \n",
+ " \n",
+ " copy\n",
+ " copy: bool, default=True Set to False to perform inplace computation during transformation.\n", + " \n", + " | \n",
+ " True | \n", + "
| \n", + " | \n",
+ " \n",
+ " copy\n",
+ " copy: bool, default=True If False, try to avoid a copy and do inplace scaling instead. This is not guaranteed to always work inplace; e.g. if the data is not a NumPy array or scipy.sparse CSR matrix, a copy may still be returned.\n", + " \n", + " | \n",
+ " True | \n", + "
| \n", + " | \n",
+ " \n",
+ " with_mean\n",
+ " with_mean: bool, default=True If True, center the data before scaling. This does not work (and will raise an exception) when attempted on sparse matrices, because centering them entails building a dense matrix which in common use cases is likely to be too large to fit in memory.\n", + " \n", + " | \n",
+ " True | \n", + "
| \n", + " | \n",
+ " \n",
+ " with_std\n",
+ " with_std: bool, default=True If True, scale the data to unit variance (or equivalently, unit standard deviation).\n", + " \n", + " | \n",
+ " True | \n", + "
['Fuel Type', 'Transmission', 'Engine Unit']
| \n", + " | Name | \n", + "R2_score | \n", + "MSE | \n", + "MAE | \n", + "RMSE | \n", + "
|---|---|---|---|---|---|
| 0 | \n", + "Linear Regression | \n", + "0.633844 | \n", + "1.115574e+14 | \n", + "7.326226e+06 | \n", + "1.056207e+07 | \n", + "
| 1 | \n", + "Ridge Regression | \n", + "0.637113 | \n", + "1.105614e+14 | \n", + "7.358608e+06 | \n", + "1.051482e+07 | \n", + "
| 2 | \n", + "Lasso Regression | \n", + "0.633844 | \n", + "1.115574e+14 | \n", + "7.326226e+06 | \n", + "1.056207e+07 | \n", + "
| 3 | \n", + "ElasticNet | \n", + "0.645937 | \n", + "1.078729e+14 | \n", + "7.885882e+06 | \n", + "1.038619e+07 | \n", + "
| 4 | \n", + "Decision Tree | \n", + "0.921837 | \n", + "2.381397e+13 | \n", + "2.435056e+06 | \n", + "4.879955e+06 | \n", + "
| 5 | \n", + "Random Forest | \n", + "0.933883 | \n", + "2.014404e+13 | \n", + "2.550051e+06 | \n", + "4.488211e+06 | \n", + "
| 6 | \n", + "Extra Trees | \n", + "0.871264 | \n", + "3.922225e+13 | \n", + "2.848568e+06 | \n", + "6.262767e+06 | \n", + "
| 7 | \n", + "Gradient Boosting | \n", + "0.913179 | \n", + "2.645202e+13 | \n", + "2.950997e+06 | \n", + "5.143153e+06 | \n", + "
| 8 | \n", + "K-Neighbors | \n", + "0.753490 | \n", + "7.510466e+13 | \n", + "5.118833e+06 | \n", + "8.666294e+06 | \n", + "
| 9 | \n", + "Support Vector Regressor | \n", + "-0.148005 | \n", + "3.497644e+14 | \n", + "1.153472e+07 | \n", + "1.870199e+07 | \n", + "
| 10 | \n", + "XGBoost | \n", + "0.911903 | \n", + "2.684065e+13 | \n", + "2.550636e+06 | \n", + "5.180796e+06 | \n", + "
| 11 | \n", + "AdaBoost | \n", + "0.835121 | \n", + "5.023407e+13 | \n", + "5.668587e+06 | \n", + "7.087600e+06 | \n", + "
| \n", + " | Model Year | \n", + "Mileage | \n", + "Engine Capacity | \n", + "Price (PKR) | \n", + "
|---|---|---|---|---|
| count | \n", + "297.000000 | \n", + "297.000000 | \n", + "297.000000 | \n", + "2.970000e+02 | \n", + "
| mean | \n", + "2014.319865 | \n", + "84225.114478 | \n", + "1947.538721 | \n", + "1.987818e+07 | \n", + "
| std | \n", + "8.028373 | \n", + "81370.451033 | \n", + "1541.596478 | \n", + "1.968977e+07 | \n", + "
| min | \n", + "1992.000000 | \n", + "15.000000 | \n", + "64.000000 | \n", + "1.850000e+06 | \n", + "
| 25% | \n", + "2006.000000 | \n", + "19800.000000 | \n", + "105.000000 | \n", + "5.500000e+06 | \n", + "
| 50% | \n", + "2017.000000 | \n", + "75000.000000 | \n", + "1600.000000 | \n", + "9.500000e+06 | \n", + "
| 75% | \n", + "2022.000000 | \n", + "125000.000000 | \n", + "3000.000000 | \n", + "2.770000e+07 | \n", + "
| max | \n", + "2026.000000 | \n", + "750000.000000 | \n", + "8120.000000 | \n", + "7.300000e+07 | \n", + "