{ "cells": [ { "cell_type": "markdown", "id": "2d7c7f3c", "metadata": {}, "source": [ "#
Grow Intern
\n", "#Author : Tajeddine Bourhim
" ] }, { "cell_type": "code", "execution_count": 69, "id": "dc9993c8", "metadata": { "execution": { "iopub.execute_input": "2024-06-09T15:46:45.072763Z", "iopub.status.busy": "2024-06-09T15:46:45.072335Z", "iopub.status.idle": "2024-06-09T15:46:47.504456Z", "shell.execute_reply": "2024-06-09T15:46:47.503300Z" }, "papermill": { "duration": 2.445503, "end_time": "2024-06-09T15:46:47.507176", "exception": false, "start_time": "2024-06-09T15:46:45.061673", "status": "completed" }, "tags": [] }, "outputs": [], "source": [ "import pandas as pd\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "from sklearn.model_selection import train_test_split\n", "from sklearn.linear_model import LinearRegression\n", "from sklearn import metrics\n", "from sklearn.preprocessing import OneHotEncoder\n", "from sklearn.compose import ColumnTransformer\n", "from sklearn.pipeline import Pipeline\n", "from sklearn.preprocessing import StandardScaler\n", "import pickle\n" ] }, { "cell_type": "markdown", "id": "a6e65e23", "metadata": { "papermill": { "duration": 0.007901, "end_time": "2024-06-09T15:46:47.523537", "exception": false, "start_time": "2024-06-09T15:46:47.515636", "status": "completed" }, "tags": [] }, "source": [ "## Read data from CSV file" ] }, { "cell_type": "code", "execution_count": 70, "id": "e7150ea1", "metadata": { "execution": { "iopub.execute_input": "2024-06-09T15:46:47.542478Z", "iopub.status.busy": "2024-06-09T15:46:47.541311Z", "iopub.status.idle": "2024-06-09T15:46:47.760213Z", "shell.execute_reply": "2024-06-09T15:46:47.758974Z" }, "papermill": { "duration": 0.230969, "end_time": "2024-06-09T15:46:47.762820", "exception": false, "start_time": "2024-06-09T15:46:47.531851", "status": "completed" }, "tags": [] }, "outputs": [], "source": [ "df = pd.read_csv('CarsData.csv')" ] }, { "cell_type": "markdown", "id": "b00eb3ed", "metadata": { "papermill": { "duration": 0.008112, "end_time": "2024-06-09T15:46:47.779335", "exception": false, "start_time": "2024-06-09T15:46:47.771223", "status": "completed" }, "tags": [] }, "source": [ "## Display the number of cars manufactured each year" ] }, { "cell_type": "code", "execution_count": 71, "id": "04ff92b9", "metadata": { "execution": { "iopub.execute_input": "2024-06-09T15:46:47.798175Z", "iopub.status.busy": "2024-06-09T15:46:47.797787Z", "iopub.status.idle": "2024-06-09T15:46:47.817538Z", "shell.execute_reply": "2024-06-09T15:46:47.816136Z" }, "papermill": { "duration": 0.031958, "end_time": "2024-06-09T15:46:47.820184", "exception": false, "start_time": "2024-06-09T15:46:47.788226", "status": "completed" }, "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "year\n", "1970 2\n", "1996 2\n", "1997 4\n", "1998 8\n", "1999 6\n", "2000 9\n", "2001 20\n", "2002 31\n", "2003 34\n", "2004 52\n", "2005 69\n", "2006 86\n", "2007 163\n", "2008 199\n", "2009 277\n", "2010 340\n", "2011 432\n", "2012 633\n", "2013 2590\n", "2014 4053\n", "2015 7586\n", "2016 15724\n", "2017 21616\n", "2018 13570\n", "2019 26165\n", "2020 4040\n", "2024 1\n", "dtype: int64\n" ] } ], "source": [ "num_types = df.groupby(by='year').size();\n", "print(num_types);" ] }, { "cell_type": "markdown", "id": "f3bf385a", "metadata": { "papermill": { "duration": 0.007983, "end_time": "2024-06-09T15:46:47.836685", "exception": false, "start_time": "2024-06-09T15:46:47.828702", "status": "completed" }, "tags": [] }, "source": [ "## Bar graph showing the number of cars by manufacturing year" ] }, { "cell_type": "code", "execution_count": 72, "id": "e0d505e4", "metadata": { "execution": { "iopub.execute_input": "2024-06-09T15:46:47.855894Z", "iopub.status.busy": "2024-06-09T15:46:47.855082Z", "iopub.status.idle": "2024-06-09T15:46:48.362284Z", "shell.execute_reply": "2024-06-09T15:46:48.361203Z" }, "papermill": { "duration": 0.519176, "end_time": "2024-06-09T15:46:48.364772", "exception": false, "start_time": "2024-06-09T15:46:47.845596", "status": "completed" }, "tags": [] }, "outputs": [ { "data": { "image/png": "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3cOHD3Hz5k3t611cXJCQkGAwJvN2bmMyt2fH0tISlpaWzzAzIiIiehEp72kaPXo0UlJSUKlSJSxduhSdOnXKdjGW8uXLw8XFBZGRkdq6pKQk7N+/Hz4+PgAAHx8f3L59G1FRUdqYbdu2ISMjA97e3tqYXbt2IS0tTRuzdetWvPbaayhWrJg25vH7yRyTeT9EREREynuaevfubfDnU4zh7t27OHPmjHY7Li4O0dHRKF68OMqVK4ehQ4fi008/ReXKlVG+fHlMmDABrq6u2ifsqlWrhoCAAPTr1w8LFy5EWloaBg0ahO7du8PV1RUA0KNHD0yePBnBwcEYNWoUjh07hjlz5uDLL7/U7nfIkCFo3rw5Zs2ahcDAQKxcuRIHDx40uCwBERERvdqUQ1N4eLjR7/zgwYN44403tNvDhg0DAPTp0wfh4eEYOXIkkpOT0b9/f9y+fRtNmjRBREQErKystK9Zvnw5Bg0ahJYtW0Kv16Nz58746quvtO0ODg747bffEBISAi8vL5QsWRITJ040uJZTo0aNsGLFCowfPx5jx45F5cqVsW7dulfyXC0iIiLKnvJ1mihnvE4TERFlh9dpegWv00RERET0KmNoIiIiIlLA0ERERESkgKGJiIiISAFDExEREZEChiYiIiIiBQxNRERERAoYmoiIiIgUMDQRERERKWBoIiIiIlLA0ERERESkgKGJiIiISAFDExEREZEChiYiIiIiBQxNRERERAoYmoiIiIgUMDQRERERKWBoIiIiIlLA0ERERESkgKGJiIiISAFDExEREZEChiYiIiIiBQxNRERERAoYmoiIiIgUMDQRERERKTAv7AaIiIhMjk6X+xiR/O+DTAr3NBEREREpYGgiIiIiUsDQRERERKSAoYmIiIhIAUMTERERkQKGJiIiIiIFDE1EREREChiaiIiIiBQwNBEREREpYGgiIiIiUsDQRERERKSAoYmIiIhIAUMTERERkQKGJiIiIiIFDE1EREREChiaiIiIiBQwNBEREREpYGgiIiIiUsDQRERERKSAoYmIiIhIAUMTERERkQKGJiIiIiIFDE1EREREChiaiIiIiBQwNBEREREpYGgiIiIiUsDQRERERKSAoYmIiIhIAUMTERERkQKGJiIiIiIFJh2aJk2aBJ1OZ7BUrVpV256SkoKQkBCUKFECtra26Ny5MxISEgxq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Fxcn9+7dk3v37klcXJx888034uTkJCNHjsy1TrFixbTf4lq3bi09evTQfvN68OCBBAcHi5+fn1JPOp1O+vXrJ05OTmJubi6BgYGydu1ag9+qVDRp0kRCQkLkzp07MnPmTClTpoyEhIRo2z/++GNp1KhRrnX69+8vjRs3lqNHj0psbKx06dJFRo4cKcnJyfLdd9+JtbW1LF++PNc6lStXzjFgzZs3TypVqqQ0t9DQ0ByXnj17Kr0Z+Pj4yNixY0VEJCMjQ6ZPny62trayefNmEVF/U6latar2GBw6dEjMzc0N9iwsXrxYvLy8lOZmbm4uAQEBMmnSJG0JCwsTvV4vH374obYuNzqdTntTadWqlbz33nsG24cMGSJvvvlmrnUsLS21vS1VqlTRHptMO3fulHLlyinNTafTyb///itr166Vtm3birm5uZQqVUqGDx+ep98yS5curf1GHx8fLzqdTn777Tdt++7du6VMmTJKtapWrSorV67Ubv/1119StmxZycjIEBGRbt26SceOHXOtU65cOfn555+fun3lypXi5uaWa52OHTvmuLz55pvKe5o8PT1lzpw52u2ff/5ZbGxstOem6vO7QoUKsn79ehERiY2NFb1eb/CY/fzzz1KzZs1c69ja2kpgYKCEh4dry5IlS8TMzEw+++wzbZ2Kx5/fTZo0kdGjRxts/+yzz6Rhw4a51rG0tJTz58+LiIiHh0eWXyQOHjwopUuXVu4nOjpaBg0aJMWLFxcLCwvp1KmTbNq0SXs+qShVqpQcPnxYRERu374tOp1O/vjjD217VFSUODs751rHw8NDNm3apN2OiYmREiVKaL+oDB48WFq1aqXUk7Fev431+pYThqZ85OzsLBEREU/dHhERIU5OTrnWKVq0qJw5c0ZEHr2gZ/7mkikmJkYcHByUesr84UtLS5PVq1dLmzZtxMzMTJydnWXkyJHKu2Xt7e21ntLS0sTc3Fz7QRQROX36tFJPJUuWNNiNe/PmTbGyspLk5GQREZk7d654enrmWsfS0lJOnTr11O2nTp0SKyurXOuIPPots27dutKiRYtsl3r16im9GTz+GGVavny52NjYyPr165XfVIoWLWpwGMfS0lKOHTum3Y6NjRVHR0elue3evVsqVqwoEydONNjLaW5uLsePH1eqIWL4plK6dGnZt2+fwfbMPaK5cXd31/a+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ERERESlgaCIiIiJSwNBEREREpIChiYheGSICX19f+Pv7Z9k2f/58ODo64tKlS4XQGRG9CBiaiOiVodPpsGTJEuzfvx/ffPONtj4uLg4jR47E119/jbJlyxr1PtPS0oxaj4gKD0MTEb1S3NzcMGfOHHz88ceIi4uDiCA4OBh+fn6oU6cOWrduDVtbWzg7O6NXr164fv269rURERFo0qQJHB0dUaJECbz11ls4e/astv38+fPQ6XT4+eef0bx5c1hZWWH58uWFMU0iyge8uCURvZI6dOiAxMREdOrUCZ988gmOHz+OGjVq4P3330fv3r1x//59jBo1Cg8fPsS2bdsAAL/++it0Oh1ef/113L17FxMnTsT58+cRHR0NvV6P8+fPo3z58vDw8MCsWbNQp04dWFlZoXTp0oU8WyIyBoYmInolXb16FTVq1MDNmzfx66+/4tixY/jjjz+wZcsWbcylS5fg5uaGmJgYVKlSJUuN69evo1SpUjh69Chq1qyphabZs2djyJAhBTkdIioAPDxHRK8kJycnDBgwANWqVUOHDh3w999/Y/v27bC1tdWWqlWrAoB2CC42NhbvvPMOKlSoAHt7e3h4eAAALly4YFC7Xr16BToXIioY5oXdABFRYTE3N4e5+aOXwbt376Jt27aYPn16lnGZh9fatm0Ld3d3fPvtt3B1dUVGRgZq1qyJBw8eGIy3sbHJ/+aJqMAxNBERAahbty5+/fVXeHh4aEHqcTdu3EBMTAy+/fZbNG3aFACwe/fugm6TiAoRD88REQEICQnBzZs38c477+Cvv/7C2bNnsWXLFgQFBSE9PR3FihVDiRIlsGjRIpw5cwbbtm3DsGHDCrttIipADE1ERABcXV2xZ88epKenw8/PD7Vq1cLQoUPh6OgIvV4PvV6PlStXIioqCjVr1kRoaChmzpxZ2G0TUQHip+eIiIiIFHBPExEREZEChiYiIiIiBQxNRERERAoYmoiIiIgUMDQRERERKWBoIiIiIlLA0ERERESkgKGJiIiISAFDExEREZEChiYiIiIiBQxNRERERAr+H7GSFLXwa3c3AAAAAElFTkSuQmCC", "text/plain": [ "Pipeline(steps=[('preprocessor',\n",
" ColumnTransformer(transformers=[('num', StandardScaler(),\n",
" ['year', 'mileage', 'tax',\n",
" 'mpg', 'engineSize']),\n",
" ('cat', OneHotEncoder(),\n",
" ['transmission', 'fuelType',\n",
" 'Manufacturer'])])),\n",
" ('model', LinearRegression())])In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook. Pipeline(steps=[('preprocessor',\n",
" ColumnTransformer(transformers=[('num', StandardScaler(),\n",
" ['year', 'mileage', 'tax',\n",
" 'mpg', 'engineSize']),\n",
" ('cat', OneHotEncoder(),\n",
" ['transmission', 'fuelType',\n",
" 'Manufacturer'])])),\n",
" ('model', LinearRegression())])ColumnTransformer(transformers=[('num', StandardScaler(),\n",
" ['year', 'mileage', 'tax', 'mpg',\n",
" 'engineSize']),\n",
" ('cat', OneHotEncoder(),\n",
" ['transmission', 'fuelType', 'Manufacturer'])])['year', 'mileage', 'tax', 'mpg', 'engineSize']
StandardScaler()
['transmission', 'fuelType', 'Manufacturer']
OneHotEncoder()
LinearRegression()