{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Project 1\n", "\n", "# Used Vehicle Price Prediction" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Introduction\n", "\n", "- 1.2 Million listings scraped from TrueCar.com - Price, Mileage, Make, Model dataset from Kaggle: [data](https://www.kaggle.com/jpayne/852k-used-car-listings)\n", "- Each observation represents the price of an used car" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "%matplotlib inline\n", "import pandas as pd" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "data = pd.read_csv('https://github.com/albahnsen/PracticalMachineLearningClass/raw/master/datasets/dataTrain_carListings.zip')" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
PriceYearMileageStateMakeModel
021490201431909MDNissanMuranoAWD
121250201625741KYChevroletCamaroCoupe
220925201624633SCHyundaiSanta
314500201284026OKJeepGrand
432488201322816TNJeepWrangler
\n", "
" ], "text/plain": [ " Price Year Mileage State Make Model\n", "0 21490 2014 31909 MD Nissan MuranoAWD\n", "1 21250 2016 25741 KY Chevrolet CamaroCoupe\n", "2 20925 2016 24633 SC Hyundai Santa\n", "3 14500 2012 84026 OK Jeep Grand\n", "4 32488 2013 22816 TN Jeep Wrangler" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data.head()" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(500000, 6)" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data.shape" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "count 500000.000000\n", "mean 21144.186304\n", "std 10753.259704\n", "min 5001.000000\n", "25% 13499.000000\n", "50% 18450.000000\n", "75% 26998.000000\n", "max 79999.000000\n", "Name: Price, dtype: float64" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data.Price.describe()" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "data.plot(kind='scatter', y='Price', x='Year')" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "data.plot(kind='scatter', y='Price', x='Mileage')" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Index(['Price', 'Year', 'Mileage', 'State', 'Make', 'Model'], dtype='object')" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data.columns" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Exercise P1.1 (50%)\n", "\n", "Develop a machine learning model that predicts the price of the of car using as an input ['Year', 'Mileage', 'State', 'Make', 'Model']\n", "\n", "Submit the prediction of the testing set to Kaggle\n", "https://www.kaggle.com/c/miia4200-20191-p1-usedcarpriceprediction\n", "\n", "#### Evaluation:\n", "- 25% - Performance of the model in the Kaggle Private Leaderboard\n", "- 25% - Notebook explaining the modeling process\n" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "data_test = pd.read_csv('https://github.com/albahnsen/PracticalMachineLearningClass/raw/master/datasets/dataTest_carListings.zip', index_col=0)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
YearMileageStateMakeModel
ID
0201523388OHFordEscapeFWD
1201445061PAFordEscapeSE
22007101033WIToyotaCamry4dr
3201513590HIJeepWrangler
42009118916CODodgeCharger4dr
\n", "
" ], "text/plain": [ " Year Mileage State Make Model\n", "ID \n", "0 2015 23388 OH Ford EscapeFWD\n", "1 2014 45061 PA Ford EscapeSE\n", "2 2007 101033 WI Toyota Camry4dr\n", "3 2015 13590 HI Jeep Wrangler\n", "4 2009 118916 CO Dodge Charger4dr" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data_test.head()" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(250000, 5)" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data_test.shape" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Submission example" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "import numpy as np" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "np.random.seed(42)\n", "y_pred = pd.DataFrame(np.random.rand(data_test.shape[0]) * 75000 + 5000, index=data_test.index, columns=['Price'])" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "y_pred.to_csv('test_submission.csv', index_label='ID')" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Price
ID
033090.508914
176303.572981
259899.545636
349899.386315
416701.398033
\n", "
" ], "text/plain": [ " Price\n", "ID \n", "0 33090.508914\n", "1 76303.572981\n", "2 59899.545636\n", "3 49899.386315\n", "4 16701.398033" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "y_pred.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Exercise P1.2 (50%)\n", "\n", "Create an API of the model.\n", "\n", "Example:\n", "![](https://raw.githubusercontent.com/albahnsen/PracticalMachineLearningClass/master/notebooks/images/img015.PNG)\n", "\n", "#### Evaluation:\n", "- 40% - API hosted on a cloud service\n", "- 10% - Show screenshots of the model doing the predictions on the local machine\n" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "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.7.0" } }, "nbformat": 4, "nbformat_minor": 1 }