Files

3700 lines
458 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"cells": [
{
"cell_type": "markdown",
"id": "193cc36275a60171",
"metadata": {
"ExecuteTime": {
"end_time": "2026-04-25T10:00:23.434531Z",
"start_time": "2026-04-25T10:00:23.381273Z"
}
},
"source": [
"## This is the Q1 Notebook!\n",
"\n",
"It's tracked via GitHub! hence the need for this line for the init commit\n"
]
},
{
"cell_type": "code",
"id": "edaea0c939a83b79",
"metadata": {
"ExecuteTime": {
"end_time": "2026-04-26T14:56:42.154757400Z",
"start_time": "2026-04-26T14:56:42.149519800Z"
}
},
"source": [
"import pandas as pd\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"import seaborn as sns"
],
"outputs": [],
"execution_count": 71
},
{
"cell_type": "code",
"id": "15479f82",
"metadata": {
"ExecuteTime": {
"end_time": "2026-04-26T14:56:42.183724400Z",
"start_time": "2026-04-26T14:56:42.158794100Z"
}
},
"source": "seed = 101",
"outputs": [],
"execution_count": 72
},
{
"cell_type": "code",
"id": "e657e9baacc13e6b",
"metadata": {
"ExecuteTime": {
"end_time": "2026-04-26T14:56:42.211091Z",
"start_time": "2026-04-26T14:56:42.184723400Z"
}
},
"source": "df = pd.read_csv('data/googleplaystore_new.csv')",
"outputs": [],
"execution_count": 73
},
{
"cell_type": "markdown",
"id": "751a6161e8e12bdd",
"metadata": {},
"source": [
"## Part A\n",
"\n",
"\n",
"Q: Check for any missing values. If any, delete all rows that contain null values Then,\n",
"check for duplicates (similar contents for every feature). If any, delete the\n",
"redundant rows. **[1 mark]**\n"
]
},
{
"cell_type": "code",
"id": "756c92821453bbb3",
"metadata": {
"ExecuteTime": {
"end_time": "2026-04-26T14:56:42.260879500Z",
"start_time": "2026-04-26T14:56:42.233110900Z"
}
},
"source": [
"df = df.dropna()\n",
"df = df.drop_duplicates()"
],
"outputs": [],
"execution_count": 74
},
{
"cell_type": "code",
"id": "4e1be303d63f47a4",
"metadata": {
"ExecuteTime": {
"end_time": "2026-04-26T14:56:42.312882900Z",
"start_time": "2026-04-26T14:56:42.262878700Z"
}
},
"source": "df.head(10)",
"outputs": [
{
"data": {
"text/plain": [
" App Category Rating Reviews Size \\\n",
"0 Market Update Helper LIBRARIES_AND_DEMO 4.1 20145 11k \n",
"1 SuperLivePro BUSINESS 4.3 46353 21M \n",
"2 Wifi Connect Library LIBRARIES_AND_DEMO 3.9 58055 41k \n",
"3 Apk Installer LIBRARIES_AND_DEMO 3.8 7750 292k \n",
"4 English speaking texts EDUCATION 4.4 1619 3.0M \n",
"5 Eternal life LIBRARIES_AND_DEMO 5.0 26 2.5M \n",
"6 Dresses Ideas & Fashions +3000 BEAUTY 4.5 473 8.2M \n",
"7 GO Notifier COMMUNICATION 4.2 124346 695k \n",
"8 Prosperity EVENTS 5.0 16 2.3M \n",
"9 NSE Mobile Trading FINANCE 4.1 13868 1.4M \n",
"\n",
" Installs Type Price Content Rating Genres Android Ver \n",
"0 1,000,000+ Free 0 Everyone Libraries & Demo 1.5 and up \n",
"1 1,000,000+ Free 0 Everyone Business 1.5 and up \n",
"2 5,000,000+ Free 0 Everyone Libraries & Demo 1.5 and up \n",
"3 1,000,000+ Free 0 Everyone Libraries & Demo 1.6 and up \n",
"4 1,000,000+ Free 0 Everyone Education 1.6 and up \n",
"5 1,000+ Free 0 Everyone Libraries & Demo 1.6 and up \n",
"6 100,000+ Free 0 Mature 17+ Beauty 1.6 and up \n",
"7 10,000,000+ Free 0 Everyone Communication 2.0 and up \n",
"8 100+ Free 0 Everyone Events 2.0 and up \n",
"9 1,000,000+ Free 0 Everyone Finance 2.1 and up "
],
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>App</th>\n",
" <th>Category</th>\n",
" <th>Rating</th>\n",
" <th>Reviews</th>\n",
" <th>Size</th>\n",
" <th>Installs</th>\n",
" <th>Type</th>\n",
" <th>Price</th>\n",
" <th>Content Rating</th>\n",
" <th>Genres</th>\n",
" <th>Android Ver</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>Market Update Helper</td>\n",
" <td>LIBRARIES_AND_DEMO</td>\n",
" <td>4.1</td>\n",
" <td>20145</td>\n",
" <td>11k</td>\n",
" <td>1,000,000+</td>\n",
" <td>Free</td>\n",
" <td>0</td>\n",
" <td>Everyone</td>\n",
" <td>Libraries &amp; Demo</td>\n",
" <td>1.5 and up</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>SuperLivePro</td>\n",
" <td>BUSINESS</td>\n",
" <td>4.3</td>\n",
" <td>46353</td>\n",
" <td>21M</td>\n",
" <td>1,000,000+</td>\n",
" <td>Free</td>\n",
" <td>0</td>\n",
" <td>Everyone</td>\n",
" <td>Business</td>\n",
" <td>1.5 and up</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>Wifi Connect Library</td>\n",
" <td>LIBRARIES_AND_DEMO</td>\n",
" <td>3.9</td>\n",
" <td>58055</td>\n",
" <td>41k</td>\n",
" <td>5,000,000+</td>\n",
" <td>Free</td>\n",
" <td>0</td>\n",
" <td>Everyone</td>\n",
" <td>Libraries &amp; Demo</td>\n",
" <td>1.5 and up</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>Apk Installer</td>\n",
" <td>LIBRARIES_AND_DEMO</td>\n",
" <td>3.8</td>\n",
" <td>7750</td>\n",
" <td>292k</td>\n",
" <td>1,000,000+</td>\n",
" <td>Free</td>\n",
" <td>0</td>\n",
" <td>Everyone</td>\n",
" <td>Libraries &amp; Demo</td>\n",
" <td>1.6 and up</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>English speaking texts</td>\n",
" <td>EDUCATION</td>\n",
" <td>4.4</td>\n",
" <td>1619</td>\n",
" <td>3.0M</td>\n",
" <td>1,000,000+</td>\n",
" <td>Free</td>\n",
" <td>0</td>\n",
" <td>Everyone</td>\n",
" <td>Education</td>\n",
" <td>1.6 and up</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>Eternal life</td>\n",
" <td>LIBRARIES_AND_DEMO</td>\n",
" <td>5.0</td>\n",
" <td>26</td>\n",
" <td>2.5M</td>\n",
" <td>1,000+</td>\n",
" <td>Free</td>\n",
" <td>0</td>\n",
" <td>Everyone</td>\n",
" <td>Libraries &amp; Demo</td>\n",
" <td>1.6 and up</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>Dresses Ideas &amp; Fashions +3000</td>\n",
" <td>BEAUTY</td>\n",
" <td>4.5</td>\n",
" <td>473</td>\n",
" <td>8.2M</td>\n",
" <td>100,000+</td>\n",
" <td>Free</td>\n",
" <td>0</td>\n",
" <td>Mature 17+</td>\n",
" <td>Beauty</td>\n",
" <td>1.6 and up</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>GO Notifier</td>\n",
" <td>COMMUNICATION</td>\n",
" <td>4.2</td>\n",
" <td>124346</td>\n",
" <td>695k</td>\n",
" <td>10,000,000+</td>\n",
" <td>Free</td>\n",
" <td>0</td>\n",
" <td>Everyone</td>\n",
" <td>Communication</td>\n",
" <td>2.0 and up</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>Prosperity</td>\n",
" <td>EVENTS</td>\n",
" <td>5.0</td>\n",
" <td>16</td>\n",
" <td>2.3M</td>\n",
" <td>100+</td>\n",
" <td>Free</td>\n",
" <td>0</td>\n",
" <td>Everyone</td>\n",
" <td>Events</td>\n",
" <td>2.0 and up</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>NSE Mobile Trading</td>\n",
" <td>FINANCE</td>\n",
" <td>4.1</td>\n",
" <td>13868</td>\n",
" <td>1.4M</td>\n",
" <td>1,000,000+</td>\n",
" <td>Free</td>\n",
" <td>0</td>\n",
" <td>Everyone</td>\n",
" <td>Finance</td>\n",
" <td>2.1 and up</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
]
},
"execution_count": 75,
"metadata": {},
"output_type": "execute_result"
}
],
"execution_count": 75
},
{
"cell_type": "markdown",
"id": "5e0e0e76635904b6",
"metadata": {
"ExecuteTime": {
"end_time": "2026-04-25T13:14:34.819448Z",
"start_time": "2026-04-25T13:14:34.807334900Z"
}
},
"source": [
"## Part B\n",
"\n",
"Q: Create a new column called 'Size in bytes' (numeric) and convert the entries\n",
"from 'Size' column (M means megabyte and k means kilobytes). **[1 mark]**\n"
]
},
{
"cell_type": "code",
"id": "c15cb7f9831e0f81",
"metadata": {
"ExecuteTime": {
"end_time": "2026-04-26T14:56:42.366041900Z",
"start_time": "2026-04-26T14:56:42.339395200Z"
}
},
"source": [
"def parse_size(size_str):\n",
" if isinstance(size_str, str):\n",
" if size_str.endswith('M'):\n",
" return float(size_str[:-1]) * 1024 * 1024\n",
" elif size_str.endswith('k'):\n",
" return float(size_str[:-1]) * 1024\n",
" return size_str"
],
"outputs": [],
"execution_count": 76
},
{
"cell_type": "code",
"id": "c76da70de24ddc72",
"metadata": {
"ExecuteTime": {
"end_time": "2026-04-26T14:56:42.393115600Z",
"start_time": "2026-04-26T14:56:42.368041500Z"
}
},
"source": "df['Size in bytes'] = df['Size'].apply(parse_size)",
"outputs": [],
"execution_count": 77
},
{
"cell_type": "code",
"id": "73784ad66975e81f",
"metadata": {
"ExecuteTime": {
"end_time": "2026-04-26T14:56:42.470291300Z",
"start_time": "2026-04-26T14:56:42.417130200Z"
}
},
"source": "df[['Size', 'Size in bytes']].head(10)",
"outputs": [
{
"data": {
"text/plain": [
" Size Size in bytes\n",
"0 11k 11264.0\n",
"1 21M 22020096.0\n",
"2 41k 41984.0\n",
"3 292k 299008.0\n",
"4 3.0M 3145728.0\n",
"5 2.5M 2621440.0\n",
"6 8.2M 8598323.2\n",
"7 695k 711680.0\n",
"8 2.3M 2411724.8\n",
"9 1.4M 1468006.4"
],
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Size</th>\n",
" <th>Size in bytes</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>11k</td>\n",
" <td>11264.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>21M</td>\n",
" <td>22020096.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>41k</td>\n",
" <td>41984.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>292k</td>\n",
" <td>299008.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>3.0M</td>\n",
" <td>3145728.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>2.5M</td>\n",
" <td>2621440.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>8.2M</td>\n",
" <td>8598323.2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>695k</td>\n",
" <td>711680.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>2.3M</td>\n",
" <td>2411724.8</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>1.4M</td>\n",
" <td>1468006.4</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
]
},
"execution_count": 78,
"metadata": {},
"output_type": "execute_result"
}
],
"execution_count": 78
},
{
"cell_type": "code",
"id": "f16b316e8c3e58c0",
"metadata": {
"ExecuteTime": {
"end_time": "2026-04-26T14:56:42.545931300Z",
"start_time": "2026-04-26T14:56:42.494316800Z"
}
},
"source": [
"conversion_check = pd.DataFrame({\n",
" 'Example Input': ['11k', '21M', '1.4M'],\n",
" 'Expected Bytes': [11 * 1024, 21 * 1024 * 1024, 1.4 * 1024 * 1024]\n",
"})\n",
"conversion_check"
],
"outputs": [
{
"data": {
"text/plain": [
" Example Input Expected Bytes\n",
"0 11k 11264.0\n",
"1 21M 22020096.0\n",
"2 1.4M 1468006.4"
],
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Example Input</th>\n",
" <th>Expected Bytes</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>11k</td>\n",
" <td>11264.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>21M</td>\n",
" <td>22020096.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>1.4M</td>\n",
" <td>1468006.4</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
]
},
"execution_count": 79,
"metadata": {},
"output_type": "execute_result"
}
],
"execution_count": 79
},
{
"cell_type": "code",
"id": "3e1112ae100d010c",
"metadata": {
"ExecuteTime": {
"end_time": "2026-04-26T14:56:42.625051500Z",
"start_time": "2026-04-26T14:56:42.571993400Z"
}
},
"source": "df.head(10)",
"outputs": [
{
"data": {
"text/plain": [
" App Category Rating Reviews Size \\\n",
"0 Market Update Helper LIBRARIES_AND_DEMO 4.1 20145 11k \n",
"1 SuperLivePro BUSINESS 4.3 46353 21M \n",
"2 Wifi Connect Library LIBRARIES_AND_DEMO 3.9 58055 41k \n",
"3 Apk Installer LIBRARIES_AND_DEMO 3.8 7750 292k \n",
"4 English speaking texts EDUCATION 4.4 1619 3.0M \n",
"5 Eternal life LIBRARIES_AND_DEMO 5.0 26 2.5M \n",
"6 Dresses Ideas & Fashions +3000 BEAUTY 4.5 473 8.2M \n",
"7 GO Notifier COMMUNICATION 4.2 124346 695k \n",
"8 Prosperity EVENTS 5.0 16 2.3M \n",
"9 NSE Mobile Trading FINANCE 4.1 13868 1.4M \n",
"\n",
" Installs Type Price Content Rating Genres Android Ver \\\n",
"0 1,000,000+ Free 0 Everyone Libraries & Demo 1.5 and up \n",
"1 1,000,000+ Free 0 Everyone Business 1.5 and up \n",
"2 5,000,000+ Free 0 Everyone Libraries & Demo 1.5 and up \n",
"3 1,000,000+ Free 0 Everyone Libraries & Demo 1.6 and up \n",
"4 1,000,000+ Free 0 Everyone Education 1.6 and up \n",
"5 1,000+ Free 0 Everyone Libraries & Demo 1.6 and up \n",
"6 100,000+ Free 0 Mature 17+ Beauty 1.6 and up \n",
"7 10,000,000+ Free 0 Everyone Communication 2.0 and up \n",
"8 100+ Free 0 Everyone Events 2.0 and up \n",
"9 1,000,000+ Free 0 Everyone Finance 2.1 and up \n",
"\n",
" Size in bytes \n",
"0 11264.0 \n",
"1 22020096.0 \n",
"2 41984.0 \n",
"3 299008.0 \n",
"4 3145728.0 \n",
"5 2621440.0 \n",
"6 8598323.2 \n",
"7 711680.0 \n",
"8 2411724.8 \n",
"9 1468006.4 "
],
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>App</th>\n",
" <th>Category</th>\n",
" <th>Rating</th>\n",
" <th>Reviews</th>\n",
" <th>Size</th>\n",
" <th>Installs</th>\n",
" <th>Type</th>\n",
" <th>Price</th>\n",
" <th>Content Rating</th>\n",
" <th>Genres</th>\n",
" <th>Android Ver</th>\n",
" <th>Size in bytes</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>Market Update Helper</td>\n",
" <td>LIBRARIES_AND_DEMO</td>\n",
" <td>4.1</td>\n",
" <td>20145</td>\n",
" <td>11k</td>\n",
" <td>1,000,000+</td>\n",
" <td>Free</td>\n",
" <td>0</td>\n",
" <td>Everyone</td>\n",
" <td>Libraries &amp; Demo</td>\n",
" <td>1.5 and up</td>\n",
" <td>11264.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>SuperLivePro</td>\n",
" <td>BUSINESS</td>\n",
" <td>4.3</td>\n",
" <td>46353</td>\n",
" <td>21M</td>\n",
" <td>1,000,000+</td>\n",
" <td>Free</td>\n",
" <td>0</td>\n",
" <td>Everyone</td>\n",
" <td>Business</td>\n",
" <td>1.5 and up</td>\n",
" <td>22020096.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>Wifi Connect Library</td>\n",
" <td>LIBRARIES_AND_DEMO</td>\n",
" <td>3.9</td>\n",
" <td>58055</td>\n",
" <td>41k</td>\n",
" <td>5,000,000+</td>\n",
" <td>Free</td>\n",
" <td>0</td>\n",
" <td>Everyone</td>\n",
" <td>Libraries &amp; Demo</td>\n",
" <td>1.5 and up</td>\n",
" <td>41984.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>Apk Installer</td>\n",
" <td>LIBRARIES_AND_DEMO</td>\n",
" <td>3.8</td>\n",
" <td>7750</td>\n",
" <td>292k</td>\n",
" <td>1,000,000+</td>\n",
" <td>Free</td>\n",
" <td>0</td>\n",
" <td>Everyone</td>\n",
" <td>Libraries &amp; Demo</td>\n",
" <td>1.6 and up</td>\n",
" <td>299008.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>English speaking texts</td>\n",
" <td>EDUCATION</td>\n",
" <td>4.4</td>\n",
" <td>1619</td>\n",
" <td>3.0M</td>\n",
" <td>1,000,000+</td>\n",
" <td>Free</td>\n",
" <td>0</td>\n",
" <td>Everyone</td>\n",
" <td>Education</td>\n",
" <td>1.6 and up</td>\n",
" <td>3145728.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>Eternal life</td>\n",
" <td>LIBRARIES_AND_DEMO</td>\n",
" <td>5.0</td>\n",
" <td>26</td>\n",
" <td>2.5M</td>\n",
" <td>1,000+</td>\n",
" <td>Free</td>\n",
" <td>0</td>\n",
" <td>Everyone</td>\n",
" <td>Libraries &amp; Demo</td>\n",
" <td>1.6 and up</td>\n",
" <td>2621440.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>Dresses Ideas &amp; Fashions +3000</td>\n",
" <td>BEAUTY</td>\n",
" <td>4.5</td>\n",
" <td>473</td>\n",
" <td>8.2M</td>\n",
" <td>100,000+</td>\n",
" <td>Free</td>\n",
" <td>0</td>\n",
" <td>Mature 17+</td>\n",
" <td>Beauty</td>\n",
" <td>1.6 and up</td>\n",
" <td>8598323.2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>GO Notifier</td>\n",
" <td>COMMUNICATION</td>\n",
" <td>4.2</td>\n",
" <td>124346</td>\n",
" <td>695k</td>\n",
" <td>10,000,000+</td>\n",
" <td>Free</td>\n",
" <td>0</td>\n",
" <td>Everyone</td>\n",
" <td>Communication</td>\n",
" <td>2.0 and up</td>\n",
" <td>711680.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>Prosperity</td>\n",
" <td>EVENTS</td>\n",
" <td>5.0</td>\n",
" <td>16</td>\n",
" <td>2.3M</td>\n",
" <td>100+</td>\n",
" <td>Free</td>\n",
" <td>0</td>\n",
" <td>Everyone</td>\n",
" <td>Events</td>\n",
" <td>2.0 and up</td>\n",
" <td>2411724.8</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>NSE Mobile Trading</td>\n",
" <td>FINANCE</td>\n",
" <td>4.1</td>\n",
" <td>13868</td>\n",
" <td>1.4M</td>\n",
" <td>1,000,000+</td>\n",
" <td>Free</td>\n",
" <td>0</td>\n",
" <td>Everyone</td>\n",
" <td>Finance</td>\n",
" <td>2.1 and up</td>\n",
" <td>1468006.4</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
]
},
"execution_count": 80,
"metadata": {},
"output_type": "execute_result"
}
],
"execution_count": 80
},
{
"cell_type": "markdown",
"id": "9883e69704d0a69e",
"metadata": {
"ExecuteTime": {
"end_time": "2026-04-25T13:28:40.682532800Z",
"start_time": "2026-04-25T13:28:40.678521Z"
}
},
"source": [
"## Part C\n",
"\n",
"Q: Create a new column called ‘Numeric_installs' (numeric) and convert the entries\n",
"from ‘Installs’ column (remove ‘+’ and ‘,’; for example, “5,000,000+” becomes\n",
"“5000000” as an Integer). **[1 mark]**\n"
]
},
{
"cell_type": "code",
"id": "c8d4f46526918c20",
"metadata": {
"ExecuteTime": {
"end_time": "2026-04-26T14:56:42.648934900Z",
"start_time": "2026-04-26T14:56:42.626051300Z"
}
},
"source": "df['Numeric Installs'] = df['Installs'].str.replace('+', '').str.replace(',', '').astype(int)",
"outputs": [],
"execution_count": 81
},
{
"cell_type": "code",
"id": "cffd24a82d242352",
"metadata": {
"ExecuteTime": {
"end_time": "2026-04-26T14:56:42.742232400Z",
"start_time": "2026-04-26T14:56:42.676459300Z"
}
},
"source": "df.head(10)",
"outputs": [
{
"data": {
"text/plain": [
" App Category Rating Reviews Size \\\n",
"0 Market Update Helper LIBRARIES_AND_DEMO 4.1 20145 11k \n",
"1 SuperLivePro BUSINESS 4.3 46353 21M \n",
"2 Wifi Connect Library LIBRARIES_AND_DEMO 3.9 58055 41k \n",
"3 Apk Installer LIBRARIES_AND_DEMO 3.8 7750 292k \n",
"4 English speaking texts EDUCATION 4.4 1619 3.0M \n",
"5 Eternal life LIBRARIES_AND_DEMO 5.0 26 2.5M \n",
"6 Dresses Ideas & Fashions +3000 BEAUTY 4.5 473 8.2M \n",
"7 GO Notifier COMMUNICATION 4.2 124346 695k \n",
"8 Prosperity EVENTS 5.0 16 2.3M \n",
"9 NSE Mobile Trading FINANCE 4.1 13868 1.4M \n",
"\n",
" Installs Type Price Content Rating Genres Android Ver \\\n",
"0 1,000,000+ Free 0 Everyone Libraries & Demo 1.5 and up \n",
"1 1,000,000+ Free 0 Everyone Business 1.5 and up \n",
"2 5,000,000+ Free 0 Everyone Libraries & Demo 1.5 and up \n",
"3 1,000,000+ Free 0 Everyone Libraries & Demo 1.6 and up \n",
"4 1,000,000+ Free 0 Everyone Education 1.6 and up \n",
"5 1,000+ Free 0 Everyone Libraries & Demo 1.6 and up \n",
"6 100,000+ Free 0 Mature 17+ Beauty 1.6 and up \n",
"7 10,000,000+ Free 0 Everyone Communication 2.0 and up \n",
"8 100+ Free 0 Everyone Events 2.0 and up \n",
"9 1,000,000+ Free 0 Everyone Finance 2.1 and up \n",
"\n",
" Size in bytes Numeric Installs \n",
"0 11264.0 1000000 \n",
"1 22020096.0 1000000 \n",
"2 41984.0 5000000 \n",
"3 299008.0 1000000 \n",
"4 3145728.0 1000000 \n",
"5 2621440.0 1000 \n",
"6 8598323.2 100000 \n",
"7 711680.0 10000000 \n",
"8 2411724.8 100 \n",
"9 1468006.4 1000000 "
],
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>App</th>\n",
" <th>Category</th>\n",
" <th>Rating</th>\n",
" <th>Reviews</th>\n",
" <th>Size</th>\n",
" <th>Installs</th>\n",
" <th>Type</th>\n",
" <th>Price</th>\n",
" <th>Content Rating</th>\n",
" <th>Genres</th>\n",
" <th>Android Ver</th>\n",
" <th>Size in bytes</th>\n",
" <th>Numeric Installs</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>Market Update Helper</td>\n",
" <td>LIBRARIES_AND_DEMO</td>\n",
" <td>4.1</td>\n",
" <td>20145</td>\n",
" <td>11k</td>\n",
" <td>1,000,000+</td>\n",
" <td>Free</td>\n",
" <td>0</td>\n",
" <td>Everyone</td>\n",
" <td>Libraries &amp; Demo</td>\n",
" <td>1.5 and up</td>\n",
" <td>11264.0</td>\n",
" <td>1000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>SuperLivePro</td>\n",
" <td>BUSINESS</td>\n",
" <td>4.3</td>\n",
" <td>46353</td>\n",
" <td>21M</td>\n",
" <td>1,000,000+</td>\n",
" <td>Free</td>\n",
" <td>0</td>\n",
" <td>Everyone</td>\n",
" <td>Business</td>\n",
" <td>1.5 and up</td>\n",
" <td>22020096.0</td>\n",
" <td>1000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>Wifi Connect Library</td>\n",
" <td>LIBRARIES_AND_DEMO</td>\n",
" <td>3.9</td>\n",
" <td>58055</td>\n",
" <td>41k</td>\n",
" <td>5,000,000+</td>\n",
" <td>Free</td>\n",
" <td>0</td>\n",
" <td>Everyone</td>\n",
" <td>Libraries &amp; Demo</td>\n",
" <td>1.5 and up</td>\n",
" <td>41984.0</td>\n",
" <td>5000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>Apk Installer</td>\n",
" <td>LIBRARIES_AND_DEMO</td>\n",
" <td>3.8</td>\n",
" <td>7750</td>\n",
" <td>292k</td>\n",
" <td>1,000,000+</td>\n",
" <td>Free</td>\n",
" <td>0</td>\n",
" <td>Everyone</td>\n",
" <td>Libraries &amp; Demo</td>\n",
" <td>1.6 and up</td>\n",
" <td>299008.0</td>\n",
" <td>1000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>English speaking texts</td>\n",
" <td>EDUCATION</td>\n",
" <td>4.4</td>\n",
" <td>1619</td>\n",
" <td>3.0M</td>\n",
" <td>1,000,000+</td>\n",
" <td>Free</td>\n",
" <td>0</td>\n",
" <td>Everyone</td>\n",
" <td>Education</td>\n",
" <td>1.6 and up</td>\n",
" <td>3145728.0</td>\n",
" <td>1000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>Eternal life</td>\n",
" <td>LIBRARIES_AND_DEMO</td>\n",
" <td>5.0</td>\n",
" <td>26</td>\n",
" <td>2.5M</td>\n",
" <td>1,000+</td>\n",
" <td>Free</td>\n",
" <td>0</td>\n",
" <td>Everyone</td>\n",
" <td>Libraries &amp; Demo</td>\n",
" <td>1.6 and up</td>\n",
" <td>2621440.0</td>\n",
" <td>1000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>Dresses Ideas &amp; Fashions +3000</td>\n",
" <td>BEAUTY</td>\n",
" <td>4.5</td>\n",
" <td>473</td>\n",
" <td>8.2M</td>\n",
" <td>100,000+</td>\n",
" <td>Free</td>\n",
" <td>0</td>\n",
" <td>Mature 17+</td>\n",
" <td>Beauty</td>\n",
" <td>1.6 and up</td>\n",
" <td>8598323.2</td>\n",
" <td>100000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>GO Notifier</td>\n",
" <td>COMMUNICATION</td>\n",
" <td>4.2</td>\n",
" <td>124346</td>\n",
" <td>695k</td>\n",
" <td>10,000,000+</td>\n",
" <td>Free</td>\n",
" <td>0</td>\n",
" <td>Everyone</td>\n",
" <td>Communication</td>\n",
" <td>2.0 and up</td>\n",
" <td>711680.0</td>\n",
" <td>10000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>Prosperity</td>\n",
" <td>EVENTS</td>\n",
" <td>5.0</td>\n",
" <td>16</td>\n",
" <td>2.3M</td>\n",
" <td>100+</td>\n",
" <td>Free</td>\n",
" <td>0</td>\n",
" <td>Everyone</td>\n",
" <td>Events</td>\n",
" <td>2.0 and up</td>\n",
" <td>2411724.8</td>\n",
" <td>100</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>NSE Mobile Trading</td>\n",
" <td>FINANCE</td>\n",
" <td>4.1</td>\n",
" <td>13868</td>\n",
" <td>1.4M</td>\n",
" <td>1,000,000+</td>\n",
" <td>Free</td>\n",
" <td>0</td>\n",
" <td>Everyone</td>\n",
" <td>Finance</td>\n",
" <td>2.1 and up</td>\n",
" <td>1468006.4</td>\n",
" <td>1000000</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
]
},
"execution_count": 82,
"metadata": {},
"output_type": "execute_result"
}
],
"execution_count": 82
},
{
"cell_type": "markdown",
"id": "1818d3183dae5398",
"metadata": {},
"source": [
"## Part D\n",
"\n",
"Q: Save the updated dataset as “googleplaystore_new_new.csv” **[1 mark]**\n"
]
},
{
"cell_type": "code",
"id": "5a99edb9f8b29b12",
"metadata": {
"ExecuteTime": {
"end_time": "2026-04-26T14:56:42.795273800Z",
"start_time": "2026-04-26T14:56:42.770743700Z"
}
},
"source": "df.to_csv('data/googleplaystore_new_new.csv', index=False)",
"outputs": [],
"execution_count": 83
},
{
"cell_type": "markdown",
"id": "5372c799c0b2662",
"metadata": {},
"source": [
"# Part E\n",
"\n",
"Q: Using (Category + Reviews + Content Rating + Size in Bytes +\n",
"Installs_Num), find and discuss the best regression model to predict “rating”\n",
"(use the standard training/test partition without cross-validation). **[7 marks]**\n"
]
},
{
"cell_type": "code",
"id": "8cc741d5b19eaa62",
"metadata": {
"ExecuteTime": {
"end_time": "2026-04-26T14:56:42.818024400Z",
"start_time": "2026-04-26T14:56:42.797275500Z"
}
},
"source": [
"from sklearn.model_selection import train_test_split\n",
"from sklearn.linear_model import LinearRegression, Ridge, Lasso\n",
"from sklearn.preprocessing import PolynomialFeatures\n",
"from sklearn.metrics import mean_absolute_error, mean_squared_error, r2_score"
],
"outputs": [],
"execution_count": 84
},
{
"cell_type": "code",
"id": "8e417dd93534ef5f",
"metadata": {
"ExecuteTime": {
"end_time": "2026-04-26T14:56:42.828041900Z",
"start_time": "2026-04-26T14:56:42.819640800Z"
}
},
"source": [
"def split_overview(train_rows, test_rows, val_rows=None):\n",
" rows = [\n",
" {'Split': 'Train', 'Rows': train_rows},\n",
" {'Split': 'Test', 'Rows': test_rows},\n",
" ]\n",
" if val_rows is not None:\n",
" rows.insert(1, {'Split': 'Validation', 'Rows': val_rows})\n",
"\n",
" out = pd.DataFrame(rows)\n",
" out['Pct_of_Total'] = (out['Rows'] / out['Rows'].sum() * 100).round(1)\n",
" return out\n",
"\n",
"def evaluate_model(model, X_train, X_test, y_train, y_test, name):\n",
" model.fit(X_train, y_train)\n",
" y_pred = model.predict(X_test)\n",
"\n",
" results = {\n",
" 'Model': name,\n",
" 'MAE': mean_absolute_error(y_test, y_pred),\n",
" 'MSE': mean_squared_error(y_test, y_pred),\n",
" 'RMSE': np.sqrt(mean_squared_error(y_test, y_pred)),\n",
" 'R2': r2_score(y_test, y_pred)\n",
" }\n",
" return results, y_pred\n",
"\n",
"\n",
"def regression_prediction_sheet(y_true, y_pred, model_name, head_n=20):\n",
" sheet = pd.DataFrame({\n",
" 'True': y_true.reset_index(drop=True),\n",
" 'Predicted': pd.Series(y_pred).reset_index(drop=True)\n",
" })\n",
" sheet['Residual'] = sheet['True'] - sheet['Predicted']\n",
" sheet['Abs_Error'] = sheet['Residual'].abs()\n",
" sheet['Model'] = model_name\n",
" return sheet.head(head_n)"
],
"outputs": [],
"execution_count": 85
},
{
"cell_type": "code",
"id": "c2a7db56bb223aa2",
"metadata": {
"ExecuteTime": {
"end_time": "2026-04-26T14:56:42.837439700Z",
"start_time": "2026-04-26T14:56:42.828041900Z"
}
},
"source": "df_new = pd.read_csv('data/googleplaystore_new_new.csv')",
"outputs": [],
"execution_count": 86
},
{
"cell_type": "code",
"id": "70f60382c2cb1c26",
"metadata": {
"ExecuteTime": {
"end_time": "2026-04-26T14:56:42.844200800Z",
"start_time": "2026-04-26T14:56:42.838444600Z"
}
},
"source": [
"columns_to_keep = ['Category', 'Reviews', 'Content Rating', 'Size in bytes', 'Numeric Installs', 'Rating']\n",
"df_min = df_new[columns_to_keep]"
],
"outputs": [],
"execution_count": 87
},
{
"cell_type": "code",
"id": "720d514df1483929",
"metadata": {
"ExecuteTime": {
"end_time": "2026-04-26T14:56:42.855711Z",
"start_time": "2026-04-26T14:56:42.844200800Z"
}
},
"source": "df_min.head(20)",
"outputs": [
{
"data": {
"text/plain": [
" Category Reviews Content Rating Size in bytes \\\n",
"0 LIBRARIES_AND_DEMO 20145 Everyone 11264.0 \n",
"1 BUSINESS 46353 Everyone 22020096.0 \n",
"2 LIBRARIES_AND_DEMO 58055 Everyone 41984.0 \n",
"3 LIBRARIES_AND_DEMO 7750 Everyone 299008.0 \n",
"4 EDUCATION 1619 Everyone 3145728.0 \n",
"5 LIBRARIES_AND_DEMO 26 Everyone 2621440.0 \n",
"6 BEAUTY 473 Mature 17+ 8598323.2 \n",
"7 COMMUNICATION 124346 Everyone 711680.0 \n",
"8 EVENTS 16 Everyone 2411724.8 \n",
"9 FINANCE 13868 Everyone 1468006.4 \n",
"10 COMMUNICATION 32254 Everyone 5767168.0 \n",
"11 COMMUNICATION 125232 Everyone 2831155.2 \n",
"12 EDUCATION 430 Everyone 538624.0 \n",
"13 EDUCATION 275 Everyone 2411724.8 \n",
"14 BOOKS_AND_REFERENCE 1778 Mature 17+ 5138022.4 \n",
"15 BUSINESS 2287 Everyone 1572864.0 \n",
"16 LIBRARIES_AND_DEMO 126862 Everyone 638976.0 \n",
"17 COMMUNICATION 255 Everyone 1677721.6 \n",
"18 LIFESTYLE 360 Everyone 4823449.6 \n",
"19 EDUCATION 656 Everyone 569344.0 \n",
"\n",
" Numeric Installs Rating \n",
"0 1000000 4.1 \n",
"1 1000000 4.3 \n",
"2 5000000 3.9 \n",
"3 1000000 3.8 \n",
"4 1000000 4.4 \n",
"5 1000 5.0 \n",
"6 100000 4.5 \n",
"7 10000000 4.2 \n",
"8 100 5.0 \n",
"9 1000000 4.1 \n",
"10 1000000 4.4 \n",
"11 10000000 4.2 \n",
"12 10000 4.0 \n",
"13 50000 4.0 \n",
"14 500000 3.9 \n",
"15 1000000 4.4 \n",
"16 10000000 3.5 \n",
"17 10000 4.1 \n",
"18 10000 4.1 \n",
"19 10000 4.3 "
],
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Category</th>\n",
" <th>Reviews</th>\n",
" <th>Content Rating</th>\n",
" <th>Size in bytes</th>\n",
" <th>Numeric Installs</th>\n",
" <th>Rating</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>LIBRARIES_AND_DEMO</td>\n",
" <td>20145</td>\n",
" <td>Everyone</td>\n",
" <td>11264.0</td>\n",
" <td>1000000</td>\n",
" <td>4.1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>BUSINESS</td>\n",
" <td>46353</td>\n",
" <td>Everyone</td>\n",
" <td>22020096.0</td>\n",
" <td>1000000</td>\n",
" <td>4.3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>LIBRARIES_AND_DEMO</td>\n",
" <td>58055</td>\n",
" <td>Everyone</td>\n",
" <td>41984.0</td>\n",
" <td>5000000</td>\n",
" <td>3.9</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>LIBRARIES_AND_DEMO</td>\n",
" <td>7750</td>\n",
" <td>Everyone</td>\n",
" <td>299008.0</td>\n",
" <td>1000000</td>\n",
" <td>3.8</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>EDUCATION</td>\n",
" <td>1619</td>\n",
" <td>Everyone</td>\n",
" <td>3145728.0</td>\n",
" <td>1000000</td>\n",
" <td>4.4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>LIBRARIES_AND_DEMO</td>\n",
" <td>26</td>\n",
" <td>Everyone</td>\n",
" <td>2621440.0</td>\n",
" <td>1000</td>\n",
" <td>5.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>BEAUTY</td>\n",
" <td>473</td>\n",
" <td>Mature 17+</td>\n",
" <td>8598323.2</td>\n",
" <td>100000</td>\n",
" <td>4.5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>COMMUNICATION</td>\n",
" <td>124346</td>\n",
" <td>Everyone</td>\n",
" <td>711680.0</td>\n",
" <td>10000000</td>\n",
" <td>4.2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>EVENTS</td>\n",
" <td>16</td>\n",
" <td>Everyone</td>\n",
" <td>2411724.8</td>\n",
" <td>100</td>\n",
" <td>5.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>FINANCE</td>\n",
" <td>13868</td>\n",
" <td>Everyone</td>\n",
" <td>1468006.4</td>\n",
" <td>1000000</td>\n",
" <td>4.1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>COMMUNICATION</td>\n",
" <td>32254</td>\n",
" <td>Everyone</td>\n",
" <td>5767168.0</td>\n",
" <td>1000000</td>\n",
" <td>4.4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>COMMUNICATION</td>\n",
" <td>125232</td>\n",
" <td>Everyone</td>\n",
" <td>2831155.2</td>\n",
" <td>10000000</td>\n",
" <td>4.2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>EDUCATION</td>\n",
" <td>430</td>\n",
" <td>Everyone</td>\n",
" <td>538624.0</td>\n",
" <td>10000</td>\n",
" <td>4.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>EDUCATION</td>\n",
" <td>275</td>\n",
" <td>Everyone</td>\n",
" <td>2411724.8</td>\n",
" <td>50000</td>\n",
" <td>4.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>BOOKS_AND_REFERENCE</td>\n",
" <td>1778</td>\n",
" <td>Mature 17+</td>\n",
" <td>5138022.4</td>\n",
" <td>500000</td>\n",
" <td>3.9</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>BUSINESS</td>\n",
" <td>2287</td>\n",
" <td>Everyone</td>\n",
" <td>1572864.0</td>\n",
" <td>1000000</td>\n",
" <td>4.4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>LIBRARIES_AND_DEMO</td>\n",
" <td>126862</td>\n",
" <td>Everyone</td>\n",
" <td>638976.0</td>\n",
" <td>10000000</td>\n",
" <td>3.5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>COMMUNICATION</td>\n",
" <td>255</td>\n",
" <td>Everyone</td>\n",
" <td>1677721.6</td>\n",
" <td>10000</td>\n",
" <td>4.1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>LIFESTYLE</td>\n",
" <td>360</td>\n",
" <td>Everyone</td>\n",
" <td>4823449.6</td>\n",
" <td>10000</td>\n",
" <td>4.1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>EDUCATION</td>\n",
" <td>656</td>\n",
" <td>Everyone</td>\n",
" <td>569344.0</td>\n",
" <td>10000</td>\n",
" <td>4.3</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
]
},
"execution_count": 88,
"metadata": {},
"output_type": "execute_result"
}
],
"execution_count": 88
},
{
"cell_type": "code",
"id": "90953b3b6403afd6",
"metadata": {
"ExecuteTime": {
"end_time": "2026-04-26T14:56:42.878241400Z",
"start_time": "2026-04-26T14:56:42.855711Z"
}
},
"source": "df_encoded = pd.get_dummies(df_min, columns=['Category', 'Content Rating'])",
"outputs": [],
"execution_count": 89
},
{
"cell_type": "code",
"id": "518e961a8b35c05e",
"metadata": {
"ExecuteTime": {
"end_time": "2026-04-26T14:56:42.884619Z",
"start_time": "2026-04-26T14:56:42.878241400Z"
}
},
"source": [
"X = df_encoded.drop('Rating', axis=1)\n",
"y = df_encoded['Rating']"
],
"outputs": [],
"execution_count": 90
},
{
"cell_type": "code",
"id": "882619704ae0dce2",
"metadata": {
"ExecuteTime": {
"end_time": "2026-04-26T14:56:42.891670400Z",
"start_time": "2026-04-26T14:56:42.886618500Z"
}
},
"source": "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=seed)",
"outputs": [],
"execution_count": 91
},
{
"cell_type": "code",
"id": "102cda28a2a7c9cb",
"metadata": {
"ExecuteTime": {
"end_time": "2026-04-26T14:56:42.902464100Z",
"start_time": "2026-04-26T14:56:42.893675300Z"
}
},
"source": "split_overview(len(X_train), len(X_test))",
"outputs": [
{
"data": {
"text/plain": [
" Split Rows Pct_of_Total\n",
"0 Train 774 69.9\n",
"1 Test 333 30.1"
],
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Split</th>\n",
" <th>Rows</th>\n",
" <th>Pct_of_Total</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>Train</td>\n",
" <td>774</td>\n",
" <td>69.9</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>Test</td>\n",
" <td>333</td>\n",
" <td>30.1</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
]
},
"execution_count": 92,
"metadata": {},
"output_type": "execute_result"
}
],
"execution_count": 92
},
{
"cell_type": "code",
"id": "93cd24d4523d5fda",
"metadata": {
"ExecuteTime": {
"end_time": "2026-04-26T14:56:42.939730600Z",
"start_time": "2026-04-26T14:56:42.921972Z"
}
},
"source": "results = []",
"outputs": [],
"execution_count": 93
},
{
"cell_type": "markdown",
"id": "e52a65f09530a141",
"metadata": {},
"source": [
"## Trying Linear Regression\n"
]
},
{
"cell_type": "code",
"id": "db88942671bdf26a",
"metadata": {
"ExecuteTime": {
"end_time": "2026-04-26T14:56:42.950203600Z",
"start_time": "2026-04-26T14:56:42.940731Z"
}
},
"source": [
"lin_model = LinearRegression()\n",
"lin_res, y_pred_lin = evaluate_model(lin_model, X_train, X_test, y_train, y_test, \"Linear Regression\")\n",
"results.append(lin_res)"
],
"outputs": [],
"execution_count": 94
},
{
"cell_type": "code",
"id": "e9dbb4ba0c9432ed",
"metadata": {
"ExecuteTime": {
"end_time": "2026-04-26T14:56:43.020608300Z",
"start_time": "2026-04-26T14:56:42.951203100Z"
}
},
"source": [
"residual_linear = y_test - y_pred_lin\n",
"\n",
"plt.figure(figsize=(8, 5))\n",
"plt.scatter(y_pred_lin, residual_linear, alpha=0.5)\n",
"plt.axhline(y=0, color='r', linestyle='--')\n",
"plt.title(\"Part E - Linear Regression: Residual Plot\")\n",
"plt.xlabel(\"Predicted Rating\")\n",
"plt.ylabel(\"Residual (y - y_hat)\")\n",
"plt.tight_layout()\n",
"plt.show()"
],
"outputs": [
{
"data": {
"text/plain": [
"<Figure size 800x500 with 1 Axes>"
],
"image/png": "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"
},
"metadata": {},
"output_type": "display_data",
"jetTransient": {
"display_id": null
}
}
],
"execution_count": 95
},
{
"cell_type": "code",
"id": "35edc2f60d805d30",
"metadata": {
"ExecuteTime": {
"end_time": "2026-04-26T14:56:43.097741300Z",
"start_time": "2026-04-26T14:56:43.022608700Z"
}
},
"source": [
"plt.figure(figsize=(6, 6))\n",
"plt.scatter(y_test, y_pred_lin, alpha=0.5)\n",
"plt.plot([y_test.min(), y_test.max()], [y_test.min(), y_test.max()], 'r--')\n",
"plt.title(\"Part E - Linear Regression: Actual vs Predicted\")\n",
"plt.xlabel(\"True Rating\")\n",
"plt.ylabel(\"Predicted Rating\")\n",
"plt.tight_layout()\n",
"plt.show()"
],
"outputs": [
{
"data": {
"text/plain": [
"<Figure size 600x600 with 1 Axes>"
],
"image/png": "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EZEwsn271dK0bh3QsSPw7bdA794IZAqcREREpOlt2QKMHAls3gx07WqVH+jRI+DfCXXViYiISNOLiADKy4FDDgEWLw6KoInU4iQiIiJNr2tlK1NCAtChQ9C8A2pxEhERkabx++9WNXA7tjYFUdBECpxERESk8S1bBpx0kjX/HOs0BSkFTiIiItK4vv8eGD0ayMwEjj4aOPLIoN3jCpxERESk8SxcCIwbZ02ncuKJwNy5QPPmQbvHFTiJiIhI45g715qsNz8fGDMGmDMHSEkJ6r2twElEREQaJxH8L3+x5p475RQrKTwxMej3tMoRiIiIiO8NGACcf77VRTdzJhAbGxJ7WYGTiIiI+I7NZhW3jIwEXn3Vuh0dOuGGuupERETEN15/HTj3XKCszLodFRVSQROF1qsRERER/3j+eeDaa63/T5gATJ4cku+EWpxERETEO48/fjBouvFG4MILQ3aPKnASERGRhnvgAeDmm63/33kn8NhjVo5TiFJXnYiIiNSfzQbcfTfw4IPW7alTgbvuCvk9qcBJRERE6m/jRquLjh599GCrU4hT4CQiIiL117Mn8PHHwIYNwDXXhM0eVOAkIiIinikvB3bsALp0sW5zDjpewoiSw0VERKRurM100UXAsccC69aF7R5T4CQiIiK1KymxClu+8w6wfz+wenXY7jF11YmIiIh7nKT3b38DPvvMmm/uvfeA004L2z2mwElERERcKygATj8d+PprID4emD0bGD8+rPeWAicRERGpKS8POPVUYOFCIDHRanEaOTLs95QCJxEREamposJqcUpJAebMAYYN015Si5OIiIi41KwZ8NVXwJYtwJFHaidV0qg6ERERsezdC0yffnBvtGihoMmJuupEREQE2LULGDUK+PNPoLQU+PvftVdcUOAkIiIS7rZtsxK/OX1Kp07AiBH+3qKApcBJREQknG3ebAVNzGXq1g2YPx/o3t3fWxWwlOMkIiISrjh1yoknWkETJ+1dvFhBUx3U4iQiIhKOsrKA4cOBjAygb1/g22+B9u39vVUBTy1OIiIi4ah5c+CGG4CBA60ilwqaPBJhs9lsCCM5OTlITU1FdnY2mrFGhYiISDjhaT8i4uDtwkIgIQHhLKcesYFanERERMLF998D48YxUji4LMyDpvpS4CQiIhIOFiywgqZ584D77vP31gQtBU4iIiKhjlOn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l/NL1t9bIxJ2chqjjlMFm5AB06q0bNkytG7d2vstFREJV3PmAOPHW4ESRy1fcYW/t0hEPFDv9uDNmzcraBIRaSi22N99NzBhAnDDDdZtEQkaDco+zM/Px6JFi5Ceno4S1hpx8M9//tNX2yYiEloYJN1yC/D449btTp3UNScS6oHT8uXLMWHCBBQUFJgAqmXLlti3bx8SExPRtm1bBU4iIq4w3YE/LJ9/3rr97LPAtddqX4mEelfdDTfcgFNPPRWZmZlISEjAjz/+iK1bt2LQoEF47LHHGmcrRUSCGUu4XHmlFTQxp+nVVxU0iYRL4PTbb7/hpptuMqPsoqKiTP2mzp0749///jfuuOOOxtlKEZFgxsTv116zygzYR8+JSHgETiw9YC9NwK455jkRh/Ft27bN91soIhLsxo61Rs6xGvgFF/h7a0SkKXOcjjzySFOOoFevXhg+fDj+9a9/mRynt99+G/379/dmW0REQtM55wAnnAB07OjvLRGRpm5xeuihh9C+fXvz/wcffBAtWrTAVVddhb179+Lll1/2dntERIJfQQHw978DjtNQKWgSCa/K4aFClcNFpFHl5QGnngosXAgcdRSwbJmmUBEJodjAZxMi/frrrwE/3YqISKPKzgbGjbOCppQU4OmnFTSJhJh6BU6c3Pfmm282o+c2bdpklq1ZswaTJk3CMcccUzUti4hI2DlwABg9Gli6FGjeHPjmG+D44/29VSLir+Tw119/HVdccYUpeMkaTq+99hqeeOIJXHfddTj77LOxcuVK9O3b19fbJyIS+PbuBcaMAX7/HWjVCpg3jyNp/L1VIuLPFqenn34ajzzyiBlB995775nrF154AStWrMBLL72koElEwtc//mEFTe3aAYsWKWgSCWEeJ4cnJSVh1apV6NatG/iQuLg4LFiwAMOGDUMwUXK4iPjczp3A+ecDHFl86KHawSJBpj6xgcdddYWFhWY+OoqIiDCBk70sgYhI2CksBBISrP936AAsWODvLRKRQCuAybym5ORk8/+ysjLMmDEDrVu3rrbOPzmJpYhIKFu3zsppeughq6VJRMKGx1117KJjS1Otfywiomq0XaBSV52IeGX1amDUKCAjAxgwAPjlF85FpZ0qEsQapatuy5Ytvtg2EZHg9dtvVkvTvn3AwIHW6DkFTSJhxWcFMEVEQhorgJ90khU0HX20ldPUtq2/t0pEwilwevHFFzFw4EDTLMbLkCFDMGfOHLfrM6eK3YGOl/j4+CbdZhEJQ99/b3XPZWUBQ4daxS1btvT3VolIoCeH+1qnTp3w8MMPo1evXqbEwZtvvonTTjsNy5cvx2GHHebyMQyw1q5dW3W7rrwrERGv8Qddbi4wYgTw2WdA5SAZEQk/fg2cTuVEmA4efPBB0wr1448/ug2cGCilpaU10RaKiACYOpW/9IDJk4HKsiwiEp4CJsepvLwcs2bNQn5+vumycycvLw9du3ZF586dTesUi3KKiPjcd98BRUXW/9myzergCppEwl60p8P0PFXXMD5nnLKFgVJRUZGpETV79mz069fP5bq9e/fGG2+8YfKiOGTwsccew9ChQ03wxG4/V4qLi82lIa9FRMLU++8D550HjBsHfPQREBvr7y0SkWCq4xQZGelxLhFbjuqjpKQE6enpJhD64IMPTJHNRYsWuQ2eHJWWlpo58s4991xMZVO6C/feey/uu+++Gss9qdUgImHo7beBiy8GKiqs4pYzZgDRfs1qEJEAquPkUeDEQMaxntNtt92Giy++uKpL7YcffjCJ3dOmTcNFF13k1caPHj0ahxxyCF7mnE8eOOussxAdHY3//ve/Hrc4sZtPgZOI1PDaa8Df/w7wa/Gyy6y556KitKNEQlyOrwtgDh8+vOr/999/P5544gnTymP3l7/8BQMGDMArr7zideBUUVFRLdCpq3WLXX0TJkxwuw7n1ONFRKRWzz8PXHut9f+rrwaefZbN7dppIlJNvb8V2Lp0NIu/OeGy//3vf/X6W7fffjsWL15sWrEYAPH2woULcX7l3E+TJ082yxyDtq+//tpM6/Lrr7/iggsuwNatW3H55ZfX92WIiBzEIMkeNN14I/DccwqaRMSlenfcs5vr1Vdfxb///e9qy5mbxPvqY8+ePSY42rVrl2kiY9L33LlzMYZTGgAm94n5VXaZmZm44oorkJGRgRYtWmDQoEFYunSpR/lQIiJu8ccgazNNmWKVHlB9OBHxdpJfuy+//BJnnHEGevbsieOOO84sY0vT+vXr8eGHH9babRYINMmviLiUng506aKdIxKGcuqR41TvrjoGRuvWrTPFKw8cOGAu/D+XBXrQJCJi8Pfi3XcDv/xycIcoaBKRxmhxCnZqcRIJcywzcN11wAsvAK1bA+vXA82b+3urRCRUW5zou+++M4nZLD65Y8cOs+ztt9/GkiVLGrbFIiJNgXXmrrjCCpqYx/TwwwqaRKRe6h04MY9p3LhxSEhIMCPb7KUDGKU99NBD9f1zIiJNo6zMmmvujTesEXNvvWXVahIRaczA6YEHHsBLL71kRtbFxMRULR82bJgJpEREAk5JCXDOOcDMmVYV8HffBS64wN9bJSLhUI5g7dq1OPHEE2ssZ99gVlaWr7ZLRMR32CX34YfWnHMffACceqr2rog0TYtTWloaNmzYUGM585t69OjRsK0QEWlMN98MjB8PfPqpgiYRadoWJxagnDJlCt544w0z8e/OnTtNNfGbb74Zd3N4r4hIICgq4pxLVhJ4YiKL0KmwpYg0feDECX45n9yoUaNQUFBguu04FxwDp+s4xFdExN+ys4GTT+as4ZyryVqmauAi4s86TiUlJabLLi8vz0x5kszpCoKA6jiJhLj9+4Fx46zilqzPtHo10L69v7dKRMK1jtOll16K3NxcxMbGmoDp2GOPNUFTfn6+uU9ExG/27AFGjrSCJha3XLBAQZOI+FS9A6c333wThYWFNZZz2VusiyIi4g87dwIjRgB//MFRLMDChcARR+i9EBH/5DixGYu9erywxSk+Pr7qvvLycjP5b9u2bX27dSIink7QO2oUwBG/nToB334LHHqo9p2I+C9wat68uRlFx8uhLr6QuPy+++7z9faJiNSN0z0xaOrWDZg/H+jeXXtNRPwbOC1YsMC0No0cOdJMu9KyZcuq+5jv1LVrV3To0KFxtlJEpDbnnWfNQ8euus6dta9EJHBG1W3duhVdunQxLUzBSKPqREIER8sxAVwpAiISyKPq5s+fjw84ZYGT999/3ySOi4g0uuXLAU79NGYMcOCAdriINJl6B07Tpk1Da/7Kc8LE8IceeshX2yUi4tr//meVHGC9JlYGFxEJ5MApPT0d3V0kXjLHifeJiDRqEjirgXNC8aFDgXnzAId8SxGRgAuc2LL0B+ukOPn999/RqlUrX22XiEh1HC3HiuC5ucBJJwFz5wKpqdpLIhLYgdO5556Lf/7zn2aUHes38cK8J078e8455zTOVopIeGNdpokTgYICK3j64gsgSKZ5EpEwn+R36tSp2LJli5nkNzraejgn/Z08ebJynESkcRxyCNCmjVUJ/P33ldskIsE3ye+6detM91xC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"
},
"metadata": {},
"output_type": "display_data",
"jetTransient": {
"display_id": null
}
}
],
"execution_count": 96
},
{
"cell_type": "markdown",
"id": "28a6926de3a1a2e7",
"metadata": {},
"source": [
"## Trying Polynomial Regression\n"
]
},
{
"cell_type": "code",
"id": "b867289f4b8dd0ae",
"metadata": {
"ExecuteTime": {
"end_time": "2026-04-26T14:56:43.347227300Z",
"start_time": "2026-04-26T14:56:43.098741Z"
}
},
"source": [
"best_degree = None\n",
"best_poly_rmse = float('inf')\n",
"best_poly_converter = None\n",
"best_poly_model = None\n",
"best_y_pred_poly = None\n",
"\n",
"for degree in [2, 3]:\n",
" poly_converter = PolynomialFeatures(degree=degree, include_bias=False)\n",
" X_train_p = poly_converter.fit_transform(X_train)\n",
" X_test_p = poly_converter.transform(X_test)\n",
"\n",
" poly_model = LinearRegression()\n",
" poly_res_tmp, y_pred_poly_tmp = evaluate_model(poly_model, X_train_p, X_test_p, y_train, y_test, f\"Polynomial Regression (degree={degree})\")\n",
"\n",
" if poly_res_tmp['RMSE'] < best_poly_rmse:\n",
" best_poly_rmse = poly_res_tmp['RMSE']\n",
" best_degree = degree\n",
" best_poly_converter = poly_converter\n",
" best_poly_model = poly_model\n",
" best_y_pred_poly = y_pred_poly_tmp\n",
"\n",
"display(pd.DataFrame([{\n",
" 'Selection': 'Polynomial best degree by RMSE',\n",
" 'Best degree': best_degree,\n",
" 'RMSE': best_poly_rmse\n",
"}]))\n",
"\n",
"# Set these names so the rest of the notebook works as before\n",
"poly_converter = best_poly_converter\n",
"poly_model = best_poly_model\n",
"X_train_p = poly_converter.fit_transform(X_train)\n",
"X_test_p = poly_converter.transform(X_test)\n",
"y_pred_poly = best_y_pred_poly"
],
"outputs": [
{
"data": {
"text/plain": [
" Selection Best degree RMSE\n",
"0 Polynomial best degree by RMSE 2 0.415806"
],
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Selection</th>\n",
" <th>Best degree</th>\n",
" <th>RMSE</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>Polynomial best degree by RMSE</td>\n",
" <td>2</td>\n",
" <td>0.415806</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
]
},
"metadata": {},
"output_type": "display_data",
"jetTransient": {
"display_id": null
}
}
],
"execution_count": 97
},
{
"cell_type": "markdown",
"id": "e12551afcc108484",
"metadata": {},
"source": [
"# Model Performance Analysis\n",
"\n",
"The plot above compares the regression models using **MAE**, **RMSE**, and **R²**. \n",
"I'm looking at these metrics to figure out which model is actually the best at predicting the rating:\n",
"- **RMSE** (Root Mean Squared Error) and **MAE** (Mean Absolute Error): these basically tell us how far off our predictions are on average. Lower values mean the model is closer to the true ratings.\n",
"- **R²**: this tells us how much of the variation in the ratings our model actually explains. We want this to be as close to 1 as possible. If it's near 0 (or negative), the model is just guessing or doing worse than a simple average.\n",
"\n",
"Looking at the results, **Linear Regression** gives the best overall performance for this task since it has the lowest error (RMSE/MAE) and the highest R² out of all the models I tried. \n",
"The polynomial model actually performs a bit worse here, and Ridge/Lasso are super close to the linear model but don't really improve it for this specific dataset.\n",
"\n",
"So, based on the metrics, I'll go with **Linear Regression as the best-performing regression model** for predicting app ratings.\n"
]
},
{
"cell_type": "markdown",
"id": "3c89e2f8ae31de3b",
"metadata": {},
"source": [
"## Part F\n",
"\n",
"Q: Train and test all necessary model(s) to show and discuss the most predictive\n",
"feature in the previous question **[8 marks]**\n"
]
},
{
"cell_type": "code",
"id": "ab09192a122e6e8f",
"metadata": {
"ExecuteTime": {
"end_time": "2026-04-26T14:56:44.258816700Z",
"start_time": "2026-04-26T14:56:44.233721200Z"
}
},
"source": [
"features_to_test = ['Reviews', 'Size in bytes', 'Numeric Installs']\n",
"feature_results = []"
],
"outputs": [],
"execution_count": 108
},
{
"cell_type": "code",
"id": "3f65e25b63cc8e93",
"metadata": {
"ExecuteTime": {
"end_time": "2026-04-26T14:56:44.306356700Z",
"start_time": "2026-04-26T14:56:44.258816700Z"
}
},
"source": [
"for feature in features_to_test:\n",
" # Use a single input at a time to see how predictive it is for app rating\n",
" single_input = df_encoded[[feature]]\n",
"\n",
" X_train_s, X_test_s, y_train_s, y_test_s = train_test_split(\n",
" single_input, y, test_size=0.3, random_state=seed\n",
" )\n",
"\n",
" simple_model = LinearRegression()\n",
" simple_model.fit(X_train_s, y_train_s)\n",
" y_pred_s = simple_model.predict(X_test_s)\n",
"\n",
" feature_results.append({\n",
" 'Feature': feature,\n",
" 'MAE': mean_absolute_error(y_test_s, y_pred_s),\n",
" 'MSE': mean_squared_error(y_test_s, y_pred_s),\n",
" 'RMSE': np.sqrt(mean_squared_error(y_test_s, y_pred_s)),\n",
" 'R2': r2_score(y_test_s, y_pred_s)\n",
" })"
],
"outputs": [],
"execution_count": 109
},
{
"cell_type": "code",
"id": "33cc0452de54f874",
"metadata": {
"ExecuteTime": {
"end_time": "2026-04-26T14:56:44.336457100Z",
"start_time": "2026-04-26T14:56:44.306356700Z"
}
},
"source": [
"feature_results_df = pd.DataFrame(feature_results).sort_values('RMSE')\n",
"feature_results_df"
],
"outputs": [
{
"data": {
"text/plain": [
" Feature MAE MSE RMSE R2\n",
"1 Size in bytes 0.304495 0.173620 0.416677 0.009120\n",
"0 Reviews 0.304707 0.173865 0.416971 0.007722\n",
"2 Numeric Installs 0.307489 0.174643 0.417903 0.003281"
],
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Feature</th>\n",
" <th>MAE</th>\n",
" <th>MSE</th>\n",
" <th>RMSE</th>\n",
" <th>R2</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>Size in bytes</td>\n",
" <td>0.304495</td>\n",
" <td>0.173620</td>\n",
" <td>0.416677</td>\n",
" <td>0.009120</td>\n",
" </tr>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>Reviews</td>\n",
" <td>0.304707</td>\n",
" <td>0.173865</td>\n",
" <td>0.416971</td>\n",
" <td>0.007722</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>Numeric Installs</td>\n",
" <td>0.307489</td>\n",
" <td>0.174643</td>\n",
" <td>0.417903</td>\n",
" <td>0.003281</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
]
},
"execution_count": 110,
"metadata": {},
"output_type": "execute_result"
}
],
"execution_count": 110
},
{
"cell_type": "code",
"id": "4f73fdfeefd697e2",
"metadata": {
"ExecuteTime": {
"end_time": "2026-04-26T14:56:44.383004500Z",
"start_time": "2026-04-26T14:56:44.337457700Z"
}
},
"source": [
"feature_melted = feature_results_df.melt(\n",
" id_vars='Feature',\n",
" value_vars=['MAE', 'MSE', 'RMSE', 'R2'],\n",
" var_name='Metric',\n",
" value_name='Score'\n",
")"
],
"outputs": [],
"execution_count": 111
},
{
"cell_type": "code",
"id": "3b1a720808cf9b77",
"metadata": {
"ExecuteTime": {
"end_time": "2026-04-26T14:56:44.606132800Z",
"start_time": "2026-04-26T14:56:44.404689200Z"
}
},
"source": [
"plt.figure(figsize=(9, 5))\n",
"sns.barplot(data=feature_melted, x='Feature', y='Score', hue='Metric')\n",
"plt.title(\"Part F: Single-Feature Comparison (Linear Regression)\")\n",
"plt.xticks(rotation=15)\n",
"plt.tight_layout()\n",
"plt.show()"
],
"outputs": [
{
"data": {
"text/plain": [
"<Figure size 900x500 with 1 Axes>"
],
"image/png": "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unRpmzp1qr388suWK1cud9uRI0dsypQpduGFFwa3a9mypR09etQFheXKlXOB3ty5c23Pnj1h+xswYIB16dIl7LbzzjvPYo0gDwAAAEBcqFWrlm3atMk+/PBDa9eunbtNfyvAK1u2rLu+d+9eW7hwoc2bN88aNmzobrvooousbt26ifangK548eKW3jAnDwAAAEDcuOeee2zChAnB6+PHj7dOnToFr+fNm9ddZsyYYQkJCZYREeQBAAAAiBt33XWXLVq0yM2n02Xx4sXuNk/WrFndvDylahYoUMDNwXv66aft22+/TbSvp556KhgUeheNAsYa6ZoAAAAA4kaRIkXspptucoFcIBBwfxcuXDhsG83J0+0K2JYtW2affPKJDRkyxMaNG+cKuHh69OgRdl1KlSplsUaQBwAAACDuUja7du3q/h41alTUbXLmzGmNGzd2lz59+tg//vEP69evX1hQp+CwQoUKlt6QrgkAAAAgrjRt2tRVzzx27Jg1adIkRY+pUqWKHTp0yDICRvIAAAAAxJUsWbLYunXrgn+H0jIJrVq1cqN91apVcxU0V65c6dI1mzdvHrbtgQMHbPv27WG35c6d2/Lly2exRJAHAAAAIO7kSyIQU/GUevXqubX0tNyCRvu0vp7Ww1MBllBaHF2XUNEWW09rBHkAAAAAzsrh+95L0XaVilWK2Ts9ceLEZO/XkgmeQYMGuUtyNm/ebOkVc/IAAAAAwEcI8gAAAADARwjyAAAAAMBHCPIAAAAAwEcI8gAAAADAR9JFkKdV5suUKeNWlVe50hUrViS57Ycffmh16tSxAgUKWJ48eaxGjRr21ltvhW2jVegzZcoUdtGChwAAAADgdzFfQmHatGnWvXt3t5aEArzhw4e7Vec3bNhgRYsWTbR9oUKF7JlnnrFKlSpZ9uzZbebMmdapUye3behq9QrqJkyYELyeI0eONHtNAAAAABC3I3nDhg1zCwsqUKtSpYoL9rRK/Pjx46Nuf80119htt91mlStXtvLly9ujjz7qVqJftGhR2HYK6ooXLx68FCxYMI1eEQAAAADEaZB39OhRW7VqlTVq1Oj/DyhzZnd96dKlp3x8IBCwuXPnulG/q6++Ouy+efPmudG9iy++2B544AHbs2dPkvtJSEiw/fv3h10AAAAAICOKabrm7t277cSJE1asWLGw23V9/fr1ST5u3759VqpUKRecZcmSxV577TVr3LhxWKrm7bffbmXLlrVNmzbZ008/bc2aNXOBo7aPpNXs+/fvn8qvDgAAAADicE7emTjvvPNszZo1dvDgQTeSpzl95cqVc6mc0qZNm+C2VatWdemcSu3U6N7111+faH+9evVy+/BoJK906dJp9GoAAACAjK3z9M5p+nyLH1582o/p2LGjTZo0yf2dNWtWu+CCC6xVq1Y2YMAAVwBSVLBRNDh0+eWXBx+rwaWSJUvaH3/8YV9++WUw7pg/f74bLFJscuTIETcQ1aBBAxs7dqyrH6L449prr416PNu2bXPTynwX5BUuXNiNrO3YsSPsdl1P7gUrpbNChQrub1XXXLdunRuN897sSAoA9VwbN26MGuRp/h6FWQAAAAB/a/p/xRmPHTvmpo116NDBBXaDBw8ObqPBHm0TGuR99NFHljdvXhfkedauXev29/DDD9urr75quXLlsh9//NE++OADl60YStPL8uXLF3ZbtCKTvpiTp+i2du3abjTOc/LkSXe9fv36Kd6PHqPoOim//fabm5NXokSJsz5mAAAAABlTjv8rzqhArkWLFq4WyGeffRa2jQK/qVOn2l9//RW8TUUhdXuoOXPmuH0NGTLELr30Upc5qKBPo3gK+CIDutCikLpo4Mq31TWVJqk3QkOnGpFTkZRDhw65apvSvn17l07p0YidPoiffvrJbf/SSy+5dfLuuusud79SOHv06GHLli2zzZs3u4CxefPmbuQvdIkFAAAAAPHru+++syVLlriBp1AahNIa3hqRky1bttiCBQvs7rvvDttOgZpSLnVfehPzOXmtW7e2Xbt2Wd++fW379u0u/XL27NnBYix6U0OjXAWADz74oBudU4Ss9fLefvtttx9R+ue3337rgsa9e/e63NkbbrjBBg4cSEomAAAAEMdmzpzp0i6PHz/uMgEVZ4wcOTLRdvfcc48bvdNA0sSJE+3GG2+0IkWKhG2j+XyffvqpNWzY0AV8Su/U1DANUkWmZmr+X6iLLrrIvv/+e/8GedK1a1d3iUaTFUM999xz7pIUBX56swEAAAAglIqgjB492g0cvfzyy64AS8uWLS2SgruePXu67EEFeZpzF0mDS5q7p9jkiy++sOXLl9vzzz/v5vetWLEibKrYwoULXfFIT7Zs2excinm6JgAAAACkhTx58rhpXNWr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"
},
"metadata": {},
"output_type": "display_data",
"jetTransient": {
"display_id": null
}
}
],
"execution_count": 112
},
{
"cell_type": "code",
"id": "593913702f875fa0",
"metadata": {
"ExecuteTime": {
"end_time": "2026-04-26T14:56:44.772635300Z",
"start_time": "2026-04-26T14:56:44.637162200Z"
}
},
"source": [
"best_feature = feature_results_df.iloc[0]['Feature']\n",
"\n",
"best_row = feature_results_df.iloc[0]\n",
"display(pd.DataFrame([{\n",
" 'Best Feature': best_row['Feature'],\n",
" 'MAE': best_row['MAE'],\n",
" 'MSE': best_row['MSE'],\n",
" 'RMSE': best_row['RMSE'],\n",
" 'R2': best_row['R2']\n",
"}]))"
],
"outputs": [
{
"data": {
"text/plain": [
" Best Feature MAE MSE RMSE R2\n",
"0 Size in bytes 0.304495 0.17362 0.416677 0.00912"
],
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Best Feature</th>\n",
" <th>MAE</th>\n",
" <th>MSE</th>\n",
" <th>RMSE</th>\n",
" <th>R2</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>Size in bytes</td>\n",
" <td>0.304495</td>\n",
" <td>0.17362</td>\n",
" <td>0.416677</td>\n",
" <td>0.00912</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
]
},
"metadata": {},
"output_type": "display_data",
"jetTransient": {
"display_id": null
}
}
],
"execution_count": 113
},
{
"cell_type": "code",
"id": "2be649a00dbb9fc7",
"metadata": {
"ExecuteTime": {
"end_time": "2026-04-26T14:56:44.877796Z",
"start_time": "2026-04-26T14:56:44.774635400Z"
}
},
"source": [
"X_best = df_encoded[[best_feature]]\n",
"X_train_b, X_test_b, y_train_b, y_test_b = train_test_split(\n",
" X_best, y, test_size=0.3, random_state=seed\n",
")"
],
"outputs": [],
"execution_count": 114
},
{
"cell_type": "code",
"id": "d36175ff718e84a1",
"metadata": {
"ExecuteTime": {
"end_time": "2026-04-26T14:56:44.907736300Z",
"start_time": "2026-04-26T14:56:44.880305300Z"
}
},
"source": [
"best_model = LinearRegression()\n",
"best_model.fit(X_train_b, y_train_b)\n",
"y_pred_b = best_model.predict(X_test_b)"
],
"outputs": [],
"execution_count": 115
},
{
"cell_type": "code",
"id": "ba0e16192124782b",
"metadata": {
"ExecuteTime": {
"end_time": "2026-04-26T14:56:45.031840400Z",
"start_time": "2026-04-26T14:56:44.941762Z"
}
},
"source": [
"pred_sheet_part_f = regression_prediction_sheet(y_test_b, y_pred_b, f'Linear Regression ({best_feature})')\n",
"pred_sheet_part_f"
],
"outputs": [
{
"data": {
"text/plain": [
" True Predicted Residual Abs_Error Model\n",
"0 4.1 4.307502 -0.207502 0.207502 Linear Regression (Size in bytes)\n",
"1 4.1 4.267637 -0.167637 0.167637 Linear Regression (Size in bytes)\n",
"2 4.4 4.251691 0.148309 0.148309 Linear Regression (Size in bytes)\n",
"3 4.6 4.243240 0.356760 0.356760 Linear Regression (Size in bytes)\n",
"4 4.5 4.256475 0.243525 0.243525 Linear Regression (Size in bytes)\n",
"5 3.2 4.232078 -1.032078 1.032078 Linear Regression (Size in bytes)\n",
"6 4.2 4.232716 -0.032716 0.032716 Linear Regression (Size in bytes)\n",
"7 3.9 4.269232 -0.369232 0.369232 Linear Regression (Size in bytes)\n",
"8 3.7 4.251691 -0.551691 0.551691 Linear Regression (Size in bytes)\n",
"9 4.6 4.336205 0.263795 0.263795 Linear Regression (Size in bytes)\n",
"10 4.6 4.376070 0.223930 0.223930 Linear Regression (Size in bytes)\n",
"11 4.5 4.231759 0.268241 0.268241 Linear Regression (Size in bytes)\n",
"12 4.6 4.289962 0.310038 0.310038 Linear Regression (Size in bytes)\n",
"13 4.4 4.245313 0.154687 0.154687 Linear Regression (Size in bytes)\n",
"14 4.0 4.294746 -0.294746 0.294746 Linear Regression (Size in bytes)\n",
"15 4.3 4.261259 0.038741 0.038741 Linear Regression (Size in bytes)\n",
"16 4.4 4.275610 0.124390 0.124390 Linear Regression (Size in bytes)\n",
"17 3.8 4.241167 -0.441167 0.441167 Linear Regression (Size in bytes)\n",
"18 4.5 4.239732 0.260268 0.260268 Linear Regression (Size in bytes)\n",
"19 4.2 4.232237 -0.032237 0.032237 Linear Regression (Size in bytes)"
],
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>True</th>\n",
" <th>Predicted</th>\n",
" <th>Residual</th>\n",
" <th>Abs_Error</th>\n",
" <th>Model</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>4.1</td>\n",
" <td>4.307502</td>\n",
" <td>-0.207502</td>\n",
" <td>0.207502</td>\n",
" <td>Linear Regression (Size in bytes)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>4.1</td>\n",
" <td>4.267637</td>\n",
" <td>-0.167637</td>\n",
" <td>0.167637</td>\n",
" <td>Linear Regression (Size in bytes)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>4.4</td>\n",
" <td>4.251691</td>\n",
" <td>0.148309</td>\n",
" <td>0.148309</td>\n",
" <td>Linear Regression (Size in bytes)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>4.6</td>\n",
" <td>4.243240</td>\n",
" <td>0.356760</td>\n",
" <td>0.356760</td>\n",
" <td>Linear Regression (Size in bytes)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>4.5</td>\n",
" <td>4.256475</td>\n",
" <td>0.243525</td>\n",
" <td>0.243525</td>\n",
" <td>Linear Regression (Size in bytes)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>3.2</td>\n",
" <td>4.232078</td>\n",
" <td>-1.032078</td>\n",
" <td>1.032078</td>\n",
" <td>Linear Regression (Size in bytes)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>4.2</td>\n",
" <td>4.232716</td>\n",
" <td>-0.032716</td>\n",
" <td>0.032716</td>\n",
" <td>Linear Regression (Size in bytes)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>3.9</td>\n",
" <td>4.269232</td>\n",
" <td>-0.369232</td>\n",
" <td>0.369232</td>\n",
" <td>Linear Regression (Size in bytes)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>3.7</td>\n",
" <td>4.251691</td>\n",
" <td>-0.551691</td>\n",
" <td>0.551691</td>\n",
" <td>Linear Regression (Size in bytes)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>4.6</td>\n",
" <td>4.336205</td>\n",
" <td>0.263795</td>\n",
" <td>0.263795</td>\n",
" <td>Linear Regression (Size in bytes)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>4.6</td>\n",
" <td>4.376070</td>\n",
" <td>0.223930</td>\n",
" <td>0.223930</td>\n",
" <td>Linear Regression (Size in bytes)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>4.5</td>\n",
" <td>4.231759</td>\n",
" <td>0.268241</td>\n",
" <td>0.268241</td>\n",
" <td>Linear Regression (Size in bytes)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>4.6</td>\n",
" <td>4.289962</td>\n",
" <td>0.310038</td>\n",
" <td>0.310038</td>\n",
" <td>Linear Regression (Size in bytes)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>4.4</td>\n",
" <td>4.245313</td>\n",
" <td>0.154687</td>\n",
" <td>0.154687</td>\n",
" <td>Linear Regression (Size in bytes)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>4.0</td>\n",
" <td>4.294746</td>\n",
" <td>-0.294746</td>\n",
" <td>0.294746</td>\n",
" <td>Linear Regression (Size in bytes)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>4.3</td>\n",
" <td>4.261259</td>\n",
" <td>0.038741</td>\n",
" <td>0.038741</td>\n",
" <td>Linear Regression (Size in bytes)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>4.4</td>\n",
" <td>4.275610</td>\n",
" <td>0.124390</td>\n",
" <td>0.124390</td>\n",
" <td>Linear Regression (Size in bytes)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>3.8</td>\n",
" <td>4.241167</td>\n",
" <td>-0.441167</td>\n",
" <td>0.441167</td>\n",
" <td>Linear Regression (Size in bytes)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>4.5</td>\n",
" <td>4.239732</td>\n",
" <td>0.260268</td>\n",
" <td>0.260268</td>\n",
" <td>Linear Regression (Size in bytes)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>4.2</td>\n",
" <td>4.232237</td>\n",
" <td>-0.032237</td>\n",
" <td>0.032237</td>\n",
" <td>Linear Regression (Size in bytes)</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
]
},
"execution_count": 116,
"metadata": {},
"output_type": "execute_result"
}
],
"execution_count": 116
},
{
"cell_type": "code",
"id": "9f485161f95e22d7",
"metadata": {
"ExecuteTime": {
"end_time": "2026-04-26T14:56:45.201888500Z",
"start_time": "2026-04-26T14:56:45.033844200Z"
}
},
"source": [
"plt.figure(figsize=(6, 6))\n",
"plt.scatter(y_test_b, y_pred_b, alpha=0.5)\n",
"plt.plot([y_test_b.min(), y_test_b.max()], [y_test_b.min(), y_test_b.max()], 'r--')\n",
"plt.title(f\"Part F - Best Feature ({best_feature}): Actual vs Predicted\")\n",
"plt.xlabel(\"True Rating\")\n",
"plt.ylabel(\"Predicted Rating\")\n",
"plt.tight_layout()\n",
"plt.show()"
],
"outputs": [
{
"data": {
"text/plain": [
"<Figure size 600x600 with 1 Axes>"
],
"image/png": "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fi6WcxzezWkk+D6NGjUy2y2//44dO9peffVVM0UJcT3zb7MuLMPfwZ133mnbu3dvrvfh74vbjuM0Cp5OR8Dvmd/tTTfd5LYMpwXg3+cQdrtly5aZqTn42Tg8ncPtHad84NDze++911alShWzbTl+Vxyqf/XVV5u/yW2Kn2ndunV56sopXPienG6D2/W1115rtgvn37in0xE4/hZZnnU/ceJErue2bdtmu/XWW83vh7+jihUr2i699FIzzYyn0xEUhNsjtwtXPNku6PDhw+Y743QVXDf8t30qhfymI7D76KOPbK1atTL7Nn4H3DbnzZtXbNtuYeroi0L4P28HbyLiu9iEzjNCNsO76joT19gqx1YXdu+xxc9bmF/FEacceSoiRaccJxHJF7sh2E3HbmNXeV3iGruvmPhqn7HeG3g5GXZvcuZmESkeanESESlGzHFjDhdHtjEfhvkyIhI4FDiJiBQjXvuPieNMembisONM4yLi/xQ4iYiIiHhIOU4iIiIiHlLgJCIiIuKhoJsAk7OhcoI+5h2U1uVJRERExHdxZiZOesqJPjnRcX6CLnBi0FSnTh1vV0NERER8zK5duwq8WHPQBU72ES5cOfZLfIiIiEjwSkpKMo0qnoyCDbrAyd49x6BJgZOIiIjYeZLCo+RwEREREQ8pcBIRERHxkAInEREREQ8pcBIRERHxkAInEREREQ8pcBIRERHxkAInEREREQ8pcBIRERHxkAInEREREQ8pcBIRERHxkAInEREREQ8pcBIRERHxkAInEREREQ8pcBIRERHxkAInEREREQ8pcBIRERHxh8DpP//5D0JCQnLdmjZtmu9rpk6daspER0ejRYsWmD17dqnVV0RERIKb11uczj33XOzduzfntmzZMrdlly9fjoEDB2Lo0KFYs2YN+vfvb27r1q0r1TqLiIhIcPJ64BQeHo7q1avn3CpXruy27Lhx43DZZZfhkUceQbNmzTBq1Ci0bt0ab7/9dqnWWURERIKT1wOnzZs3o2bNmmjYsCEGDRqEhIQEt2V/+eUXdO/ePdeyXr16meXupKWlISkpKddNRERE/Mjy5UBmJhDsgVP79u3x8ccf44cffsD48eOxfft2XHzxxTh+/LjL8vv27UO1atVyLeNjLndnzJgxiI+Pz7nVqVOn2D+HiIiIlJD//Q+45BLg5puBrCwEdeDUu3dv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IgKtWrXCli1bEAwiIyPRqFEj8+82bdqYM91x48aZHa8zbVuFW1/Bvm0xif7AgQNo3bp1ri5O/i7ffvttpKWlISwsLNdrgnkbO5P1FezbmLPy5cvj7LPPdvv5vbl9KceplPDKNgwC2B2wcOFCNGjQoMDX8OxjwYIFuZbxDCa/PIxgXl/OuKNid0yNGjUQjNjFyR20K8G8bZ3J+gr2batbt27m87KFzn5r27atyUPhv10FAcG8jZ3J+gr2bcxVTuHWrVvdfn6vbl8lnn4uxrBhw8yIicWLF9v27t2bc0tNTc1ZQzfddJPt8ccfz3n8888/28LDw22vvvqq7Z9//jGjDiIiImxr164N+LV6Juvrueees82dO9e2detW26pVq2zXX3+9LTo62rZ+/XpboON64IjD7du32/766y/zOCQkxPbjjz+a57VtFW19BfO25Y7zKDFtY0VbX8G+jT300ENmf8/fJI993bt3t1WuXNmMqPa17UtddaU44R516dIl1/JJkyZhyJAh5t8cQRAaGpqrj3vy5MkYOXIknnzySTRu3BgzZszIN0E6mNfX0aNHcfvtt5vkwAoVKpjuF871EQw5PuwWGDx4sEmqjI+PNzkCc+fORY8ePczz2raKtr6CedvylLaxoq2vYN/Gdu/ebeZlOnz4MKpUqYKLLrrIzOPHf/va9hXC6KnE30VEREQkACjHSURERMRDCpxEREREPKTASURERMRDCpxEREREPKTASURERMRDCpxEREREPKTASURERMRDCpxEREREPKTASUSkGHz88cfmwqQiEtgUOIlIiQoJCcn39p///KfUvgFewsf+vtHR0ebq62PGjDEXlS6M+vXr44033si1bMCAAdi0aVMx11hEfI2uVSciJYrXg7P76quv8Mwzz2Djxo05y2JjY3P+zQCGV4UPDy+5XROvB/b8888jLS0NCxcuxB133GFaioYNG1akv1umTBlzE5HAphYnESlR1atXz7nxgrps7bE/3rBhA+Li4jBnzhxzUdOoqCgsW7bMXMi5f//+uf7O/fffn+uiz9nZ2aa1qEGDBiZgOe+88zBt2rQC61O2bFnz3vXq1cMtt9xiLvA7b968nOe3bt2Kfv36oVq1aiaoa9euHebPn5/zPOuwc+dOPPDAAzmtV6666tiSdv755+Ozzz4zLVT87Ndffz2OHz+eU4b/HjRoEGJiYlCjRg28/vrr5u/zs4qIb1LgJCJe9/jjj+PFF1/EP//8YwIZTzBo+vTTTzFhwgSsX7/eBDI33ngjlixZ4tHr2br1008/meAtMjIyZ3lycjIuv/xyLFiwAGvWrMFll12GK664wlydnb755hvUrl3btFqxNc2xRc0ZgzBesX3WrFnmxrrxc9o9+OCD+Pnnn/Htt9+a4I31Wb16tUf1FxHvUFediHgdg5AePXp4XJ7dbKNHjzYtQR06dDDLGjZsaFqrJk6ciM6dO7t97bvvvosPPvgA6enpyMjIMLlO9913X87zbLnizW7UqFGYPn26CW7uueceVKxYEWFhYaaljC1X+WGrGFuiWJZuuukmE5C98MILprXpk08+weTJk9GtWzfz/KRJk1CzZk2P14OIlD4FTiLidW3bti1U+S1btiA1NTVPsMVgqFWrVvm+ll1jTz31FI4ePYpnn30WHTt2NDfHFid2s33//femNSkzMxMnTpzIaXEqDHbR2YMmYnfcgQMHzL+3bdtmArcLLrgg53l25zVp0qTQ7yMipUeBk4h4HXN8HIWGhuYZ6cYgwzG4IQY3tWrVylWOeVL5YXDSqFEj8+8pU6aYf1944YXo3r27Wfbwww+bbrNXX33VPMf8qWuuucYEZYUVERGR6zHzodgKJSL+S4GTiPicKlWqYN26dbmW/fHHHzmByDnnnGMCJLYC5dctVxAmf48YMcIES8xnYmDDnCMmp1911VU5QdqOHTtyvY45URz9VxTsWuTnWbFiBerWrWuWJSYmmikNLrnkkiL9bREpOUoOFxGf07VrV6xcudIkf2/evNl0qTkGUuz+YrDDhHDmCTEJm0nVb731lnlcGHfeeacJVr7++mvzuHHjxiYBnIHan3/+iRtuuCFPKxG74JYuXYp///0Xhw4dOqPPyM9w880345FHHsGiRYtMgvvQoUNNa5t9pJ6I+B4FTiLic3r16oWnn34ajz76qJkOgInUgwcPzlWGSdssw9F1zZo1M6Pf2HXH6QkKg8ne/NvMa2KA9Nprr6FChQom74mj6ViX1q1b50lmZyvUWWedZVrHzhTfi8ntffv2NV2FnTp1Mp+FCesi4ptCbIWdMldEREpESkqKydkaO3asaX0SEd+jHCcRES9hXhXnkeLIOuY3sSWLOAGniPgmBU4iIl7E0Xu8BA0Tzjl7OifBrFy5sr4TER+lrjoRERERDyk5XERERMRDCpxEREREPKTASURERMRDCpxEREREPKTASURERMRDCpxEREREPKTASURERMRDCpxEREREPKTASURERASe+X9lgja7Dy0PtAAAAABJRU5ErkJggg=="
},
"metadata": {},
"output_type": "display_data",
"jetTransient": {
"display_id": null
}
}
],
"execution_count": 117
},
{
"cell_type": "markdown",
"id": "84b748da2e6a61bd",
"metadata": {},
"source": [
"### Part F Analysis\n",
"\n",
"To find out which single input is the best at predicting the app rating, I trained two separate simple linear regression models using just one input at a time:\n",
"- `Reviews` (number of reviews)\n",
"- `Size in bytes` (app size)\n",
"- `Numeric Installs` (install count)\n",
"\n",
"The bar chart above compares each model using **MAE**, **RMSE**, and **R²**. The feature with the lowest RMSE is our most predictive single input. \n",
"I printed out the best feature in the code cell above.\n",
"\n",
"Looking at the \"Actual vs Predicted\" scatter plot for the best single feature, you can see the typical spread you get when trying to guess the rating from just one piece of info.\n",
"\n",
"This is why using multiple inputs together (like in the previous part) generally gives much better predictions than relying on just one.\n"
]
},
{
"cell_type": "markdown",
"id": "de14342fb4966baf",
"metadata": {
"ExecuteTime": {
"end_time": "2026-04-25T16:01:23.132155Z",
"start_time": "2026-04-25T16:01:23.118519600Z"
}
},
"source": [
"## Part G\n",
"\n",
"Q: Using (Category + Reviews + Content Rating + Rating + Installs_Num),\n",
"find and discuss the best regression model to predict “Size in Bytes” (use the\n",
"standard training/test partition with cross-validation). **[8 marks]**\n"
]
},
{
"cell_type": "code",
"id": "137267551f08dae5",
"metadata": {
"ExecuteTime": {
"end_time": "2026-04-26T14:56:45.276895Z",
"start_time": "2026-04-26T14:56:45.230572100Z"
}
},
"source": "from sklearn.model_selection import cross_val_score",
"outputs": [],
"execution_count": 118
},
{
"cell_type": "code",
"id": "725e85ef4abe3948",
"metadata": {
"ExecuteTime": {
"end_time": "2026-04-26T14:56:45.348577600Z",
"start_time": "2026-04-26T14:56:45.277893100Z"
}
},
"source": [
"columns_to_keep_g = ['Category', 'Reviews', 'Content Rating', 'Rating', 'Numeric Installs', 'Size in bytes']\n",
"df_g = df_new[columns_to_keep_g]"
],
"outputs": [],
"execution_count": 119
},
{
"cell_type": "code",
"id": "7a6b3f84b1265599",
"metadata": {
"ExecuteTime": {
"end_time": "2026-04-26T14:56:45.411376800Z",
"start_time": "2026-04-26T14:56:45.349577100Z"
}
},
"source": "df_g_encoded = pd.get_dummies(df_g, columns=['Category', 'Content Rating'])",
"outputs": [],
"execution_count": 120
},
{
"cell_type": "code",
"id": "679b52eb182f0e1c",
"metadata": {
"ExecuteTime": {
"end_time": "2026-04-26T14:56:45.442308400Z",
"start_time": "2026-04-26T14:56:45.413374400Z"
}
},
"source": [
"X_g = df_g_encoded.drop('Size in bytes', axis=1)\n",
"y_g = df_g_encoded['Size in bytes']"
],
"outputs": [],
"execution_count": 121
},
{
"cell_type": "code",
"id": "35f87078cd8053fa",
"metadata": {
"ExecuteTime": {
"end_time": "2026-04-26T14:56:45.475799500Z",
"start_time": "2026-04-26T14:56:45.443307100Z"
}
},
"source": "X_train_g, X_test_g, y_train_g, y_test_g = train_test_split(X_g, y_g, test_size=0.3, random_state=seed)",
"outputs": [],
"execution_count": 122
},
{
"cell_type": "code",
"id": "862fb1943bf890b5",
"metadata": {
"ExecuteTime": {
"end_time": "2026-04-26T14:56:45.509051800Z",
"start_time": "2026-04-26T14:56:45.475799500Z"
}
},
"source": "split_overview(len(X_train_g), len(X_test_g))",
"outputs": [
{
"data": {
"text/plain": [
" Split Rows Pct_of_Total\n",
"0 Train 774 69.9\n",
"1 Test 333 30.1"
],
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Split</th>\n",
" <th>Rows</th>\n",
" <th>Pct_of_Total</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>Train</td>\n",
" <td>774</td>\n",
" <td>69.9</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>Test</td>\n",
" <td>333</td>\n",
" <td>30.1</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
]
},
"execution_count": 123,
"metadata": {},
"output_type": "execute_result"
}
],
"execution_count": 123
},
{
"cell_type": "code",
"id": "c3c062e2eebf8675",
"metadata": {
"ExecuteTime": {
"end_time": "2026-04-26T14:56:45.550111300Z",
"start_time": "2026-04-26T14:56:45.510559200Z"
}
},
"source": [
"def evaluate_model_cv(model, X_train, X_test, y_train, y_test, name):\n",
" model.fit(X_train, y_train)\n",
" y_pred = model.predict(X_test)\n",
"\n",
" cv_scores = cross_val_score(model, X_train, y_train, cv=5, scoring='r2')\n",
"\n",
" results = {\n",
" 'Model': name,\n",
" 'MAE (test)': mean_absolute_error(y_test, y_pred),\n",
" 'MSE (test)': mean_squared_error(y_test, y_pred),\n",
" 'RMSE (test)': np.sqrt(mean_squared_error(y_test, y_pred)),\n",
" 'R2 (test)': r2_score(y_test, y_pred),\n",
" 'CV R2 (mean)': cv_scores.mean(),\n",
" 'CV R2 (std)': cv_scores.std()\n",
" }\n",
" return results, y_pred, cv_scores"
],
"outputs": [],
"execution_count": 124
},
{
"cell_type": "code",
"id": "7bd72610ea9b4047",
"metadata": {
"ExecuteTime": {
"end_time": "2026-04-26T14:56:45.569279500Z",
"start_time": "2026-04-26T14:56:45.550111300Z"
}
},
"source": "results_g = []",
"outputs": [],
"execution_count": 125
},
{
"cell_type": "markdown",
"id": "ec07cf5f77d93f3b",
"metadata": {},
"source": [
"## Trying Linear Regression for Part G\n"
]
},
{
"cell_type": "code",
"id": "5077d997183c52b7",
"metadata": {
"ExecuteTime": {
"end_time": "2026-04-26T14:56:45.631563Z",
"start_time": "2026-04-26T14:56:45.571280400Z"
}
},
"source": [
"lin_model_g = LinearRegression()\n",
"lin_res_g, y_pred_lin_g, cv_lin_g = evaluate_model_cv(lin_model_g, X_train_g, X_test_g, y_train_g, y_test_g, \"Linear Regression\")\n",
"results_g.append(lin_res_g)"
],
"outputs": [],
"execution_count": 126
},
{
"cell_type": "code",
"id": "dcf6fd613a1d2d79",
"metadata": {
"ExecuteTime": {
"end_time": "2026-04-26T14:56:45.683902200Z",
"start_time": "2026-04-26T14:56:45.631563Z"
}
},
"source": "residual_lin_g = y_test_g - y_pred_lin_g",
"outputs": [],
"execution_count": 127
},
{
"cell_type": "code",
"id": "39fd78fe960acb67",
"metadata": {
"ExecuteTime": {
"end_time": "2026-04-26T14:56:45.769598400Z",
"start_time": "2026-04-26T14:56:45.683902200Z"
}
},
"source": [
"plt.figure(figsize=(8, 5))\n",
"plt.scatter(y_pred_lin_g, residual_lin_g, alpha=0.5)\n",
"plt.axhline(y=0, color='r', linestyle='--')\n",
"plt.title(\"Part G - Linear Regression: Residual Plot\")\n",
"plt.xlabel(\"Predicted Size in Bytes\")\n",
"plt.ylabel(\"Residual (y - y_hat)\")\n",
"plt.tight_layout()\n",
"plt.show()"
],
"outputs": [
{
"data": {
"text/plain": [
"<Figure size 800x500 with 1 Axes>"
],
"image/png": "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lZVJNmpsbJRDDz1UvvKVr+gfsJKSEj0r9u9//1v/QAKOwahRowZsH2w2W8YeH68tXuNgMKjB0tlnny0ejyfpgI6IqL++/OUv61dP8Hfnqquukvvvv19PXOBEyg033KAz2fD+++9LOByWX/7yl2K1RucSLrnkEg008JmGv1WZwpkKIqI0uVwuHcCOHz9evve978lhhx2mA+jYlKVf/epXOn29yy676O3r1q2Tk08+WQfcCA7wAR87HY0/AjgjjvvLy8vlsssuE8Mwuj1vfPoT/rhcfvnlepYe+4RZk7/97W/6uAcffLBuU1paqmfNsV8QiURk/vz5MnHiRMnLy9MzYo888ki350GgNG3aNL0fj9PXtPkbb7whLS0t8te//lXmzJmjj42fu/nmm/X7RGfv8bvEzgqYX+ZzYbvvfOc7OnVfVFSkZ90wwE82/cl8vhdffFHmzp0r+fn5OluydOnSPl9fvAZ4fXFcESjhtVq0aFHX8+AP9XvvvdftZ37/+9/r+2HVqlX9PvZNTU1y6qmn6u+M+6dOnaoBDhGR6Qc/+IG89dZb8sADD8jHH38sJ510kp4EWb58ud6/11576WcUPjvwdwWfzffee6/+ncpkQAEMKoiIMgwDQMxImDCQxeD1+eeflyeffFLPDh155JGa3/raa6/pILygoED/EJg/99vf/lbuvvtuueuuu+T111+Xbdu2yeOPP97r855xxhl6tuoPf/iDfP7553LHHXfo42Iw/Oijj+o22A+kBd1yyy16HYPav//973L77bfLp59+KhdddJGcdtpp8sorr3QFP5gmR04vBugY2F9xxRW97gcG4Ej/wv7GB0K9pXJhv8wvPCcCsOrqar0ffyiROvX000/rmbc999xTZ0NwXFKBM3o4tggCkM707W9/O6WfX7Zsmfzvf/+TfffdV68jrQt/nOMH+7iO4AGBRX+P/c9+9jP57LPP9HfG63nbbbdJRUVFSvtLRCPX2rVr9bPm4Ycfli9+8YsyefJknYU48MADuz6TcNLiueeek5/85Cd6sgknSdavXy8PPfRQ5nfIICKifjvzzDON448/Xr+PRCLG888/b7hcLuOSSy7pur+6utrw+/1dP3Pvvfcau+yyi25vwv15eXnGs88+q9dHjx5t3HjjjV33B4NBY+zYsV3PBQcddJBxwQUX6PdLly7F6F2fP5GXXnpJ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"
},
"metadata": {},
"output_type": "display_data",
"jetTransient": {
"display_id": null
}
}
],
"execution_count": 128
},
{
"cell_type": "markdown",
"id": "5566a6d1839e472f",
"metadata": {},
"source": [
"## Trying polynomial regression for Part G\n"
]
},
{
"cell_type": "code",
"id": "b5e9cdb3ef42c22f",
"metadata": {
"ExecuteTime": {
"end_time": "2026-04-26T14:56:45.791146300Z",
"start_time": "2026-04-26T14:56:45.769598400Z"
}
},
"source": [
"poly_converter_g = PolynomialFeatures(degree=2, include_bias=False)\n",
"X_train_p_g = poly_converter_g.fit_transform(X_train_g)\n",
"X_test_p_g = poly_converter_g.transform(X_test_g)"
],
"outputs": [],
"execution_count": 129
},
{
"cell_type": "code",
"id": "8d5313ca848e4519",
"metadata": {
"ExecuteTime": {
"end_time": "2026-04-26T14:56:45.953011100Z",
"start_time": "2026-04-26T14:56:45.791146300Z"
}
},
"source": [
"poly_model_g = LinearRegression()\n",
"poly_res_g, y_pred_poly_g, cv_poly_g = evaluate_model_cv(poly_model_g, X_train_p_g, X_test_p_g, y_train_g, y_test_g, \"Polynomial Regression\")\n",
"results_g.append(poly_res_g)"
],
"outputs": [],
"execution_count": 130
},
{
"cell_type": "code",
"id": "8c81b3b6dab60fee",
"metadata": {
"ExecuteTime": {
"end_time": "2026-04-26T14:56:46.058071300Z",
"start_time": "2026-04-26T14:56:45.954005800Z"
}
},
"source": [
"plt.figure(figsize=(6, 6))\n",
"plt.scatter(y_test_g, y_pred_poly_g, alpha=0.5)\n",
"plt.plot([y_test_g.min(), y_test_g.max()], [y_test_g.min(), y_test_g.max()], 'r--')\n",
"plt.title(\"Part G - Polynomial Regression: Actual vs Predicted\")\n",
"plt.xlabel(\"True Size in Bytes\")\n",
"plt.ylabel(\"Predicted Size in Bytes\")\n",
"plt.tight_layout()\n",
"plt.show()"
],
"outputs": [
{
"data": {
"text/plain": [
"<Figure size 600x600 with 1 Axes>"
],
"image/png": "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eD4juAcEP/hbBK4IqgDB9LJly+T2229X97G/IGODTBoCG5yYf/vtN7XfoIm4Jnj8zJkzVaB45513yq+//qqeB8/vfMLZunWrehxOfgjW3377bRV4ILDACd+A9XTcvnXBxRC2JfYffObY7vieGidSQBMU9u1Fixapx+B9o6kd2wZNrchQuXssqIk7x6Ta4DuDdcF3Dd+diIiIaid3BKd4L/DGG2+oCw9sX7w3BIkIzPF5XH755Q0+zhrwnUeAOW3aNJVxgnfffVd9nqNGjVL7F/ZLbEsE3rh4Mo473333nTpO9OzZU+0jhw4dUkGhYwBWk71796r9EhcK119/vbpoxX6PgBSvh7IIvH8cixC49+jRQ/2d8bMx1tFvaRQw3nnnHaQVtO+//147cOCAlpWVpc2ePVtr1qyZFh0dre3evVs9rqSkpNrfVVRUaL1799ZOPfXUasvxXKGhodr69eurLcdz43cPPvigqfVKTk7W+vXrd8zygoIC9VzGraioSPMkrOO1116rnnv//v3ar7/+qp122mlq+bPPPqseg/VKS0vTDh06ZP+7P//8U73v8ePHH7Ntd+zYoe5brVatdevW2qWXXlrtNZ977jktJCRE2759e7X1iIiI0LZu3VrtNbD8pZdesi87//zz1eO2bdtmX7Z3714tPj5eO+mkk45Zl1GjRmk2m82+fOjQoeq1b7zxRvuyqqoqtZ4jRow4Zts4fn7O+wSsWLFCPW7WrFn2ZYsXL1bL8NPdffHTTz/VUlNTtcjISHXfgM+kT58+WllZmX0Z3tewYcO0Ll262Jfddttt6v398ccf9mX43FJSUqp9NtCuXTu1bP78+dXW65FHHtFiY2O1zZs3V1s+ZcoULSwsTMvMzFT3b7/9di0hIUFtv5r07dtXGzNmTK3bAdvY8TC7Zs0adX/SpEnVHnfXXXep5T/88MMx7+Gnn36yL8N+jO135513Vvt7PBY3M3JycjSLxaK98cYb9mXY1uedd161x7399tvq9bFPOzP2u9qOBdjnnPc7mDBhwjHravaYhL/D39dmwYIFap2+/PLLastHjx6tdezY0X4f77dXr16au7Cf4fkfeugh9f6zs7O1JUuWaP3791fLP/vss2rfgRNOOKHaflRYWKglJSVp1113XbXnxfMkJiZWW47jU0ZGhpaXl2df9t1336nndd6Gzp8Djl84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vLWeRERERP4TOGVnZ0v79u2rFYxfeOGFYrHo9eUIqrZs2eKdtSQiIiLyp8AJxVJ5eXn2+5hiZciQIfb7GIoATXZEREREEuyB0/HHH69qnGw2m3z66adSWFgop556qv33mzdvljZt2nhrPYmIiIj8Z5LfRx55RE477TR57733pKqqSu677z41MKZh9uzZah47IiIiIgn2wOm4446TDRs2yLJlyyQ9Pb1aMx2MGzdOTfhLREREFKg4AGYdOAAmERFRYCvwxgCYRERERMGOgRMRERGRSQyciIiIiExi4ERERETkyV51KJoyq66iKiIiIqKADpySkpLUyOBmWK3Whq4TERERkf8GTosXL7b/f+fOnTJlyhSZOHGiDB06VC1bsWKFzJw5U6ZPn+69NSUiIiLyt3GcMHr4pEmT5LLLLqu2/IMPPpDXX39dlixZIoGE4zgREREFtgJvjuOE7NKgQYOOWY5lmPiXiIiIKFC5HThhIt833njjmOVvvvkmJ/klIiKigGZ6rjrD888/L2PHjpVvv/3WPl8dMk1btmyRzz77zBvrSEREROSfGafRo0fL5s2b5ZxzzpHDhw+rG/6PZfgdERERUaDiJL91YHE4ERFRYCvw9iS/P//8s1x55ZUybNgw2bNnj1r27rvvytKlS+u3xkRERER+wO3ACXVMo0aNkujoaFm9erWUl5er5YjSHn/8cW+sIxEREZF/Bk6PPvqovPbaa6pnXXh4uH358OHDVSBFREREFKjcDpw2bdokJ5100jHL0TaYl5fnqfUiIiIi8v/AKT09XbZu3XrMctQ3dezY0VPrRUREROT/gdN1110nt99+u/z6669q4t+9e/fK+++/L3fddZfcdNNN3llLIiIiIn8cABMT/NpsNjVnXUlJiWq2i4yMVIHTbbfd5p21JCIiIvLncZwqKipUk11RUZH07NlT4uLiJBBxHCciIqLAVuDNcZyuueYaKSwslIiICBUwDR48WAVNxcXF6ndEREREgcrtwGnmzJlSWlp6zHIsmzVrlqfWi4iIiMh/a5yQxkKrHm7IOEVFRdl/Z7Va5ZtvvpG0tDRvrScRERGR/wROSUlJqhcdbl27dj3m91j+0EMPeXr9iIiIiPwvcFq8eLHKNp166qlq2pWUlBT771Dv1K5dO2nZsqW31pOIiIjIfwKnESNGqJ87duyQtm3bqgwTERER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0BSwTXVEREQUWDqnxUvHk+OafORwdzBwIiIioiYTGhric0MO1IZNdUREREQmMXAiIiIiMomBExEREZFJDJyIiIiITGLgRERERGQSAyciIiIikxg4EREREZnEwImIiIjIJAZORERERCYxcCIiIiIyiYETERERkUkMnIiIiIhMYuBEREREZBIDJyIiIiKTGDgRERERmcTAiYiIiMgkBk5EREREJjFwIiIiIjKJgRMRERGRSQyciIiIiExi4ERERERkEgMnIiIiIpMYOBERERGZxMCJiIiIyCQGTkREREQmMXAiIiIiMomBExEREZFJDJyIiIiITGLgRERERGQSAyciIiIikxg4EREREZnEwImIiIjIJAZORERERCYxcCIiIiIyiYETERERkUkMnIiIiIhMYuBEREREZBIDJyIiIiIGTkRERESexYwTERERkUkMnIiIiIhMYuBEREREZBIDJyIiIiKTGDgRERERmcTAiYiIiMgkBk5EREREJjFwIiIiIjKJgRMRERGRSQyciIiIiExi4ERERERkEgMnIiIiIpMYOBERERGZxMCJiIiIyCQGTkREREQmMXAiIiIiMomBExEREZFJDJyIiIiITGLgRERERGQSAyciIiIikxg4EREREZnEwImIiIjIJAZORERERCYxcCIiIiIyiYETERERkUkMnIiIiIhMYuBEREREZBIDJyIiIiKTGDgRERERmcTAiYiIiMgkBk5EREREJjFwIiIiIjKJgRMRERFRoAVOjz32mAwbNkxiYmIkKSnJ1N9MnDhRQkJCqt3OPPNMr68rERERBSaL+ImKigq5+OKLZejQofLWW2+Z/jsESu+88479fmRkpJfWMHhVVdlkdVauHCqukGaxETKgTbJYLH4TkxMREQVe4PTQQw+pnzNmzHDr7xAopaene2mtaNGGHJmxbKfsPFQslVabhIeFSvtmsTJxeHs5rUcLbiAiIgooAZ8WWLJkiaSlpUm3bt3kpptukkOHDtX6+PLycikoKKh2o5qDpunfbpTN+wslPsoirZKj1U/cx3L8noiIKJAEdOCEZrpZs2bJokWL5Mknn5Qff/xRzjrrLLFarTX+zfTp0yUxMdF+a9OmTaOusz81zyHTVFhWKW1VwBQultBQ9RP3sXzm8p3qcURERIGiSQOnKVOmHFO87XzbuHFjvZ9/3Lhxcu6550qfPn3k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uf7661WAiqY+qp+azm0JCQl+l20C7glegoMYrgoXLVpU7USC+6hTcAXLHR8PCxcurPHxwaw+2xeeeuopdQU5f/58GTRoUCOtbeBvXwyhsW7dOtVMZ9zOPfdcOeWUU9T/0bWb6r99Yfjw4ap5zghIYfPmzSqgYtDUsP3XqHl0Do6MIFWvgab6Ghpo57amrk4P9O6w6N46Y8YM1QXz+uuvV91hs7Oz1e+vuuoqbcqUKdWGI7BYLNozzzyjuss/+OCDHI7Ag9v3iSeeUN2TP/30U23fvn32W2Fhofd2giDavs7Yq86z2zczM1P1Ar311lu1TZs2aV999ZWWlpamPfroox76xIN7++J4i+374Ycfqu7z3333ndapUyfV25mqKywsVMO64IYw4rnnnlP/37Vrl/o9tiu2r/NwBHfffbc6t2FYGA5HQDXCeBVt27ZVJ2x0j/3ll1/svxsxYoQ6uTj6+OOPta5du6rHo/vm119/za3roe3brl079SV3vuGASZ7Zfx0xcPL89l2+fLkaogQBAYYmeOyxx9QQENTw7VtZWan9+9//VsFSVFSU1qZNG+3mm2/WcnNzuXmdLF682OWx1Nie+Int6/w3/fr1U58F9t133nnHb7drCP5p6qwXERERkT9gjRMRERGRSQyciIiIiExi4ERERERkEgMnIiIiIpMYOBERERGZxMCJiIiIyCQGTkREREQmMXAiIiIin/bTTz+puTBbtmwpISEhMm/ePLefY8GCBXL88cdLfHy8pKamytixY9Ucm+5i4EREAQMHQRxUMT+et9T3oE1E9YcJl/v27SuvvPJKvf5+x44dct5558mpp56qjg8Iog4ePCgXXnih28/FwImI6gwUarv9+9//brQtiIPf5Zdfrq46o6KipHXr1upguHHjRvV7TCa8b98+6d27t9fWAc9/1llnNeg52rdvb99+mEgW7+faa6+V3NxcnwoSiXzFWWedJY8++qhccMEFLn9fXl4ud911l7Rq1UpiY2NlyJAhsmTJEvvvf//9d7Fareo5OnXqJAMGDFCPx/ensrLSrXVh4EREdQYKxu2FF16QhISEastw8DFgBqeqqiqvbFEc3E4//XTJz8+XOXPmyKZNm+Sjjz6SPn36SF5ennoMgpD09HSxWCxe+1Tx/JGRkQ1+nocfflhtv8zMTHn//fdVU8Q///lPj6wjUbC59dZbZcWKFTJ79mxZu3atXHzxxXLmmWfKli1b1O8HDhwooaGh8s4776gACseRd999V0aOHCnh4eHuvVhTT5ZHRP4DE3MmJiYeM9nnN998ow0YMEALDw9Xy1xN8Hv77bdXm/jTarVqjz/+uNa+fXs1qepxxx2nffLJJzW+tjET+86dO2t8zI4dO9Rj8FjAeriajBTrCGVlZdqdd96ptWzZUs3ejolgjd/VBH8/d+7caq/32WefaSeffLIWHR2t3gcm460NJpx+/vnnqy175JFHtJ49e6r/FxUVafHx8cdsD7wu1rOgoOCY9+S4bd944w2te/fuajLgbt26qdnoDeXl5dott9yipaenq99jElx8DkT+Qhy+g7Br1y4tLCxM27NnT7XHnXbaadrUqVPt95csWaKlpaWpx+I5hg4dWq9JnJlxIqIGmzJlijzxxBOyYcMGOe6440z9zfTp02XWrFny2muvyfr162Xy5Mly5ZVXyo8//ujy8SjmxBXjp59+qq4YzfjPf/5TLTt2++23S1pamnTv3t3UVapZ999/vz3t37VrV7nsssvcyrzt2bNHvvzyS9W8AGhqGDdunLo6doT7F110kSpuXblypVr2/fffq/eGLBwgezVt2jR57LHH1Ofx+OOPy//93//JzJkz1e9ffPFF+eKLL+Tjjz9WWTs8Hk2HRP5q3bp16piA715cXJz9hmPJtm3b1GOys7PluuuukwkTJsiqVavU7yIiItT3SY/F3NDAwI+IgkhNGad58+ZVe1xdGSdkepA5cc7MXHvttdpll11W4+u//PLL6u+QjTnllFO0hx9+WNu2bVuNGSdHyAohs7V06VK3rlLNZJzefPNN++/Xr1+vlm3YsKHWjFNERIQWGxur1gmPHzJkSLWr319//VWt3969e9X9nJwczWKxqKvm2t5rp06dtA8++OCYbBauruG2227TTj31VM1ms9W4fkT+lHGaPXu2+q5s3LhR27JlS7Xbvn371GMeeOABbdCgQdWeJysrSz3XihUr3Hp9ZpyIqMEGDRrk1uO3bt0qJSUlqmbJ8QoRGSjjCtGVW265RV05IksydOhQ+eSTT6RXr16ycOHCWl/vjz/+kKuuukpefvllGT58uOmrVLMcs2wZGRnq5/79+2v9m7vvvltlqJDpWrRokVo2ZswYezZt8ODB6r0ZmaL33ntP2rVrJyeddFKtPY+w7ig0d3xPKIg13tPEiRPV63br1k3VVH333XduvVciX9O/f3/1vcF3rnPnztVuqEkEHG+QsXaEmkiw2WxuvZ73KiiJKGigackRDlDO6W/HnitFRUXq59dff616wTiqq/AazVQYzwU3BASjRo1SPxGEuYJA69xzz5VJkyapgMJxHXDgRG8b4wBqQLDhDsfiUvR0M3Mwbt68uTqwQ5cuXVThPYLBxYsXq4JVwDqj+zWaQtFMd/XVV9uf3xVju77xxhv2Zj+D8R7Rmwi9E7/99lvVzHfJJZeo10MTKJGvKioqUhdcBuzDuABISUlRFz9XXHGFjB8/Xp599lkVSB04cEBdkOCiBhckuD3//POqUwaa0gsLC+W+++5TFyN4vDsYOBGRx6Ee6a+//qq2DAc5I8Do2bOnCpDQo2zEiBH1fh0EEahXWr58ucvfl5WVqeEK8JjnnnuuxqvUE088UZqaEdiUlpbal6Hm65577lF1SX///beqzzCgPgMc671atGihhjbYvn27OpHUBD0jL730UnVDjQfqug4fPqxOQkS+6LfffpNTTjnFfv+OO+5QP/GdmDFjhrqwwAXUnXfeqWoGcWGCwS7PPvts9TiM3/TBBx/IU089pW4xMTHqQmX+/PkSHR3t1rowcCIij8NB6umnn1ZNbzg4oZkJgZRxZYesEYqpURCOzMwJJ5ygugcvW7ZMndQdAwTHwOvBBx9UTW4IvBA4oFnt7bfflnvvvdfletxwww2SlZWlrjxxBWowe5XqTbjiRTYMmTmsIwIkBJzDhg2zPyY5OVkN0IdmvTPOOEONW2VAkTsO+DjwYznGtUpMTJSHHnpINcHh/wiIML4NTjoYIwonGwSQaE7E+0VmEM2daM5ISkry6vslaoiTTz651iJuXJRh38etJuhwgVuDeahWi4iCuDjcVZfeadOmaS1atFCPnzx5snbrrbdW6zKP4uQXXnhBdZfHMAapqanaqFGjtB9//NHlax84cED75z//qfXu3VuLi4tTBeJ9+vTRnnnmGTW0gauCaRRh1zYcQUVFhVpPDImAdcjIyNAuuOACbe3atW4VhzsWaGNbOL6GK87rhfc+evRol0XtixYtUo/5+OOPj/kdhh1o06aNFhoaWm3bvv/++1q/fv1UAXpycrJ20kknaXPmzFG/e/3119XvUJiekJCgiuFXr15d47oSUXUh+Kfh4RcREXkDBulDZm7v3r325jkiajpsqiMi8kHoBYTxmTA+FpocGTQR+QYOR0BE5INQwIqidtQfTZ06talXh4iOYFMdERERkUnMOBERERGZxMCJiIiIyCQGTkREREQMnIiIiIg8ixknIiIiIpMYOBERERGZxMCJiIiIyCQGTkRERERizv8DIRI1X/HHmi8AAAAASUVORK5CYII="
},
"metadata": {},
"output_type": "display_data",
"jetTransient": {
"display_id": null
}
}
],
"execution_count": 131
},
{
"cell_type": "markdown",
"id": "f238f4198de0c527",
"metadata": {},
"source": [
"# Regression Model Results\n"
]
},
{
"cell_type": "code",
"id": "c7a5e958c9ab89e6",
"metadata": {
"ExecuteTime": {
"end_time": "2026-04-26T14:56:46.366328100Z",
"start_time": "2026-04-26T14:56:46.338645100Z"
}
},
"source": [
"results_df_g = pd.DataFrame(results_g)\n",
"results_df_g"
],
"outputs": [
{
"data": {
"text/plain": [
" Model MAE (test) MSE (test) RMSE (test) \\\n",
"0 Linear Regression 1.458116e+07 3.634642e+14 1.906474e+07 \n",
"1 Polynomial Regression 1.708302e+07 7.093839e+14 2.663426e+07 \n",
"2 Ridge Regression (alpha=1.0) 1.629031e+07 4.677350e+14 2.162718e+07 \n",
"\n",
" R2 (test) CV R2 (mean) CV R2 (std) \n",
"0 0.292880 0.245829 0.067041 \n",
"1 -0.380108 -0.452607 0.900419 \n",
"2 0.090021 0.090846 0.056075 "
],
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Model</th>\n",
" <th>MAE (test)</th>\n",
" <th>MSE (test)</th>\n",
" <th>RMSE (test)</th>\n",
" <th>R2 (test)</th>\n",
" <th>CV R2 (mean)</th>\n",
" <th>CV R2 (std)</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>Linear Regression</td>\n",
" <td>1.458116e+07</td>\n",
" <td>3.634642e+14</td>\n",
" <td>1.906474e+07</td>\n",
" <td>0.292880</td>\n",
" <td>0.245829</td>\n",
" <td>0.067041</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>Polynomial Regression</td>\n",
" <td>1.708302e+07</td>\n",
" <td>7.093839e+14</td>\n",
" <td>2.663426e+07</td>\n",
" <td>-0.380108</td>\n",
" <td>-0.452607</td>\n",
" <td>0.900419</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>Ridge Regression (alpha=1.0)</td>\n",
" <td>1.629031e+07</td>\n",
" <td>4.677350e+14</td>\n",
" <td>2.162718e+07</td>\n",
" <td>0.090021</td>\n",
" <td>0.090846</td>\n",
" <td>0.056075</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
]
},
"execution_count": 134,
"metadata": {},
"output_type": "execute_result"
}
],
"execution_count": 134
},
{
"cell_type": "code",
"id": "a8b2b05314122ac3",
"metadata": {
"ExecuteTime": {
"end_time": "2026-04-26T14:56:46.397666500Z",
"start_time": "2026-04-26T14:56:46.366832Z"
}
},
"source": [
"results_melted_g = results_df_g.melt(\n",
" id_vars='Model',\n",
" value_vars=['MAE (test)', 'MSE (test)', 'RMSE (test)', 'R2 (test)', 'CV R2 (mean)'],\n",
" var_name='Metric',\n",
" value_name='Score'\n",
")"
],
"outputs": [],
"execution_count": 135
},
{
"cell_type": "code",
"id": "28a6da6deea25737",
"metadata": {
"ExecuteTime": {
"end_time": "2026-04-26T14:56:46.566613300Z",
"start_time": "2026-04-26T14:56:46.397666500Z"
}
},
"source": [
"plt.figure(figsize=(10, 6))\n",
"sns.barplot(data=results_melted_g, x='Model', y='Score', hue='Metric')\n",
"plt.title(\"Part G: Regression Model Comparison for Size in Bytes (with Cross-Validation)\")\n",
"plt.xticks(rotation=15)\n",
"plt.tight_layout()\n",
"plt.show()\n",
"\n",
"ranked_g = results_df_g.sort_values(by=['CV R2 (mean)', 'RMSE (test)'], ascending=[False, True]).reset_index(drop=True)\n",
"display(ranked_g)\n",
"\n",
"best_model_g = ranked_g.iloc[0]['Model']"
],
"outputs": [
{
"data": {
"text/plain": [
"<Figure size 1000x600 with 1 Axes>"
],
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA90AAAJOCAYAAACqS2TfAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjksIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvJkbTWQAAAAlwSFlzAAAPYQAAD2EBqD+naQAAkl1JREFUeJzt3QeUlMXWsO1CEIyACqgoiIqiKJgDZgwoZsWMOeeDWcwZj+GYsyJmzJizIooZFTNmQUVRERAlCf2vu96v+n+m6YGZYZoJ3NdaDTMdnw5TXbt21a4GuVwuFyRJkiRJUrWbq/rvUpIkSZIkGXRLkiRJklRCZrolSZIkSSoRg25JkiRJkkrEoFuSJEmSpBIx6JYkSZIkqUQMuiVJkiRJKhGDbkmSJEmSSsSgW5IkSZKkEjHoljRHO+ecc0KDBg3CnGT//fcP7dq1q9JtN9lkk3hS3f9sffXVV6Fbt26hWbNm8TgHDBgQ6vrns6r8XFfMJZdcElZYYYUwbdq0WXq9+/XrFz9z33//fYWv+957783SY2rmn3veD15rXvOa+DutzOeiqj777LPQqFGj8Mknn5TsMaRiDLo1x0uNfDrNM888Yfnllw9HH310+PXXX6vt9fnnn39iJ3zgwIGVut2oUaPCqaeeGjp16hQWWGCBeHzt27cPBxxwQHj99der7XnzJbTEEkvEL9Kffvqpyverikuv/cEHH1z08tNPPz1/nd9//73OvbRTp04Nt99+e+zULbzwwqFJkyaxk8Zn1w50zdtvv/3Cxx9/HC688MJw1113hTXXXLOkj/fbb7+F//znPzFom3feeUOrVq3C2muvHU455ZQwfvz4UJ8Utq+ceL5du3YNzzzzTJXu8+eff47fIR9++GGoCePGjQv//e9/4/s111zV3328/vrrKxTsVRWv29577x3atGkT2yLapM033zy2UbRVtdkjjzwSP0O33nprudd54YUX4nWuvvrqUNtddNFFNTbI17Fjx7DNNtuEs846q0YeX3OwnDSHu/3223P8KZx33nm5u+66K3fLLbfk9ttvv9xcc82VW3rppXN///13tTzOb7/9Fh/n7LPPrvBt3n777VyLFi1yTZo0icd07bXXxuM77bTTch07doz39+qrr1bb8z7ooINyDRs2zC277LK5CRMm5OYEU6ZMqbHnyus/zzzz5Jo3b56bNGnSdJfz+eNyrsfnp7rwWVpqqaWqdNuNN944nmbmn3/+yW211Vbx2DfaaKPcpZdemrvttttyZ555Zq5Dhw65Bg0a5EaMGJGrz2rys1WR94f35vTTT58tj/fHH3/k2rZtGz/rxx9/fO7mm2/O9enTJ7fnnnvmFlxwwdx3332Xv+7kyZNzEydOzM1O/P0V+xusqsL29c4774x/AyuttFI8/4knnqj0fb777rvxttx3TbjiiityTZs2rZbP9L///hvvZ9q0afnzeG2KtS3pteT5VxXfb3y3tW7dOnfKKafkbr311vh8tt1229gWXXjhhbnajL+HZs2a5bp27Vrudfbff//4HH/99dcqt+e8H7wvvD+l/B6Zf/754+0r8rkohaeffjp+pr7++uuSPo6U1aimg36ptujevXs+00PmcZFFFgn/+9//wmOPPRb23HPPKt8v0/AmT55c6dv9+eefYccdd4wZaEboyQ5lXXDBBaF///4xY1Sdz7tFixYxm/H444+H3XbbLcwuxKATJ06c5edTWby+nGrKVlttFV9rsl877LBD/vw33ngjfPfdd6FHjx7h4YcfDnXNSSedFJ599tlwxRVXhF69epW57Oyzz47n11d///13mH/++Wv8szWzrDOaN29e7c+7mNtuuy0MHz48DB48OKy33nrTZVAbN26c/33uuecOs1v28atTtn3FQQcdFBZddNFw3333hW233TbUJWSEt99++zjbalY1bNgwnmaHt956Kxx++OGhS5cu4emnnw4LLrhg/jLaJmbdzGiq8b///hu/x0v1GakIMvO77LJLfA+Y8dC6desyl/Pd+eijj4YtttgizqioqjTbr6bMrs8FMxwWWmihcMcdd4Tzzjuv5I8nwenlUjk23XTT+D+BDy677LLYWSQYJzBcY401wkMPPVT0S4up6ffcc09YaaWV4pfljTfeGFq2bBkvP/fcc/PTDZkqWB5uM3LkyHDllVdOF3Cnx2EwYK211ipz/hdffBE7t1W14YYbxv+/+eab6e6XL32m5PGlTEeSYLHQRx99FDbeeOP4Gi255JJxcICOQuE6LaYZ0+l87rnn4n1x/ZtuuileNmbMmNgZStMAmU7PQEDhOkIGHXgf6EQ1bdo0TsG/6qqr8pdPmTIlvt7LLbdcPGbeuw022CBOw5vRuls6Weeff35Ydtll81OiTzvttDBp0qQy10vPgWn+TJPlMZZZZplw5513Vvj1Zkr/RhttFO69994y5/P54fmsvPLKRW/34IMPxufO68ZACdMmiy0LYAof98Gx8T8ds2J4bfms8ZnlugQGhx12WBz8qawff/wxvpd0AAsDbtCpOvHEE+PnI/nggw9igML7yDKKzTbbLHaWi03Z5fU+9thj498UQSPHycAWn5t99903dqY4nXzyyXEwp3C9In/LBP1LLbVUfP34vBZ2uvkcs9SC95PXY7HFFgsHHnhg+OOPP8pcL31+WCe41157xcflM5a9LIvPHpdz3DzPDh06xM9W4ZKSFJzx2KusskrsHGZln8vNN9+c/6zSHrz77rszfH84Lp57GhzhfrJrMyvzXrz66qvhyCOPjB397PtZiPaE933ddded7jIeJ9vRL1wryvKEwqna6ZSdjlzRdqMia1tZBsT9P/DAA3H6Pc+NY+S1+Prrr0NV8b7zmUuDMXw+ea7ZAbdsIMV6ez7fHE9q61meUez5v/3223EQj9vMN9988XPNIEfWX3/9FV8jHpPXiPeNv9P3339/hsfN9yB/EwQrWauvvnrYeeedy5xHu8Wxcf3k/vvvj+d9/vnnRdfucjyffvpp/Dyl51ZYO4L29/jjj49/9wzu7LTTTvnBoxlJ37m0qdmAO+H7h89c4d8V7WH6u+LvGy+//HL8juTxeS9539JzqsxrTD0FBlRpV/hc8fnaY489wtixY8t9HrTxfJb53iv01FNPxdv27Nkz/s53Ln0YHptjYEr1DTfcMNPXqrw13RX9HqlIP4n7Z4CONi291+n1L29NN0sPUn+KAYejjjoq/r1n8Xnh2HivWMbB3wDfr9QhKMTAHtcnqSLNLrVzCF6qBVLQyZcHCOYY5edLjQ4+X3y77rprePLJJ+P6oCy+mOmsEXwTENFp5gvviCOOiB2F1Enp3LlzuY//xBNPxC+twg7NzKy44oqxs1XZteNJ+rIjeEjoDK2//vrxC4z15XQ4eH5k4snC8pxA0MeXHV+avXv3jtdjDRpflMUMGzYsDhzQqTzkkENiAMLad46f++L8tm3bxqwv95cGIVLwwm3pBNOxBp0fOpmsG03BRZ8+fWIGn6CYjBpZDTo/dILKw/XpEDDIcMIJJ8TOLPfD/Rd2NuiAcz2CJNbI9u3bN3Yg6GzQSagIgjWOmXWtBDkE/QTVdDDpeBeiY0LHm044x0XtAT6fPHcCppS9fP7552PHjg4X1yNg5HbFgiNe63S/BLR0sq+99tp4f9xvZbKPZO15Dvvss0+Frs/ni44swReBMo9F0E6niE74OuusU+b6xxxzTOys0pkmGCTo5DnzOeHzwnpBMlqXXnpp7IQRiGcxKELHmI4bry+vHR1U1jcT6KbP17fffhtfDx6LY+Rx+J/HLAymaQsY3OGxs4F+4fNkkIa/e7Ir/F3w+ckGRhMmTIjPm/NpP5Zeeun4WeAzRSczfbYTBmt4Lrx/HBMdTNoMjr2894zLeb2OO+64+De09dZbx89dVd4LAm6CINZH0pEuD0E+62ZZO87fSWVQ26Cw7sHdd98dB+xSVq+i7UZlXXzxxXH9MoNEBDW8vnwH0CZUBLehHgOfCQZTrrnmmvh3TgAF3jN+5n5Hjx4dBzWz3wG0WVxOnRE+M7zOhx56aH5wNM0a4DuHgRLaHWaScMwp8Hrttddi+wcyvgRBfLZoF2gTGMSibSOALg+vJQqvw3GQtU94DnyGeHweN33H8TOfE76fiuH94e+azyHvN9LfYsLlfC/x/Pie4jY8DwL68vC5eOmll+LAJp+JiuK1o23gtU7rv1988cX4GjMQx3cLf6u8n3w38p2SBopm9hrTf9hyyy3jIEJqy/jc0pfgb5xBk2J4DrTd/M3z3ZDFeQSZfCeD/gbfP/RZGODhs8TfKkE77V5lVOZ7pCL9JNqA9J3M6wsGN8rDa01bz4APfSj6DTw/BhcLv5sYJGbgiTaOmXq8D9QgYCCI9y6LvxWCbv7GaO+kkisz2VyaA6X1Yi+++GJcN8s60/79++cWWWSR3Lzzzpv78ccf82sgs1h3uPLKK+c23XTTMudzX6wH//TTT2dpTfdCCy2UW3XVVac7f9y4cfG+0mn8+PHTPX5F1twWe94PPfRQrmXLlnENeXa97WabbZbr1KlTmXWWrLlab731csstt1z+vGOOOSauj/vggw/KrOVceOGF42Nl122yFozznn322TLHdf7558f1Xl9++WWZ80899dS4Xm348OHx9//85z9xfeGM1p6tssoquW222WaGrwPvR7Yp/PDDD+PvBx98cJnrnXjiifH8l19+ebrnMGjQoPx5o0aNiq/fCSeckJsZbnvUUUflRo8enWvcuHFc+4mnnnoqvo7ff/99/vjSmm4+d61atYqfvezayieffDJe76yzzsqfx+dn8cUXz40ZMyZ/3vPPPx+vl12L99prr8Xz7rnnnjLHx3tTeH5F1nQfd9xx8XbZz8GM7LjjjvH5f/PNN/nzfv7557jWl/XghZ/ZLbfcssyavy5dusTX6/DDD8+fx+diySWXLHOsfP64ffbvOtVO4HyOOyn8e8d999033fud3h/WJs/ss8Ua0pmtz7/yyivjde6+++78ebznPMcFFlgg/v1nnwvtFJ+f5LHHHqvQmuF0e9YZz8p7scEGG1Ro/ecvv/wS2xZus8IKK8T36t577y3z2azoWtHBgwfn5p577tyBBx5Y6XajPIWf61deeSUe64orrlhmrfdVV10Vz//4449neH/p9Sk80Tb069evzHWHDRsWL7vhhhvKnL/99tvn2rVrl/+sl7emm8tphwv/LvgMUxdiiy22yJ/HumDanMo644wz4mP/9ddfZc5/8MEH4/mfffZZ/P3xxx+Pz5Fj33333fPX69y5c26nnXaa7vXJfifMbE335ptvXub58ffKe1vsM5QMHTo03pbvi4pIfxd8t9CWZ9Ge0vbynZa9f77v99133wq/xrSLPAavXWWddNJJ8bZ8ZpKxY8fG2h/ZNqhY+8XnY5lllpnh5z49/+xnrKLfI5XpJ5W3prvwc8F7QHvUrVu33NSpU/PXo74N1+vbt2+Z58J51E9I+NtdbLHFcj169JjusWh/uD7tvzQ7OL1c+n8YRWUknqmJTPNixJ2sJtldZNcaM5pKBoNR/mLT8si4MCo8Kxh9TdmnLLKHHGc6MYpbMJBWqSx39nmTsSU7zbTxNIpN5oIsCqPGZNTI2nBitJvReqbJpWnNrOFl3dyqq66av38yBGnKWyGyeNxHFlk9XlcyGumxOHGcZMoGDRoUr0emjsxadqp4Ia5D1oVjrCgypCjMJJDxTtP4snifU9YJvJZk7Mk0VhTPldH5lDEia0EGK00BziJTT8aMrEV2Si5ZBJYhpOMju0ctALKK2cwJGf7CzyavOdfhsuxrTiaAz+Arr7wSKvvZRbGpnIV4T8mkkKEhg5QsvvjicQYAGaJ0fwmzCrKZZrKvfO45P2EqM9NGi70PPFb6uwYZF+4jvfeFf+9kvHg90tToYn/zZLdmJs1AILtS3pRnjoHMV7aOBJkcZh+QISXbnLX77ruXmZWSPouV+fzNynvBDJWKrMEkazl06ND4OtF+snyG+yRTzVKO8mYHFPrll19iO0Ubw5TTyrYblUVGL7uWt7Kv73XXXRfbKE5k55kJRJaPatQJWWw+f0x/Tmh3mTFC2zmzbef4O6eN4/WkXU7PnfaRmUA89/R54zNIlp51wZXB/ZIxLfxOSq9Hen3JaDMDh7aEn0H2luUb2XayKsiKZl8L7o/39ocffqiWtiiLzG5aEpZtT5lxkp2NQCaf55ptO2b2Gqf2mJkaZOIrI82QyC5HYrYZbVT2ezbbfqXZFvRL+NzOaAp7ocp8j1S2n1QRzC4gY850/WzFfNodstOF38d8PtNrBP52ad+L/b2mdrMu7gyiuqneBN00+Nttt11c61GV/UZpsGhMmYLCF0uaolMeprRwvWxwobotdY4IMFgTRCOdDQiZHkWnm0CHL12+kJniVOwLjGByVtFJKLaNDlMMUyeuOp8307CYZsoXUHY6ONNc6RCfeeaZZYJ9TkzzA0Eg6PywjrJQsfPKe53oPBK8Fz5WWkuYHougk84qU8YYIGC9LbcrfK3o8HE9/rZZv5pdZ1gMz4Ev98JjJhCiM1XYwSs2ZZEv88quhabDzPvAenzaL34v7/hAYF+IoDtdnv5nynOhwtvymvM5JgAqfN35DKbXvKLSVD0GaWaGNZl0PIs9H6aiEiyMGDFihq956gwycFR4frH3odhrwmcku46QoIep3ASLdCR5LdLntap/8wTITEUl6OJ+GdxjmUY2AOd94/gKt2RK03Jn9vlLHcmqrMWvyntRmbaO4J02k448U0TZ2ihNTafQ2sywZIHBPwItgtZsO1XRdqOyZvX1pcPPMXAiKCJIIFhh6nG2wCZLIOhXpPeXQQRqUlRkiUYaVCQwKnz+LO9hGnP6zDKNnQCYvxWOjam7VRmgSfgc83lNATb/E2QxFZqgk/vmefHZmdWguyrvRWXaohl9rmfU7vK3kQY5KvIac98M6vLesPyMfgbfw9l2hfaHAaZ0SpcR5LNkJjulnwA83U/Ca85nLq0957OQakdUJuiuzPdIZftJlXn8wscimGZgsLA9pC9QOEhV3vdxGuib2aCWVF3qzZpuGjvWzdLxruwaWPAlTseKbMLMKgWnYj2MIFfnPs6qWXw5lrdPLR0J1inRkSC7QueR7BPrvgoLYKE6KnATQJEZouOVXbM0o3Xgs/q8GWyiyBMBH51iRo1TQMCaxsKs9MyC6pkp9jrxeIyis560GIIjECAyAk+2gIwQJ94P/jZT0SneL9bmk1kkg0cnhwJaZNnK2xs7qegXcXlZvopm7hI+XwQRdJzpJM/OyvG85rye2UxbVjbjUxGp8B9rpEsxMFnea17s/Mq+DwmvP+tYGajhOaS/BWYkFMtSV+RvnuswQMzAHsEXQSLrUVl3y+ezKlV7q+vzV1VVaev42+LvmBMzNOjQ89mb2d8k78Wbb74Zs1+F60kr2m7U9OvLYArZbta+Eiynug8MwLDGnteB4IisOO1yscCmUPo8UsOgvL+3lKHmc03wyywuPnPchpoYDGIUrnnNorYJgx4Er4VZY74zWDfNGuchQ4bEQRQCQ4I9vjtZy8zjr7baamFWVOW94LuJBAltUWXMynd4RV7jyy+/PCZ60ncTfU/WS1Mvgs82/djsrBa+F1JxMzK51FZh1hPXpT2hjkEqzsd3Hv1T2mF2YCH4J0glG8/3X0UKC1ZFZftJpVCZz0gKxBmwkGaHehN005DN6AuDTizFORgdJGjmC4FGMFXHZDQwVXZkhLCwKmIW0+MISvjjrmxGXXUTAzGM3BLgZbMrfJlUVGVHUym4xBcwX9yzKwDjM80XP51CimjxxZ6mmfLlWVi5thDToYtV9q1MtV8KqpBdndljgY4EM1w40ZEg+03RJ7LyaSCA0XamiHLifukQkHkor4PPc+C+6BBni/4wwEa7UGzKd3Wgk8egB51t2rLyOgLp8RkUSRX2E85Ll6f/i02t53qFrzmBDFnY6hgw4vj5LPFcZpapI6CnAFDhMaWK+QQphRnsWVXsNfnyyy/zhZDojBFEULyHAGJGt6ssng8dYk50iCm8xncTHWc+87xvzMbgM5jNdvNaoFSfv5p6L2hfyESR/Z4RCjJROIsT02Rnpd2oaQSvyM5kop1iAIKgm4w4/ZDC4m/lfYekIlRkdSvy/AmGaCs5MQOA4l5UaJ9RHyoNpFFgsXDglwCT70LeIxIYLI3hs0IwnoJuzpvZoFIpMo58nmknWSLFLI2qfn6z7W6xvw3a6+x2eRV5jZl9xemMM86IA3y0vwwIs+MHQXk2O5vdIoylJxQIJJBNBQqzU8spmkafl2Vi2dkBlV0mVNnvkcr0kyr6Xmdf9+ySF2aJ8Fmclb93bs/ntKoDctIcO718ZpjKxQg5Xwp0aKimSMaisp0oGg+mCaVptZoz0FngS4Ivt4SpqJUZdOHLHzMa0MmiSidT98h+EBBUdHR/VrcMYyCK7DcdPpZdkAHlPILZYh3j7JYtZML5OyMDnZ0mV14GtRgGGLgPvrgL8dqlDmvh1k18eabOYNraq/A6ZFsIxgu3/spiij0KO7wESCisVF+dmE1A28KgQXnIfvGe0DnLPg8y/XRu0/HR6SPrRdY/O7WPKexp+5skTdllbW0hXu+KfmYTOrasuSODQ3XfQgSUdCrZWoy/rW7dusWMT3Z6N4McdCrpuFd3ZVn+brPbq73zzjtxDWbqEKfgoPBvrKoVsLN/C4VSZjK9l3z+mE6arcjMe8DryOe3WMBZXUr5XvD6FqtuzmvP3+mMMrpM1WWQjAxfYfX2yrYbNY2ZS/xdMGBYWMmbASr+Nsno816Q/c5KQV3h3yO1Fwi82a6p2JKk1EbzN144zZe2hIBuRm0iqNUBsquF0rRxEhm0wWm5B+czeMVtKjK1nOdX2bamImhT+Vvm9S32+pCdL9ySr1C2Pc0eI59N3s/0vVGR15h15oWfR4JvvsPSdXhP07IETtn10wTSvJ60EQxsMl09VbEvr/3imCqTJCj2vGf2PVKZflJF32ueO38rLEXJPh+Wo3A8s/J9zPvOTJPyqsVL1a3eZLpnhACExob/02ghnVum9nE+mYaKIEAn88fIbZrGozkDDTtBFwM1zHJg5Jo1WARwM1sjnJBB5IuTL0pGVslsMOOivH2YuZwsN1lclk7QAaNADRlnRuxZ81dsndusbhkGOn0MTDGdjZkdPFc63HQMCKYYcaYjTieXwIlp8GBqJ50ApnmyFUraMoxjJOCoyOg2j80IPZn+tPUWnXWmB7LunC9xsgp0wrlPshhMsWNtF4EJHYTUmeX1ZsCA++D1pPOXtnIpD681U/nYHopOAa8lgQGdDjLRzAIoFR6b04zw/tO5JXPPsZH1SFuGkallkCZh1gKfXd47lt7wevEa0dHIdj65H6Yncn0GTAi8eBzaPD5n3DfFqyqDoJppjkybZFol7ycZTdph7pPBoRRUkNlJ+1eTGaJ9ZZCHDmixPVZnFX+3PBYDWzwGwTTTZ9PUZAJLZkTw2ARJFF2jY01mZFZQY4Dp5bwnZHBoR5iGyec37e1NsSieO599OoW8p3xmU+azsgWhKqtU7wXbBDH4xvaC/D3SkWaQiC32yI4V7lWexWcdvCe0L1kEG7RHFW03ZjcGw9IsBd5vBi9SX6JwAIPPBZ9D/j4YAErboSUE1kzZZsCNzwHtKwXYCLpoZ7kNf9u8XnxmGVgiu8njkP1kajifNf6WaWcYxGGGC1sv8fc6I7zGfFdxfdqSwr8nal6QjaTdT3i/UqHPigTdvGfMOOQzyH3y/Atn81QFnxG+w/g8k7En+GZJA68H35N8bnjMmWGaOK8xAxAUbUxbhhG0MXsKFXmNybrzHcR3LH0BAnD+PghaKeBWEQxA0Vawbj5tsZbQfqdZYLTrtPW33HJLfD1nNqOkmIp+j1Smn8R7zevC9emX8xku3I4wzb4hq8+sI+6X6et8zmg36Q9li6ZVBu060/f5TEizTa4e4mk9+uij022lwxYF2VOjRo1yu+2223S3ZxuDHXbYocx5bImy5pprltnSg+1g2JJIdVvaooLtWGbktttui9uysB0KW95wu8ItgbLbQBXzxhtv5NZYY424BUZFtw8bOXJk3CakY8eOcasjHp9tP9iiJLt1UVW3DCv2vNmaY9lll42ntB0QWwjxmGy/wXY9SyyxRG7bbbeN24wVboey4YYbxuNky6Y+ffrkrr766vhYbBuUsNVIedt5sS1N7969c+3bt4+vVYsWLeL2ZJdddlncggQ8LtuIsIUL12nbtm3usMMOi69XcsEFF+TWXnvtXPPmzeNrx/t24YUX5u8Dxd7DKVOm5M4999y43Q7PtU2bNvF4slumzeg5VGRbrZl9VgqPr3Cbqfvvvz+32mqrxdeZLdl69uxZZhus5OGHH47bHnE9PkOPPPJIuVsy3XzzzfHzyWvFFlFsE3fyySfHLaMq+9zAZ+fWW2+Nnwe20eG15HEPOOCA6bYTe//99+OWNmyLNd988+W6du0a/14q8pkt7zXiedLWF9sm6/LLL4/vK68Lx8fWP1m8lmxxxGeHY991113j61D4d1veY2cvS1566aX43dK6dev4meV/tvkp3Obq119/ja8Rn3uux/tQuE1UeVt+oSJty4xuPyvvRXk++uij2I6tvvrq8fPK9y/bEPG68nhZhZ/PtDVfsVP2dalIu1HZLcMKt3UqtqVSRbcMY1sntl+iH5Hd+irryCOPjNdlO6Ni2BKOv2Nev8Lj4G9q5513jtvI8bnmdaOPw+cubZ/Ee0C/hb9v/jb4+frrr89VxP/+97/4mSi2HRXvI8dDu5TwmvP54b3Ibm9Y3pZhfD/QnnJs2e+x8j5r6T3i/4oYMmRIbq+99op/d7RFbMvJdph33HFHfjuqGf1dgC02119//dhGsq3Ydtttl98uraKv8bfffhu3u+P7lc8Efw/8jXHfFcU2gbzH2e3asti6jW3auH+2nfvvf/8bt9cqfM0rsmVYZb5HKtpP+uKLL+IWhLyOXJa2Dyv2uUhbhHF/vG+LLrpo7ogjjsj9+eefZa7D82DbuULFjvOZZ56Jj/PVV1/N8HWWqlMD/gn1DNk0MoSpAjmZRda7sHVQ4ZoiRiEZoc1ilJwMV3ZKDL+TpcnenimSvHycRxakOkZkpfqI7T7IljEqXpViUVJ1INtJRoWMFbOdpNqGmSpMnWWJQVqSVFswnZeMNzMestvzSXUN8UGKFaTZZY6YI03FTNaYMNWlqltWMD2rsPol01uYJsTUterYIkqqD5hyly3GxXpNps4xNc2AW5KKo4YG0+eZYlzbAm4wjZolGAxaMYW9cFs7qS5gWQtbm2Vrz0izQ70JusmgZSsks/aOPyjWcbJmhkw3WwmxpoYgnMIiFPig6EcqxEBRCCoisl6FdTnpD5I1ony5FK69ZX0Ma9HKW5MrzYlY78Y6atZVs9aYrA2FY2ZUHEyS5lQkBFjfygA+g5TlFYurDVijndZpS3URfZPaUlhRc5Z6E3RTIClb4Oj4448vs7chBdMolHHCCSfE4iIUVFl33XVj0ZWE6pMUY0rSnpL1cAa+VDL8HdF5pBAZ07fYKoXAm6I6kqSyGPAnMcBAPlWaS7G3vSSpZtXLNd2SJEmSJNUGLsiRJEmSJKlEDLolSZIkSSqROr2mmy27fv7557DgggvGtaOSJEmSJM0OrNSmAHfr1q1nuKtDnQ66CbjbtGlT04chSZIkSZpDjRgxIiy55JL1M+gmw52eJPtoS5IkSZI0O7AtLkngFJfWy6A7TSkn4DboliRJkiTNbjNb6mwhNUmSJEmSSsSgW5IkSZKkEjHoliRJkiSpROr0mm5JkiRJmpGpU6eGKVOm+CKp0uaee+7QsGHDMKsMuiVJkiTVyz2Uf/nllzBmzJiaPhTVYc2bNw+LLbbYTIulzYhBtyRJkqR6JwXcrVq1CvPNN98sBU2aMwdt/vnnnzBq1Kj4++KLL17l+zLoliRJklTvppSngHuRRRap6cNRHTXvvPPG/wm8+SxVdaq5hdQkSZIk1StpDTcZbmlWpM/QrNQFMOiWJEmSVC85pVy14TNk0C1JkiRJUokYdEuSJEmSZprxHTBggK9SFRh0S5IkSVIdsP/++8fg9/DDD5/usqOOOipexnUqYuDAgfH6Fd1SbeTIkaF79+6VPmYZdEuSJElSndGmTZvQv3//MGHChPx5EydODPfee29o27ZttT/e5MmT4//sVd2kSZNqv/85gZluSZIkSaojVl999Rh4P/LII/nz+JmAe7XVVsufN23atNCnT5+w9NJLx62vVllllfDQQw/Fy77//vvQtWvX+PNCCy1UJkO+ySabhKOPPjr06tUrtGjRImy55ZZFp5f/+OOPYc899wwLL7xwmH/++cOaa64Z3n777dn2OtQl7tMtSZIkSXXIgQceGG6//fbQs2fP+Hvfvn3DAQccEKeMJwTcd999d7jxxhvDcsstFwYNGhT23nvv0LJly7DBBhuEhx9+OPTo0SMMGzYsNG3aNL8nNe64445wxBFHhMGDBxd9/PHjx4eNN944LLHEEuHxxx+PWfD3338/BvqankG3JEmSJNUhBM+9e/cOP/zwQ/yd4Jgp5ynonjRpUrjooovCiy++GLp06RLPW2aZZcLrr78ebrrpphgwk6FGq1atQvPmzcvcP0H6JZdcUu7jM5X9t99+C++++27+ftq3b1+y51vXGXRLkiRJUh1CtnqbbbYJ/fr1C7lcLv7MVPDk66+/Dv/880/YYostplufnZ2CXp411lhjhpd/+OGH8X5SwK0ZM+iWJEmSpDo4xZy117juuuumm/6Np556Kk4Bz6pIMTTWaM9Idiq6Zs6gW5IkSZLqmK222ipmrilwloqdJR07dozB9fDhw+NU8mIaN24c/586dWqlH7tz587h1ltvDaNHjzbbXQEG3ZKkemn4eZ1CXdf2rI9r+hAkSbVUw4YNw+eff57/OWvBBRcMJ554YjjuuONicTMKp40dOzau/aZo2n777ReWWmqpGLA/+eSTYeutt47Z6wUWWKBCj03VctaM77jjjrFg2+KLLx4++OCD0Lp16/wactWSLcPatWsX3+jCExu7S5IkSZLKRwDNqZjzzz8/nHnmmTEoXnHFFWNmnOnmbCEGpp2fe+654dRTTw2LLrpofqp6RZAlf/7552MRNgL2Tp06hYsvvni64F//p0GOlfc1hIp32ekMn3zySVzs/8orr8T94WZm3LhxoVmzZnHUprwPmyRpzmSmW5LmXBMnTgzfffddDDDnmWeemj4c1dPPUkXj0UY1XXUvi9GRZZddttx1B5IkSZIk1SU1Or08iyIAbN5OFT6mmEuSJEmSVNfVmkJqAwYMCGPGjAn7779/uddhk3dO2XS+JEmSJEm1Va3JdN92222he/fuseJdeSgCwJz5dGrTps1sPUZJkiRJkupc0P3DDz+EF198MRx88MEzvF7v3r3jIvV0GjFixGw7RkmSJEmS6uT08ttvvz2Wm99mm21meD02eOckSZIkSVJdUOOZbjZrJ+hmg/ZGjWrFGIAkSZIkSfUj6GZa+fDhw2PVckmSJEmS6pMaTy1369Yt5HK5mj4MSZIkSZLqX6ZbkiRJklQ7scsUidLZbfLkyaFdu3bhvffeC3VdjWe6JUmSJGl2WeOkO2friz3k0n0rdf39998/3HHHHeGwww4LN954Y5nLjjrqqHD99dfHelj9+vUrc9mbb74ZNthgg7DVVluFp556qsxl33//fVh66aWLPh63W3fddYteNnHixHDmmWeGBx98sMzxjRkzJgwYMCBUl3POOSfe34cffpg/r3HjxuHEE08Mp5xySnjppZdCXWamW5IkSZJqkTZt2oT+/fuHCRMmlAmA77333tC2bdtyM9LHHHNMGDRoUPj555/Lrac1cuTIMqc11lij3ON46KGHQtOmTcP6668fakLPnj3D66+/Hj799NNQlxl0S5IkSVItsvrqq8fA+5FHHsmfx88E3Kutttp01x8/fny4//77wxFHHBG3YS7MgieLLLJIWGyxxcqc5p577nKPg8B/u+22K5ORJgv/2GOPhQYNGsTTwIED42UjRowIu+22W2jevHlYeOGFww477BAz7AnXW3vttcP8888fr0Mg/8MPP8RjPffcc8PQoUPz95mOf6GFForX4zjqMoNuSZIkSapl2N2JrZWTvn37hgMOOKDodR944IGwwgorhA4dOoS99947Xrc6ilWTZV5zzTXzvzPdm8CaKewpU77eeuuFKVOmhC233DIsuOCC4bXXXguDBw8OCyywQLze5MmTw7///ht23HHHsPHGG4ePPvooTmk/9NBDY4C9++67hxNOOCGstNJK+fvkvIRAnfusy1zTLUmSJEm1DMFz7969YzYYBLJkfFNmuXBqOdcHge7YsWPDq6++GjbZZJMy1yNAnmuuuabLkhfDum3up3Xr1vnzCKTnnXfeMGnSpJglT+6+++4wbdq0cOutt8ZAGgwYkNEeOHBgDNy5r2233TYsu+yy8fIVV1yxzP02atSozH0mPH56Deoqg25JkiRJqmVatmyZnypO1pqfW7RoMd31hg0bFt55553w6KOPxt8JXskUE4gXBt1MQc8GuzOS1pPPM888M70uU8O//vrrmOnOYh36N998E6ufU4CNbPgWW2wRNt9885gxX3zxxWd63wT5//zzT6jLDLolSZIkqZZOMT/66KPjz9ddd13R6xBcM307m5EmSG/SpEm49tprQ7NmzfLns068ffv2FXps1n+Ttf7zzz9nel2y5RRku+eee4oOHqTM97HHHhueffbZGPyfccYZ4YUXXii3cnoyevTo/H3UVa7pliRJkqRaKK2JTmumCxFs33nnneHyyy+P222lE5lngvD77ruvyo/Nll0dO3YMn3322XTnT506dbrCb1999VVo1apVDOqzp2aZoJ8icEyZf+ONN8LKK68cq7GXd5/JJ598UrR4XF1i0C1JkiRJtVDDhg3D559/HgNffi705JNPxkz0QQcdFIPY7KlHjx4xC571xx9/hF9++aXMiSng5SHQp5haVrt27WIxNKa1//7773FAgK29mPpOxXKKnn333XdxLTeZ7R9//DH+TrBNATXWZz///PMxSE9T3blPrsOAAffJmvGE+2N6el1m0C1JkiRJtRT7ZHMqhqCa9dHZbHJC0P3ee+/FADnhuqyjzp4GDBhQ7mMTzD/99NOxCFpyyCGHxCrpFEdj2jcF3uabb764Pzhbmu28884xmOa2BPRNmzaNl3/xxRfxmJZffvlYufyoo44Khx12WP5Yyep37do13mfK0BOk89i77LJLqMsa5KqjlnwNGTduXPyA8UaU90GUJM2Zhp/XKdR1bc/6uKYPQZLqJII9MqdLL710hQqBqXy77rprnD5Opnp223333cMqq6wSTjvttFAbP0sVjUfNdEuSJEmSirr00kvjll6z2+TJk0OnTp3CcccdF+o6q5dLkiRJkopivfUxxxwz21+dxo0bxwrn9YGZbkmSJEmSSsSgW5IkSZKkEjHoliRJkiSpRAy6JUmSJEkqEYNuSZIkSZJKxKBbkiRJkqQSMeiWJEmSJKlEDLolSZIkSdMZNmxYWGyxxcJff/0121+dPfbYI1x++eX14l1pVNMHIEmSJEmzy/DzOs3WF7vtWR9X6vr7779/uOOOO8Jhhx0WbrzxxjKXHXXUUeH6668P++23X+jXr18877fffgtnnXVWeOqpp8Kvv/4aFlpoobDKKqvE89Zff/14nXbt2oUffvhhusfq06dPOPXUU8s9lt69e4djjjkmLLjggvF3HrNXr15hzJgxoboMHDgwdO3aNfz555+hefPm+fPPOOOMsNFGG4WDDz44NGvWLNRlZrolSZIkqRZp06ZN6N+/f5gwYUL+vIkTJ4Z77703tG3btsx1e/ToET744IMYqH/55Zfh8ccfD5tsskn4448/ylzvvPPOCyNHjixzIqAuz/Dhw8OTTz4ZBwFqwsorrxyWXXbZcPfdd4e6zqBbkiRJkmqR1VdfPQbejzzySP48fibgXm211fLnkXF+7bXXwn//+9+YLV5qqaXC2muvHTPU22+/fZn7JFvNVPHsaf755y/3GB544IGYMV9iiSXyGekDDjggjB07NjRo0CCezjnnnHjZpEmTwoknnhivy32us8468frJDz/8ELbbbruYhefylVZaKTz99NPh+++/j8cNLuM+s0E+t2Hwoa4z6JYkSZKkWubAAw8Mt99+e/73vn37xqA3a4EFFoinAQMGxMC3OhHMr7nmmvnf11tvvXDllVeGpk2b5jPlBNo4+uijw5tvvhkD5I8++ijsuuuuYauttgpfffVVflo8xzdo0KDw8ccfx0ECjpuBhYcffji/fpz7vOqqq/KPyQDCO++8U+3PbXYz6JYkSZKkWmbvvfcOr7/+eswScxo8eHA8L6tRo0ZxnTVTy1kPzRru0047LQa+hU455ZR8kJ5OBNbl4TFbt26d/71x48ZxbTXZ6JQp5z6Yhs7gwIMPPhg23HDDOCWcYHyDDTbIDxoMHz48HlunTp3CMsssE7bddtu4Xrthw4Zh4YUXjtdp1apVvM/s+m0ef/LkyeGXX34JdZmF1CRJkiSplmnZsmXYZpttYlCdy+Xizy1atJjueqzp5jIC6Lfeeis888wz4ZJLLgm33nprmanaJ5100nTrs9PU8WJYTz7PPPPM9DjJXE+dOjUsv/zyZc4nO73IIovEn4899thwxBFHhOeffz5svvnm8Zg7d+480/ued9554////PNPqMsMuiVJkiSplk4xZ+o2rrvuunKvR3C8xRZbxNOZZ54ZK36fffbZZYJsAvb27dtX+LG5PhXFZ2b8+PExYz1kyJD4fxaZcHA8W265ZaywTuBN1XS2A5tRITeMHj06PwBRlzm9XJIkSZJqIdZFM716ypQpMWitqI4dO4a///57lh6bgm2fffZZmfOYYk5Wu/B6nDdq1KgY1GdPTBdPWL99+OGHx4JwJ5xwQrjlllvy94nC+8Unn3wSllxyyaIZ/rrETLckSZIk1UJkjj///PP8z4XYFoyiZWTEma5NhfL33nsvTi/fYYcdylz3r7/+mm5t9HzzzRcLoxVDkE+GmmA4PTb7fZPZfumll2Jlc27PtPKePXuGfffdN2avCcLZO5zrcEzbbLNN3Nu7e/fu8bpkz1955ZWw4oorxvuk4jrrxNmebOutt45TylOGnCnz3bp1C3WdmW5JkiRJqqUIissLjAlO2Z7riiuuiIXJ2Nua6eWHHHJIuPbaa8tc96yzzgqLL754mdPJJ59c7uMSJFOo7cUXXyxTwZxs9e677x6nfBPcg4JpBN1ksDt06BB23HHH8O677+b3FJ86dWqsYE6gTfae4Pv666/Prys/99xzw6mnnhoWXXTR/HR69iWnKjvPpa5rkGNVfh01bty4WN2OveLK+yBKkuZMw8/rFOq6tmd9XNOHIEl1EgHbd999F5ZeeukKFQNTcawjf/zxx8Nzzz0321+iG264ITz66KNxDXht/SxVNB51erkkSZIkaTqHHXZYGDNmTJyaztT12WnuuecO11xzTb14Vwy6JUmSJEnTB4uNGoXTTz+9Rl6Zgw8+ONQXrumWJEmSJKlEDLolSZIkSSoRg25JkiRJkkrEoFuSJEmSpBIx6JYkSZIkqUQMuiVJkiRJKhGDbkmSJEmSSsSgW5IkSZJUZWeeeWY49NBDZ/sr+Pvvv4dWrVqFH3/8MdRmjWr6ACRJkiRpdln/mvVn64s9+JjBlbr+/vvvH+644474c6NGjcKSSy4Zdt1113DeeeeFeeaZJ3+9Bg0axP/ffPPNsO666+bPnzRpUmjdunUYPXp0eOWVV8Imm2wSz3/11VfDueeeGz788MMwceLEsMQSS4T11lsv3HLLLaFx48Zh4MCBoWvXrkWPaeTIkWGxxRYretkvv/wSrrrqqvDxxx/nz+MxV1111XDllVeG6sLrMmbMmDBgwID8eS1atAj77rtvOPvss8Ntt90Waisz3ZIkSZJUi2y11VYx0P3222/DFVdcEW666aYYWBZq06ZNuP3228uc9+ijj4YFFligzHmfffZZvM8111wzDBo0KAbI11xzTQy2p06dWua6w4YNi4+dPZFNLs+tt94ag/ellloq1IQDDjgg3HPPPXGQobYy6JYkSZKkWqRJkyYxs0xQveOOO4bNN988vPDCC9Ndb7/99gv9+/cPEyZMyJ/Xt2/feH7W888/H+/vkksuCSuvvHJYdtllYxBOlnveeectc10CbK6bPc01V/lhI4+/3XbblclIk1Un+002vkGDBuH777+Pl33yySehe/fucVBg0UUXDfvss0+cIp489NBDoVOnTvGYFllkkfi8//7773DOOefE7P9jjz2Wv08y81hppZViZp/BhtrKoFuSJEmSaikC1TfeeCNmpQutscYaoV27duHhhx+Ovw8fPjxmsglmswicyVhzWXUiu0wWnQx6QrDdpUuXcMghh+Qz5W3atIlTwzfddNOw2mqrhffeey88++yz4ddffw277bZbvB3X23PPPcOBBx4YPv/88xhU77zzziGXy4UTTzwxXi/NAOBEdj1Ze+21w2uvvRZqK9d0S5IkSVIt8uSTT8Zs8L///hvXaJNpvvbaa4telyCV7Pbee+8d+vXrF7beeuvQsmXLMtdhTfhzzz0XNt544xiAswZ8s802i+uhmzZtWua6rCHPYtr4p59+WvSxCfIJisk0J82aNYsDBPPNN1+ZdeDXXnttDLgvuuii/HkcNwH5l19+GcaPHx+fL4F2mqpO1jsh+81rUWxtOY//wQcfhNrKTLckSZIk1SIUNKPg2dtvvx2nirNuuUePHkWvS7BNMTXWfxN0E4QXatiwYVz7TZVvpphTRI3gl6nZZI2zyBjz2On09NNPl3ucaVp7tsBbeYYOHRoLuzGYkE4rrLBCvOybb74Jq6yyShwIINBmkICp73/++WeoCALyf/75J9RWBt2SJEmSVIvMP//8oX379jEQJRtM8F1edW7WPm+77bbhoIMOilXJWTNdHoJtpp6TdSZ7zfVvvPHGMtdZeuml42On04wKpFE9HBUJjsePHx/XfmcDek5fffVV2GijjeLAAOvWn3nmmdCxY8dY6K1Dhw7hu+++q9A098Lsfm1S40H3Tz/9FEdn+LAwQsHIBnP8JUmSJGlOx9Ty0047LZxxxhllCqZlkd1mDTTTxQleK2KhhRYKiy++eCxUVlUUZGN6Ouu6s4pVRV999dVjoM8a9GxQz4lBBlAgbf31149bmzFdnPtJBdKK3Wd23TtT12urGg26GRHhRZ177rnjiAZv1uWXXx4/AJIkSZKk/1uTTTB93XXXFX05KDD222+/xb28i2HLsSOOOCJWMWcqN8HvKaecEv/PVh7HqFGj4t7b2dOUKVPKHRCgwvjrr79e5nwCa7LzVC3//fffw7Rp08JRRx0VM9IUS3v33XfjcbDOnKnzBNNcnynvJGBZK/7II4/E57Tiiivm7/Ojjz6KW5pxn+mYmFY+ZMiQ0K1bt1r7UanRoPu///1vfm85Ks4xlYEXixETSZIkSVIIjRo1CkcffXRcj10sM02GmKnexSqcg1iL6d2HH354XMdNQbW33norDBgwIP6cxZRuMuDZE0FteQ4++OC4bRiBdUK1cQYJmCbesmXLGERT7Gzw4MExwCbmY4Zzr169QvPmzWPwTsac6uoUglt++eVjZp+EbJouTzV0jo1K6dwn9wW2EWvbtm3YcMMNa+1HpUGOcnM1hDdhyy23jAv62cuNNQZHHnlkfEGLoVodp2TcuHExaB87dux0VfckSXO24ef9/xVP66q2Z31c04cgSXUSa5VZC0xSryJFvlR1hJPrrLNOOO6442IWe3Zbd911w7HHHhv22muv2f5ZIh6lWvvM4tEazXRTYe+GG24Iyy23XJxawJQHXjA2Pi+mT58+8UmlEwG3JEmSJKlmkGW/+eab43Zfs9vvv/8etxiriWC/zmS6mf7A9AA2e08IupnjT9n7Qma6JUkVZaZbkuZcZrpVXep8ppv1AUwxz2KhPHP+i2nSpEl8MtmTJEmSJEm1VY0G3VQup/pc1pdffjnDveAkSZIkSaorajToZrE9VfMoDf/111+He++9N64HoJy8JEmSJEl1XY0G3WuttVbc7Py+++4LK6+8cjj//PPDlVdeGXr27FmThyVJkiRJUrVoFGrYtttuG0+SJEmSJNU3NZrpliRJkiSpPjPoliRJkiSpRAy6JUmSJGkO8dJLL8VtmqdOnTrbH3vdddcNDz/8cJjT1PiabkmSJEmaXV7daOPZ+mJvPOjVSl1///33D3fccUf8uVGjRmHJJZcMu+66azjvvPPCPPPME8///vvvYxHql19+Ofzyyy+hdevWYe+99w6nn356aNy48Qzv/+STTw5nnHFGaNiwYfz9nHPOCQMGDAgffvhhqC79+vULvXr1CmPGjClzPo/LDlY77bRTmGuuOSf/O+c8U0mSJEmqA7baaqswcuTI8O2334Yrrrgi3HTTTeHss8/OX/7FF1+EadOmxfM//fTTeJ0bb7wxnHbaaTO839dffz188803oUePHqEmdO/ePfz111/hmWeeCXMSg25JkiRJqkWaNGkSFltssdCmTZuw4447hs033zy88MILZYLy22+/PXTr1i0ss8wyYfvttw8nnnhieOSRR2Z4v/379w9bbLFFPmNORvrcc88NQ4cODQ0aNIgnzgNZ6oMPPji0bNkyNG3aNGy66abxegk/d+3aNSy44ILx8jXWWCO89957YeDAgeGAAw4IY8eOzd/nOeecE29Ddn3rrbeOxzEnMeiWJEmSpFrqk08+CW+88cZMp40T5C688MIzvM5rr70W1lxzzfzvu+++ezjhhBPCSiutFDPrnDgPTGkfNWpUzEoPGTIkrL766mGzzTYLo0ePjpf37NkzTn1/99134+WnnnpqmHvuucN6660XrrzyyhiIp/s88cQT84+59tprx+OYk7imW5IkSZJqkSeffDIssMAC4d9//w2TJk2K65+vvfbacq//9ddfh2uuuSZcdtllM7zfH374Ia7/Tuadd974OKwdJ7OenYb+zjvvxKCbrDu4b9Z+P/TQQ+HQQw8Nw4cPDyeddFJYYYUV4uXLLbdc/vbNmjWLGe7sfSY8/ogRI+L0+DllXbdBtyRJkiTVIkzbvuGGG8Lff/8d12sTFJe3Dvunn36K083JTB9yyCEzvN8JEybkp5bPCFPHx48fHxZZZJHpbs+acBx//PFx+vldd90Vp7/z+Msuu+xM73veeeeNATeDCfw8J5gzhhYkSZIkqY6Yf/75Q/v27cMqq6wS+vbtG95+++1w2223TXe9n3/+OQboTOm++eabZ3q/LVq0CH/++edMr0fAvfjii8eK5tnTsGHDYnYbrNOmiNs222wTq6h37NgxPProozO979GjR8fnN6cE3DDoliRJkqRaiinYVCVnuy0yzdkM9yabbBILmFFUrSJTtVdbbbXw2WeflTmPteKFe3azfputyMiwE/xnTwTuyfLLLx+3AHv++efDzjvvHI+jvPvM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XHPN8NRTT8U13EiB9q233hq6dOlSoftYcMEFw8orr1zmvPnnnz8sssgi050vSZIkSdIcE3RfdNFFoXv37uGzzz6Llcuvuuqq+PMbb7wRXn311eo/SkmSJEmS5pRCahtssEEspEbA3alTp/D888/H6eZvvvlmWGONNap8MBRmu/LKK6t8e0mSJEmS6nSme8qUKeGwww4LZ555ZrjllltKc1SSJEmSJM2Jme655547PPzww6U5GkmSJEmS5vTp5TvuuGPcNkySJEmSJFVzIbXlllsunHfeeWHw4MFxDTdVx7OOPfbYqtytJEmSJEn1SpWC7ttuuy00b948DBkyJJ6y2D7MoFuSJEmSpCoG3d99952vnSRJkiRJpVjTnZXL5eJJkiRJkiRVU9B95513xj2655133njq3LlzuOuuu6p6d5IkSZIk1TtVml7+v//9L+7TffTRR4f1118/nvf666+Hww8/PPz+++/huOOOq+7jlCRJkiRpzgi6r7nmmnDDDTeEfffdN3/e9ttvH1ZaaaVwzjnnGHRLkiRJklTV6eUjR44M66233nTncx6XSZIkSZKkKgbd7du3Dw888MB0599///1xD29JkiRJklTF6eXnnntu2H333cOgQYPya7oHDx4cXnrppaLBuCRJkiRJc6IqZbp79OgR3n777dCiRYswYMCAeOLnd955J+y0007Vf5SSJEmSJM0pmW6sscYa4e67767eo5EkSZIkaU4Pup9++unQsGHDsOWWW5Y5/7nnngvTpk0L3bt3r67j02ww/LxO9eJ1bnvWxzV9CJIkSZI069PLTz311DB16tTpzs/lcvEySZIkSZJUxaD7q6++Ch07dpzu/BVWWCF8/fXXvq6SJEmSJFU16G7WrFn49ttvpzufgHv++ef3hZUkSZIkqapB9w477BB69eoVvvnmmzIB9wknnBC23357X1hJkiRJkqoadF9yySUxo8108qWXXjqe+HmRRRYJl112mS+sJEmSJElVrV7O9PI33ngjvPDCC2Ho0KFh3nnnDausskrYcMMNfVElSZIkSapKpvvNN98MTz75ZPy5QYMGoVu3bqFVq1Yxu92jR49w6KGHhkmTJlXmLiVJkiRJqrcqFXSfd9554dNPP83//vHHH4dDDjkkbLHFFnGrsCeeeCL06dOnFMcpSZIkSVL9Dro//PDDsNlmm+V/79+/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58Ybb4yDhQw4klUmc836a2b9MKU8Bc9ZZKXPOeec+H+7du1iW0d7+J///CeccsopsSLvzTffHKc/cr/PP/98rGBOdpvZQbRzdCD32GOPmR67baKkUiLgpR2rCPqALJ+hz0ggnFx22WXh5JNPjv1KkiwE00wJ53ozattoDxmkpD2ljcy67bbbYptKIM/gZ7oN7SqPwyBoseNjoJJ14DLolqrVjDplTL+h80in79hjj43ZGho3gmqKTVAYjew053GiwWTaIyOIZGFouMjQUDGS/1lvSANJJ5Wplow2EpST5WFaOZjWc8MNN4QXXnghrrOhgjmNb+Ex2pmUVCpkoVPmpbBzyZRtsiUMHh5zzDHho48+ilsXUsyM6uIUfyR7femll8bp46y/pkPKdHLa0/XXXz+2j9l2loD+6quvDvfcc0/8nWnoTDNn1k9aOsN2Nwx6sj0YndHC40sDpsUGJSWpFI488sgY1DK4SAKlGPqM9B//97//xT4i7SCFzSgISR8SFDNjEJOp3tm2jQCd6eDcP/3MK664Yrp+IDN6mFG5++67xxmVm2yySQyy6VvyuCeccEKscVGIwVTuo9iAqv4fMt2SqmbatGm5f//9N/5faNKkSblPPvkk9/zzz+c22mij3OKLL5779NNPc3fddVdu5ZVXzn322Wf565500knxvAkTJuSefPLJ3BJLLBFPW2+9da5Dhw65Tp065b788suix7D00kvnzj///Pjz9ddfn2vVqlVu6NCh+cunTp3q2ytptqFN5FTMqFGjckceeWTu3nvvze2777655ZZbLjdkyJDcE088kVtnnXVy33//ff661113XWzPbrnlltiOXXLJJbkePXrkDjvssNzGG2+ca9GiRe7ggw+O1508eXJu/Pjx8eeJEyfmdthhh9yBBx4Yf+ZYaENfeOGFco/ZdlJSTUntzxVXXJFbb731cu+++27+Mvp+v//+e/73b7/9NterV6/YPo4ePTo3YsSI3AknnJBr27ZtvDzbH/3ll19yt956a2677baLbenCCy+c22STTWKfcdiwYWWOgbaXdrl169a5Bg0axNMqq6ySGzx48Gx4BeYM0w89S6ryumzWEZIZoWo4GWhGEcnKME2S7A3Tb+688844+kjGhqniVA8n48JUR7LXFOxhuxrWcTNFvGnTprEyL9PN2UuWrDVZbyr3PvbYYzFT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"
},
"metadata": {},
"output_type": "display_data",
"jetTransient": {
"display_id": null
}
},
{
"data": {
"text/plain": [
" Model MAE (test) MSE (test) RMSE (test) \\\n",
"0 Linear Regression 1.458116e+07 3.634642e+14 1.906474e+07 \n",
"1 Ridge Regression (alpha=1.0) 1.629031e+07 4.677350e+14 2.162718e+07 \n",
"2 Polynomial Regression 1.708302e+07 7.093839e+14 2.663426e+07 \n",
"\n",
" R2 (test) CV R2 (mean) CV R2 (std) \n",
"0 0.292880 0.245829 0.067041 \n",
"1 0.090021 0.090846 0.056075 \n",
"2 -0.380108 -0.452607 0.900419 "
],
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Model</th>\n",
" <th>MAE (test)</th>\n",
" <th>MSE (test)</th>\n",
" <th>RMSE (test)</th>\n",
" <th>R2 (test)</th>\n",
" <th>CV R2 (mean)</th>\n",
" <th>CV R2 (std)</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>Linear Regression</td>\n",
" <td>1.458116e+07</td>\n",
" <td>3.634642e+14</td>\n",
" <td>1.906474e+07</td>\n",
" <td>0.292880</td>\n",
" <td>0.245829</td>\n",
" <td>0.067041</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>Ridge Regression (alpha=1.0)</td>\n",
" <td>1.629031e+07</td>\n",
" <td>4.677350e+14</td>\n",
" <td>2.162718e+07</td>\n",
" <td>0.090021</td>\n",
" <td>0.090846</td>\n",
" <td>0.056075</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>Polynomial Regression</td>\n",
" <td>1.708302e+07</td>\n",
" <td>7.093839e+14</td>\n",
" <td>2.663426e+07</td>\n",
" <td>-0.380108</td>\n",
" <td>-0.452607</td>\n",
" <td>0.900419</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
]
},
"metadata": {},
"output_type": "display_data",
"jetTransient": {
"display_id": null
}
}
],
"execution_count": 136
},
{
"cell_type": "code",
"id": "28a5dae231975e76",
"metadata": {
"ExecuteTime": {
"end_time": "2026-04-26T14:56:46.614873800Z",
"start_time": "2026-04-26T14:56:46.586136200Z"
}
},
"source": [
"display(pd.DataFrame([{'Part G Best Model': best_model_g}]))\n",
"\n",
"pred_sheet_part_g_linear = regression_prediction_sheet(y_test_g, y_pred_lin_g, 'Linear Regression')\n",
"pred_sheet_part_g_poly = regression_prediction_sheet(y_test_g, y_pred_poly_g, 'Polynomial Regression')\n",
"pred_sheet_part_g_ridge = regression_prediction_sheet(y_test_g, y_pred_ridge_g, f'Ridge Regression (alpha={best_ridge_alpha_g})')\n",
"\n",
"part_g_pred_sheet = {\n",
" 'Linear Regression': pred_sheet_part_g_linear,\n",
" 'Polynomial Regression': pred_sheet_part_g_poly,\n",
"}.get(best_model_g, pred_sheet_part_g_linear)\n",
"\n",
"if 'Ridge Regression' in best_model_g:\n",
" part_g_pred_sheet = pred_sheet_part_g_ridge\n",
"\n",
"part_g_pred_sheet"
],
"outputs": [
{
"data": {
"text/plain": [
" Part G Best Model\n",
"0 Linear Regression"
],
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Part G Best Model</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>Linear Regression</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
]
},
"metadata": {},
"output_type": "display_data",
"jetTransient": {
"display_id": null
}
},
{
"data": {
"text/plain": [
" True Predicted Residual Abs_Error Model\n",
"0 52428800.0 3.171894e+07 2.070986e+07 2.070986e+07 Linear Regression\n",
"1 26214400.0 1.364562e+07 1.256878e+07 1.256878e+07 Linear Regression\n",
"2 15728640.0 2.325830e+07 -7.529660e+06 7.529660e+06 Linear Regression\n",
"3 10171187.2 2.181280e+07 -1.164161e+07 1.164161e+07 Linear Regression\n",
"4 18874368.0 2.145150e+07 -2.577137e+06 2.577137e+06 Linear Regression\n",
"5 2831155.2 1.371277e+07 -1.088162e+07 1.088162e+07 Linear Regression\n",
"6 3250585.6 1.375252e+07 -1.050193e+07 1.050193e+07 Linear Regression\n",
"7 27262976.0 1.933636e+07 7.926614e+06 7.926614e+06 Linear Regression\n",
"8 15728640.0 1.726232e+07 -1.533682e+06 1.533682e+06 Linear Regression\n",
"9 71303168.0 3.203716e+07 3.926601e+07 3.926601e+07 Linear Regression\n",
"10 97517568.0 2.900348e+07 6.851409e+07 6.851409e+07 Linear Regression\n",
"11 2621440.0 2.145499e+07 -1.883355e+07 1.883355e+07 Linear Regression\n",
"12 40894464.0 2.853311e+07 1.236136e+07 1.236136e+07 Linear Regression\n",
"13 11534336.0 3.188308e+07 -2.034874e+07 2.034874e+07 Linear Regression\n",
"14 44040192.0 3.146167e+07 1.257852e+07 1.257852e+07 Linear Regression\n",
"15 22020096.0 2.135446e+07 6.656323e+05 6.656323e+05 Linear Regression\n",
"16 31457280.0 2.574583e+07 5.711451e+06 5.711451e+06 Linear Regression\n",
"17 8808038.4 2.481990e+07 -1.601186e+07 1.601186e+07 Linear Regression\n",
"18 7864320.0 1.801774e+07 -1.015342e+07 1.015342e+07 Linear Regression\n",
"19 2936012.8 1.400022e+07 -1.106421e+07 1.106421e+07 Linear Regression"
],
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>True</th>\n",
" <th>Predicted</th>\n",
" <th>Residual</th>\n",
" <th>Abs_Error</th>\n",
" <th>Model</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>52428800.0</td>\n",
" <td>3.171894e+07</td>\n",
" <td>2.070986e+07</td>\n",
" <td>2.070986e+07</td>\n",
" <td>Linear Regression</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>26214400.0</td>\n",
" <td>1.364562e+07</td>\n",
" <td>1.256878e+07</td>\n",
" <td>1.256878e+07</td>\n",
" <td>Linear Regression</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>15728640.0</td>\n",
" <td>2.325830e+07</td>\n",
" <td>-7.529660e+06</td>\n",
" <td>7.529660e+06</td>\n",
" <td>Linear Regression</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>10171187.2</td>\n",
" <td>2.181280e+07</td>\n",
" <td>-1.164161e+07</td>\n",
" <td>1.164161e+07</td>\n",
" <td>Linear Regression</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>18874368.0</td>\n",
" <td>2.145150e+07</td>\n",
" <td>-2.577137e+06</td>\n",
" <td>2.577137e+06</td>\n",
" <td>Linear Regression</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>2831155.2</td>\n",
" <td>1.371277e+07</td>\n",
" <td>-1.088162e+07</td>\n",
" <td>1.088162e+07</td>\n",
" <td>Linear Regression</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>3250585.6</td>\n",
" <td>1.375252e+07</td>\n",
" <td>-1.050193e+07</td>\n",
" <td>1.050193e+07</td>\n",
" <td>Linear Regression</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>27262976.0</td>\n",
" <td>1.933636e+07</td>\n",
" <td>7.926614e+06</td>\n",
" <td>7.926614e+06</td>\n",
" <td>Linear Regression</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>15728640.0</td>\n",
" <td>1.726232e+07</td>\n",
" <td>-1.533682e+06</td>\n",
" <td>1.533682e+06</td>\n",
" <td>Linear Regression</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>71303168.0</td>\n",
" <td>3.203716e+07</td>\n",
" <td>3.926601e+07</td>\n",
" <td>3.926601e+07</td>\n",
" <td>Linear Regression</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>97517568.0</td>\n",
" <td>2.900348e+07</td>\n",
" <td>6.851409e+07</td>\n",
" <td>6.851409e+07</td>\n",
" <td>Linear Regression</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>2621440.0</td>\n",
" <td>2.145499e+07</td>\n",
" <td>-1.883355e+07</td>\n",
" <td>1.883355e+07</td>\n",
" <td>Linear Regression</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>40894464.0</td>\n",
" <td>2.853311e+07</td>\n",
" <td>1.236136e+07</td>\n",
" <td>1.236136e+07</td>\n",
" <td>Linear Regression</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>11534336.0</td>\n",
" <td>3.188308e+07</td>\n",
" <td>-2.034874e+07</td>\n",
" <td>2.034874e+07</td>\n",
" <td>Linear Regression</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>44040192.0</td>\n",
" <td>3.146167e+07</td>\n",
" <td>1.257852e+07</td>\n",
" <td>1.257852e+07</td>\n",
" <td>Linear Regression</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>22020096.0</td>\n",
" <td>2.135446e+07</td>\n",
" <td>6.656323e+05</td>\n",
" <td>6.656323e+05</td>\n",
" <td>Linear Regression</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>31457280.0</td>\n",
" <td>2.574583e+07</td>\n",
" <td>5.711451e+06</td>\n",
" <td>5.711451e+06</td>\n",
" <td>Linear Regression</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>8808038.4</td>\n",
" <td>2.481990e+07</td>\n",
" <td>-1.601186e+07</td>\n",
" <td>1.601186e+07</td>\n",
" <td>Linear Regression</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>7864320.0</td>\n",
" <td>1.801774e+07</td>\n",
" <td>-1.015342e+07</td>\n",
" <td>1.015342e+07</td>\n",
" <td>Linear Regression</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>2936012.8</td>\n",
" <td>1.400022e+07</td>\n",
" <td>-1.106421e+07</td>\n",
" <td>1.106421e+07</td>\n",
" <td>Linear Regression</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
]
},
"execution_count": 137,
"metadata": {},
"output_type": "execute_result"
}
],
"execution_count": 137
},
{
"cell_type": "code",
"id": "fdf6287a5686175e",
"metadata": {
"ExecuteTime": {
"end_time": "2026-04-26T14:56:46.658180900Z",
"start_time": "2026-04-26T14:56:46.615876800Z"
}
},
"source": [
"part_g_prediction_compare = pd.concat([\n",
" pred_sheet_part_g_linear.head(8),\n",
" pred_sheet_part_g_poly.head(8),\n",
" pred_sheet_part_g_ridge.head(8),\n",
"], ignore_index=True)\n",
"\n",
"part_g_prediction_compare"
],
"outputs": [
{
"data": {
"text/plain": [
" True Predicted Residual Abs_Error \\\n",
"0 52428800.0 3.171894e+07 2.070986e+07 2.070986e+07 \n",
"1 26214400.0 1.364562e+07 1.256878e+07 1.256878e+07 \n",
"2 15728640.0 2.325830e+07 -7.529660e+06 7.529660e+06 \n",
"3 10171187.2 2.181280e+07 -1.164161e+07 1.164161e+07 \n",
"4 18874368.0 2.145150e+07 -2.577137e+06 2.577137e+06 \n",
"5 2831155.2 1.371277e+07 -1.088162e+07 1.088162e+07 \n",
"6 3250585.6 1.375252e+07 -1.050193e+07 1.050193e+07 \n",
"7 27262976.0 1.933636e+07 7.926614e+06 7.926614e+06 \n",
"8 52428800.0 2.267715e+07 2.975165e+07 2.975165e+07 \n",
"9 26214400.0 1.925624e+07 6.958158e+06 6.958158e+06 \n",
"10 15728640.0 2.101692e+07 -5.288280e+06 5.288280e+06 \n",
"11 10171187.2 2.107864e+07 -1.090745e+07 1.090745e+07 \n",
"12 18874368.0 2.302922e+07 -4.154853e+06 4.154853e+06 \n",
"13 2831155.2 2.101016e+07 -1.817901e+07 1.817901e+07 \n",
"14 3250585.6 2.098037e+07 -1.772979e+07 1.772979e+07 \n",
"15 27262976.0 2.102464e+07 6.238332e+06 6.238332e+06 \n",
"16 52428800.0 2.375635e+07 2.867245e+07 2.867245e+07 \n",
"17 26214400.0 2.357213e+07 2.642274e+06 2.642274e+06 \n",
"18 15728640.0 2.349521e+07 -7.766567e+06 7.766567e+06 \n",
"19 10171187.2 2.349771e+07 -1.332652e+07 1.332652e+07 \n",
"20 18874368.0 2.349279e+07 -4.618422e+06 4.618422e+06 \n",
"21 2831155.2 2.349545e+07 -2.066429e+07 2.066429e+07 \n",
"22 3250585.6 2.349522e+07 -2.024464e+07 2.024464e+07 \n",
"23 27262976.0 2.349620e+07 3.766777e+06 3.766777e+06 \n",
"\n",
" Model \n",
"0 Linear Regression \n",
"1 Linear Regression \n",
"2 Linear Regression \n",
"3 Linear Regression \n",
"4 Linear Regression \n",
"5 Linear Regression \n",
"6 Linear Regression \n",
"7 Linear Regression \n",
"8 Polynomial Regression \n",
"9 Polynomial Regression \n",
"10 Polynomial Regression \n",
"11 Polynomial Regression \n",
"12 Polynomial Regression \n",
"13 Polynomial Regression \n",
"14 Polynomial Regression \n",
"15 Polynomial Regression \n",
"16 Ridge Regression (alpha=1.0) \n",
"17 Ridge Regression (alpha=1.0) \n",
"18 Ridge Regression (alpha=1.0) \n",
"19 Ridge Regression (alpha=1.0) \n",
"20 Ridge Regression (alpha=1.0) \n",
"21 Ridge Regression (alpha=1.0) \n",
"22 Ridge Regression (alpha=1.0) \n",
"23 Ridge Regression (alpha=1.0) "
],
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>True</th>\n",
" <th>Predicted</th>\n",
" <th>Residual</th>\n",
" <th>Abs_Error</th>\n",
" <th>Model</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>52428800.0</td>\n",
" <td>3.171894e+07</td>\n",
" <td>2.070986e+07</td>\n",
" <td>2.070986e+07</td>\n",
" <td>Linear Regression</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>26214400.0</td>\n",
" <td>1.364562e+07</td>\n",
" <td>1.256878e+07</td>\n",
" <td>1.256878e+07</td>\n",
" <td>Linear Regression</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>15728640.0</td>\n",
" <td>2.325830e+07</td>\n",
" <td>-7.529660e+06</td>\n",
" <td>7.529660e+06</td>\n",
" <td>Linear Regression</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>10171187.2</td>\n",
" <td>2.181280e+07</td>\n",
" <td>-1.164161e+07</td>\n",
" <td>1.164161e+07</td>\n",
" <td>Linear Regression</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>18874368.0</td>\n",
" <td>2.145150e+07</td>\n",
" <td>-2.577137e+06</td>\n",
" <td>2.577137e+06</td>\n",
" <td>Linear Regression</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>2831155.2</td>\n",
" <td>1.371277e+07</td>\n",
" <td>-1.088162e+07</td>\n",
" <td>1.088162e+07</td>\n",
" <td>Linear Regression</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>3250585.6</td>\n",
" <td>1.375252e+07</td>\n",
" <td>-1.050193e+07</td>\n",
" <td>1.050193e+07</td>\n",
" <td>Linear Regression</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>27262976.0</td>\n",
" <td>1.933636e+07</td>\n",
" <td>7.926614e+06</td>\n",
" <td>7.926614e+06</td>\n",
" <td>Linear Regression</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>52428800.0</td>\n",
" <td>2.267715e+07</td>\n",
" <td>2.975165e+07</td>\n",
" <td>2.975165e+07</td>\n",
" <td>Polynomial Regression</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>26214400.0</td>\n",
" <td>1.925624e+07</td>\n",
" <td>6.958158e+06</td>\n",
" <td>6.958158e+06</td>\n",
" <td>Polynomial Regression</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>15728640.0</td>\n",
" <td>2.101692e+07</td>\n",
" <td>-5.288280e+06</td>\n",
" <td>5.288280e+06</td>\n",
" <td>Polynomial Regression</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>10171187.2</td>\n",
" <td>2.107864e+07</td>\n",
" <td>-1.090745e+07</td>\n",
" <td>1.090745e+07</td>\n",
" <td>Polynomial Regression</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>18874368.0</td>\n",
" <td>2.302922e+07</td>\n",
" <td>-4.154853e+06</td>\n",
" <td>4.154853e+06</td>\n",
" <td>Polynomial Regression</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>2831155.2</td>\n",
" <td>2.101016e+07</td>\n",
" <td>-1.817901e+07</td>\n",
" <td>1.817901e+07</td>\n",
" <td>Polynomial Regression</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>3250585.6</td>\n",
" <td>2.098037e+07</td>\n",
" <td>-1.772979e+07</td>\n",
" <td>1.772979e+07</td>\n",
" <td>Polynomial Regression</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>27262976.0</td>\n",
" <td>2.102464e+07</td>\n",
" <td>6.238332e+06</td>\n",
" <td>6.238332e+06</td>\n",
" <td>Polynomial Regression</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>52428800.0</td>\n",
" <td>2.375635e+07</td>\n",
" <td>2.867245e+07</td>\n",
" <td>2.867245e+07</td>\n",
" <td>Ridge Regression (alpha=1.0)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>26214400.0</td>\n",
" <td>2.357213e+07</td>\n",
" <td>2.642274e+06</td>\n",
" <td>2.642274e+06</td>\n",
" <td>Ridge Regression (alpha=1.0)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>15728640.0</td>\n",
" <td>2.349521e+07</td>\n",
" <td>-7.766567e+06</td>\n",
" <td>7.766567e+06</td>\n",
" <td>Ridge Regression (alpha=1.0)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>10171187.2</td>\n",
" <td>2.349771e+07</td>\n",
" <td>-1.332652e+07</td>\n",
" <td>1.332652e+07</td>\n",
" <td>Ridge Regression (alpha=1.0)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td>18874368.0</td>\n",
" <td>2.349279e+07</td>\n",
" <td>-4.618422e+06</td>\n",
" <td>4.618422e+06</td>\n",
" <td>Ridge Regression (alpha=1.0)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>21</th>\n",
" <td>2831155.2</td>\n",
" <td>2.349545e+07</td>\n",
" <td>-2.066429e+07</td>\n",
" <td>2.066429e+07</td>\n",
" <td>Ridge Regression (alpha=1.0)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>22</th>\n",
" <td>3250585.6</td>\n",
" <td>2.349522e+07</td>\n",
" <td>-2.024464e+07</td>\n",
" <td>2.024464e+07</td>\n",
" <td>Ridge Regression (alpha=1.0)</td>\n",
" </tr>\n",
" <tr>\n",
" <th>23</th>\n",
" <td>27262976.0</td>\n",
" <td>2.349620e+07</td>\n",
" <td>3.766777e+06</td>\n",
" <td>3.766777e+06</td>\n",
" <td>Ridge Regression (alpha=1.0)</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
]
},
"execution_count": 138,
"metadata": {},
"output_type": "execute_result"
}
],
"execution_count": 138
},
{
"cell_type": "markdown",
"id": "e9eb7df6",
"metadata": {},
"source": [
"### Part G Answer (with Cross-Validation)\n",
"\n",
"For Part G, the goal was to predict **`Size in bytes`** using the other inputs:\n",
"- `Category` \n",
"- `Reviews` \n",
"- `Content Rating` \n",
"- `Rating` \n",
"- `Numeric Installs` \n",
"\n",
"I compared the regression models using a standard train/test split, but this time I also added 5-fold cross-validation on the training set.\n",
"\n",
"**How I decided which model is best:**\n",
"First, I looked for the model with the highest Cross-Validation mean R2 since that tells me how well the model generalizes across different splits of the data.\n",
"Then, I used the test RMSE as a secondary check (lower is better).\n",
"\n",
"**What the results show:**\n",
"- Linear Regression is the strongest overall here: it has the best mean CV R² and the best test R², along with a low test RMSE. It's also way more stable than the polynomial model.\n",
"- Polynomial Regression actually performs really poorly for this dataset (it got a negative test R² and a super unstable CV R²), meaning it's overcomplicating things and not generalizing well.\n",
"\n",
"So, based on the cross-validation and test metrics, **Linear Regression is the best model for predicting `Size in bytes`**.\n",
"\n",
"I also use the residual and actual-vs-predicted plots to visually confirm if the errors are randomly spread out (which is what we want) or if they show patterns (which means the model is missing something).\n"
]
},
{
"metadata": {},
"cell_type": "code",
"outputs": [],
"execution_count": null,
"source": "",
"id": "bb62142045c39ce8"
}
],
"metadata": {
"kernelspec": {
"display_name": ".venv",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "3.14.0"
}
},
"nbformat": 4,
"nbformat_minor": 5
}