{
"cells": [
{
"cell_type": "markdown",
"id": "41b4b1fb",
"metadata": {},
"source": [
"# Phone cost prediction \n",
"
\n",
"Author: Presnyakov Oleg\n",
"
\n",
"Course Project, UC Irvine, Math 10, S24\n",
"
\n",
"I would like to post my notebook on the course’s website. Yes"
]
},
{
"cell_type": "markdown",
"id": "4ccf31fc",
"metadata": {},
"source": [
"## Introduction:\n",
"In this project I am aimimg to build a model that will predict a price for a phone using it's features. \n",
"
\n",
"The data was taken from a relatively new dataset on kaggle:
\n",
"https://www.kaggle.com/datasets/dewangmoghe/mobile-phone-price-prediction/data"
]
},
{
"cell_type": "markdown",
"id": "5e4fa5b6",
"metadata": {},
"source": [
"## Importing and setting up the data"
]
},
{
"cell_type": "code",
"execution_count": 303,
"id": "0d70f9e2",
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd\n",
"import altair as alt\n",
"import numpy as np\n",
"import re\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.metrics import mean_squared_error\n",
"from sklearn.tree import DecisionTreeClassifier, plot_tree\n",
"from sklearn.model_selection import train_test_split\n",
"from sklearn.linear_model import LogisticRegression\n",
"from sklearn.metrics import mean_squared_error, classification_report\n",
"from sklearn.preprocessing import StandardScaler\n",
"from sklearn.neighbors import KNeighborsClassifier\n",
"from sklearn.cluster import KMeans\n",
"from sklearn.ensemble import RandomForestRegressor\n",
"from sklearn.model_selection import KFold\n",
"from sklearn.metrics import r2_score\n",
"from sklearn.impute import SimpleImputer"
]
},
{
"cell_type": "code",
"execution_count": 304,
"id": "fa049b5d",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n", " | Unnamed: 0 | \n", "Name | \n", "Rating | \n", "Spec_score | \n", "No_of_sim | \n", "Ram | \n", "Battery | \n", "Display | \n", "Camera | \n", "External_Memory | \n", "Android_version | \n", "Price | \n", "company | \n", "Inbuilt_memory | \n", "fast_charging | \n", "Screen_resolution | \n", "Processor | \n", "Processor_name | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | \n", "0 | \n", "Samsung Galaxy F14 5G | \n", "4.65 | \n", "68 | \n", "Dual Sim, 3G, 4G, 5G, VoLTE, | \n", "4 GB RAM | \n", "6000 mAh Battery | \n", "6.6 inches | \n", "50 MP + 2 MP Dual Rear & 13 MP Front Camera | \n", "Memory Card Supported, upto 1 TB | \n", "13 | \n", "9,999 | \n", "Samsung | \n", "128 GB inbuilt | \n", "25W Fast Charging | \n", "2408 x 1080 px Display with Water Drop Notch | \n", "Octa Core Processor | \n", "Exynos 1330 | \n", "
1 | \n", "1 | \n", "Samsung Galaxy A11 | \n", "4.20 | \n", "63 | \n", "Dual Sim, 3G, 4G, VoLTE, | \n", "2 GB RAM | \n", "4000 mAh Battery | \n", "6.4 inches | \n", "13 MP + 5 MP + 2 MP Triple Rear & 8 MP Fro... | \n", "Memory Card Supported, upto 512 GB | \n", "10 | \n", "9,990 | \n", "Samsung | \n", "32 GB inbuilt | \n", "15W Fast Charging | \n", "720 x 1560 px Display with Punch Hole | \n", "1.8 GHz Processor | \n", "Octa Core | \n", "
2 | \n", "2 | \n", "Samsung Galaxy A13 | \n", "4.30 | \n", "75 | \n", "Dual Sim, 3G, 4G, VoLTE, | \n", "4 GB RAM | \n", "5000 mAh Battery | \n", "6.6 inches | \n", "50 MP Quad Rear & 8 MP Front Camera | \n", "Memory Card Supported, upto 1 TB | \n", "12 | \n", "11,999 | \n", "Samsung | \n", "64 GB inbuilt | \n", "25W Fast Charging | \n", "1080 x 2408 px Display with Water Drop Notch | \n", "2 GHz Processor | \n", "Octa Core | \n", "
3 | \n", "3 | \n", "Samsung Galaxy F23 | \n", "4.10 | \n", "73 | \n", "Dual Sim, 3G, 4G, VoLTE, | \n", "4 GB RAM | \n", "6000 mAh Battery | \n", "6.4 inches | \n", "48 MP Quad Rear & 13 MP Front Camera | \n", "Memory Card Supported, upto 1 TB | \n", "12 | \n", "11,999 | \n", "Samsung | \n", "64 GB inbuilt | \n", "NaN | \n", "720 x 1600 px | \n", "Octa Core | \n", "Helio G88 | \n", "
4 | \n", "4 | \n", "Samsung Galaxy A03s (4GB RAM + 64GB) | \n", "4.10 | \n", "69 | \n", "Dual Sim, 3G, 4G, VoLTE, | \n", "4 GB RAM | \n", "5000 mAh Battery | \n", "6.5 inches | \n", "13 MP + 2 MP + 2 MP Triple Rear & 5 MP Fro... | \n", "Memory Card Supported, upto 1 TB | \n", "11 | \n", "11,999 | \n", "Samsung | \n", "64 GB inbuilt | \n", "15W Fast Charging | \n", "720 x 1600 px Display with Water Drop Notch | \n", "Octa Core | \n", "Helio P35 | \n", "
\n", " | Unnamed: 0 | \n", "Name | \n", "Rating | \n", "Spec_score | \n", "Ram | \n", "Battery | \n", "Display | \n", "Camera | \n", "Android_version | \n", "Price | \n", "... | \n", "Inbuilt_memory | \n", "fast_charging | \n", "Processor | \n", "Processor_name | \n", "EXT_Memory_GB | \n", "Memory_GB | \n", "px | \n", "Display with Water Drop Notch | \n", "Display with Punch Hole | \n", "No_of_sim_count | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | \n", "0 | \n", "Samsung Galaxy F14 5G | \n", "4.65 | \n", "68 | \n", "4.0 | \n", "6000.0 | \n", "6.6 | \n", "50 MP + 2 MP Dual Rear & 13 MP Front Camera | \n", "13 | \n", "9999.0 | \n", "... | \n", "128 GB inbuilt | \n", "25.0 | \n", "Octa Core Processor | \n", "Exynos 1330 | \n", "1024.0 | \n", "128.0 | \n", "2408 x 1080 | \n", "1 | \n", "0 | \n", "6 | \n", "
1 | \n", "1 | \n", "Samsung Galaxy A11 | \n", "4.20 | \n", "63 | \n", "2.0 | \n", "4000.0 | \n", "6.4 | \n", "13 MP + 5 MP + 2 MP Triple Rear & 8 MP Fro... | \n", "10 | \n", "9990.0 | \n", "... | \n", "32 GB inbuilt | \n", "15.0 | \n", "1.8 GHz Processor | \n", "Octa Core | \n", "512.0 | \n", "32.0 | \n", "720 x 1560 | \n", "0 | \n", "1 | \n", "5 | \n", "
2 | \n", "2 | \n", "Samsung Galaxy A13 | \n", "4.30 | \n", "75 | \n", "4.0 | \n", "5000.0 | \n", "6.6 | \n", "50 MP Quad Rear & 8 MP Front Camera | \n", "12 | \n", "11999.0 | \n", "... | \n", "64 GB inbuilt | \n", "25.0 | \n", "2 GHz Processor | \n", "Octa Core | \n", "1024.0 | \n", "64.0 | \n", "1080 x 2408 | \n", "1 | \n", "0 | \n", "5 | \n", "
3 | \n", "3 | \n", "Samsung Galaxy F23 | \n", "4.10 | \n", "73 | \n", "4.0 | \n", "6000.0 | \n", "6.4 | \n", "48 MP Quad Rear & 13 MP Front Camera | \n", "12 | \n", "11999.0 | \n", "... | \n", "64 GB inbuilt | \n", "0 | \n", "Octa Core | \n", "Helio G88 | \n", "1024.0 | \n", "64.0 | \n", "NaN | \n", "0 | \n", "0 | \n", "5 | \n", "
4 | \n", "4 | \n", "Samsung Galaxy A03s (4GB RAM + 64GB) | \n", "4.10 | \n", "69 | \n", "4.0 | \n", "5000.0 | \n", "6.5 | \n", "13 MP + 2 MP + 2 MP Triple Rear & 5 MP Fro... | \n", "11 | \n", "11999.0 | \n", "... | \n", "64 GB inbuilt | \n", "15.0 | \n", "Octa Core | \n", "Helio P35 | \n", "1024.0 | \n", "64.0 | \n", "720 x 1600 | \n", "1 | \n", "0 | \n", "5 | \n", "
5 rows × 21 columns
\n", "\n", " | Unnamed: 0 | \n", "Name | \n", "Rating | \n", "Spec_score | \n", "Ram | \n", "Battery | \n", "Display | \n", "Android_version | \n", "Price | \n", "company | \n", "... | \n", "Processor | \n", "Processor_name | \n", "EXT_Memory_GB | \n", "Memory_GB | \n", "px | \n", "Display with Water Drop Notch | \n", "Display with Punch Hole | \n", "No_of_sim_count | \n", "Rear | \n", "Front | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | \n", "0 | \n", "Samsung Galaxy F14 5G | \n", "4.65 | \n", "68 | \n", "4.0 | \n", "6000.0 | \n", "6.6 | \n", "13 | \n", "9999.0 | \n", "Samsung | \n", "... | \n", "Octa Core Processor | \n", "Exynos 1330 | \n", "1024.0 | \n", "128.0 | \n", "2600640.0 | \n", "1 | \n", "0 | \n", "6 | \n", "52 | \n", "13 | \n", "
1 | \n", "1 | \n", "Samsung Galaxy A11 | \n", "4.20 | \n", "63 | \n", "2.0 | \n", "4000.0 | \n", "6.4 | \n", "10 | \n", "9990.0 | \n", "Samsung | \n", "... | \n", "1.8 GHz Processor | \n", "Octa Core | \n", "512.0 | \n", "32.0 | \n", "1123200.0 | \n", "0 | \n", "1 | \n", "5 | \n", "20 | \n", "8 | \n", "
2 | \n", "2 | \n", "Samsung Galaxy A13 | \n", "4.30 | \n", "75 | \n", "4.0 | \n", "5000.0 | \n", "6.6 | \n", "12 | \n", "11999.0 | \n", "Samsung | \n", "... | \n", "2 GHz Processor | \n", "Octa Core | \n", "1024.0 | \n", "64.0 | \n", "2600640.0 | \n", "1 | \n", "0 | \n", "5 | \n", "50 | \n", "8 | \n", "
3 | \n", "3 | \n", "Samsung Galaxy F23 | \n", "4.10 | \n", "73 | \n", "4.0 | \n", "6000.0 | \n", "6.4 | \n", "12 | \n", "11999.0 | \n", "Samsung | \n", "... | \n", "Octa Core | \n", "Helio G88 | \n", "1024.0 | \n", "64.0 | \n", "NaN | \n", "0 | \n", "0 | \n", "5 | \n", "48 | \n", "13 | \n", "
4 | \n", "4 | \n", "Samsung Galaxy A03s (4GB RAM + 64GB) | \n", "4.10 | \n", "69 | \n", "4.0 | \n", "5000.0 | \n", "6.5 | \n", "11 | \n", "11999.0 | \n", "Samsung | \n", "... | \n", "Octa Core | \n", "Helio P35 | \n", "1024.0 | \n", "64.0 | \n", "1152000.0 | \n", "1 | \n", "0 | \n", "5 | \n", "17 | \n", "5 | \n", "
5 rows × 22 columns
\n", "\n", " | Unnamed: 0 | \n", "Name | \n", "Rating | \n", "Spec_score | \n", "Ram | \n", "Battery | \n", "Display | \n", "Android_version | \n", "Price | \n", "Inbuilt_memory | \n", "... | \n", "Processor_name_Tiger T616 | \n", "Processor_name_Unisoc SC9836A | \n", "Processor_name_Unisoc SC9863A | \n", "Processor_name_Unisoc T606 | \n", "Processor_name_Unisoc SC9832E | \n", "Processor_name_Unisoc SC9863A | \n", "Processor_name_Unisoc T603 | \n", "Processor_name_Unisoc T606 | \n", "Processor_name_Unisoc T610 | \n", "Processor_name_Unisoc T612 | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | \n", "0 | \n", "Samsung Galaxy F14 5G | \n", "4.65 | \n", "68 | \n", "4.0 | \n", "6000.0 | \n", "6.6 | \n", "13 | \n", "9999.0 | \n", "128 GB inbuilt | \n", "... | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "
1 | \n", "1 | \n", "Samsung Galaxy A11 | \n", "4.20 | \n", "63 | \n", "2.0 | \n", "4000.0 | \n", "6.4 | \n", "10 | \n", "9990.0 | \n", "32 GB inbuilt | \n", "... | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "
2 | \n", "2 | \n", "Samsung Galaxy A13 | \n", "4.30 | \n", "75 | \n", "4.0 | \n", "5000.0 | \n", "6.6 | \n", "12 | \n", "11999.0 | \n", "64 GB inbuilt | \n", "... | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "
3 | \n", "3 | \n", "Samsung Galaxy F23 | \n", "4.10 | \n", "73 | \n", "4.0 | \n", "6000.0 | \n", "6.4 | \n", "12 | \n", "11999.0 | \n", "64 GB inbuilt | \n", "... | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "
4 | \n", "4 | \n", "Samsung Galaxy A03s (4GB RAM + 64GB) | \n", "4.10 | \n", "69 | \n", "4.0 | \n", "5000.0 | \n", "6.5 | \n", "11 | \n", "11999.0 | \n", "64 GB inbuilt | \n", "... | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "0 | \n", "
5 rows × 335 columns
\n", "