1933 lines
290 KiB
Plaintext
1933 lines
290 KiB
Plaintext
{
|
||
"cells": [
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"id": "i6sPnhMH0raw"
|
||
},
|
||
"source": [
|
||
"# House Price Prediction\n",
|
||
"\n",
|
||
"Think of finding the perfect house as a complex journey involving negotiations, research, and decision-making. Now, imagine having a smart guide that helps you navigate through this maze by analyzing data and predicting outcomes. Linear regression is that guide. In this tutorial, we'll explore how linear regression helps us understand and predict relationships in data, just like finding the ideal house by matching features with price. Let's get started and discover how this powerful tool can simplify your data-driven decisions!"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"id": "huwdh4Es3EZ2"
|
||
},
|
||
"source": [
|
||
"## Setup\n",
|
||
"\n",
|
||
"The House Price Prediction Dataset contains 13 features\n",
|
||
"\n",
|
||
"| # | Column Name | Description |\n",
|
||
"|----|----------------|---------------------------------------------------------------------|\n",
|
||
"| 1 | Id | To count the records. |\n",
|
||
"| 2 | MSSubClass | Identifies the type of dwelling involved in the sale. |\n",
|
||
"| 3 | MSZoning | Identifies the general zoning classification of the sale. |\n",
|
||
"| 4 | LotArea | Lot size in square feet. |\n",
|
||
"| 5 | LotConfig | Configuration of the lot |\n",
|
||
"| 6 | BldgType | Type of dwelling |\n",
|
||
"| 7 | OverallCond | Rates the overall condition of the house |\n",
|
||
"| 8 | YearBuilt | Original construction year |\n",
|
||
"| 9 | YearRemodAdd | Remodel date (same as construction date if no remodeling or additions). |\n",
|
||
"| 10 | Exterior1st | Exterior covering on house |\n",
|
||
"| 11 | BsmtFinSF2 | Type 2 finished square feet. |\n",
|
||
"| 12 | TotalBsmtSF | Total square feet of basement area |\n",
|
||
"| 13 | SalePrice | To be predicted |\n",
|
||
"\n",
|
||
"\n",
|
||
"Run the cell below to download dataset"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 6,
|
||
"metadata": {
|
||
"colab": {
|
||
"base_uri": "https://localhost:8080/"
|
||
},
|
||
"id": "W5Y7ZPKz0nf8",
|
||
"outputId": "59427fb0-eca8-4437-848e-4fdbd8b9f022"
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"\n",
|
||
"\n",
|
||
"\u001b7\u001b[1A\u001b[1G\u001b[27G[Files: 0 Bytes: 0 [0 B/s] Re]\u001b8\u001b7\u001b[2A\u001b[1G\u001b[27G[https://docs.google.com/spread]\u001b8\u001b7\u001b[2A\u001b[1G0 files 100% [=============================>] 349 --.-KB/s\u001b8\u001b7\u001b[1A\u001b[1G\u001b[27G[Files: 0 Bytes: 349 [311 B/s]\u001b8\u001b7\u001b[2A\u001b[1G0 files 100% [=============================>] 349 --.-KB/s\u001b8\u001b7\u001b[2A\u001b[1G\u001b[27G[https://doc-08-30-sheets.googl]\u001b8\u001b7\u001b[2A\u001b[1GhouseDataset.csv 100% [=============================>] 42.28K --.-KB/s\u001b8\u001b7\u001b[1A\u001b[1G\u001b[27G[Files: 1 Bytes: 42.63K [20.06]\u001b8\u001b[m\u001b[m\u001b[m\u001b[m"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"!wget -O houseDataset.csv \"https://docs.google.com/spreadsheets/d/1caaR9pT24GNmq3rDQpMiIMJrmiTGarbs/export?format=csv&id=1caaR9pT24GNmq3rDQpMiIMJrmiTGarbs&gid=1150341366\""
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"id": "ecr_wCDI7tcT"
|
||
},
|
||
"source": [
|
||
"## EDA"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"id": "KLdgiCGJ9dN-"
|
||
},
|
||
"source": [
|
||
"### Create and Display DataFrame\n",
|
||
"\n",
|
||
"pd.read_csv: Reads the CSV file into a DataFrame.\n",
|
||
"\n",
|
||
"df.columns.tolist(): Retrieves the column names from the DataFrame.\n",
|
||
"\n",
|
||
"df.head(): Displays the first few rows of the DataFrame for a quick preview."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 7,
|
||
"metadata": {
|
||
"colab": {
|
||
"base_uri": "https://localhost:8080/"
|
||
},
|
||
"id": "NhdMHsM4831s",
|
||
"outputId": "474be38d-461a-43f5-cb58-7b04f6a8ea77"
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"DataFrame created successfully!\n",
|
||
"\n",
|
||
"Column Names:\n",
|
||
"['Id', 'MSSubClass', 'MSZoning', 'LotArea', 'LotConfig', 'BldgType', 'OverallCond', 'YearBuilt', 'YearRemodAdd', 'Exterior1st', 'BsmtFinSF2', 'TotalBsmtSF', 'SalePrice']\n",
|
||
"\n",
|
||
"Data:\n",
|
||
" Id MSSubClass MSZoning LotArea LotConfig BldgType OverallCond \\\n",
|
||
"0 0 60 RL 8450 Inside 1Fam 5 \n",
|
||
"1 1 20 RL 9600 FR2 1Fam 8 \n",
|
||
"2 2 60 RL 11250 Inside 1Fam 5 \n",
|
||
"3 3 70 RL 9550 Corner 1Fam 5 \n",
|
||
"4 4 60 RL 14260 FR2 1Fam 5 \n",
|
||
"\n",
|
||
" YearBuilt YearRemodAdd Exterior1st BsmtFinSF2 TotalBsmtSF SalePrice \n",
|
||
"0 2003 2003 VinylSd 0.0 856.0 208500.0 \n",
|
||
"1 1976 1976 MetalSd 0.0 1262.0 181500.0 \n",
|
||
"2 2001 2002 VinylSd 0.0 920.0 223500.0 \n",
|
||
"3 1915 1970 Wd Sdng 0.0 756.0 140000.0 \n",
|
||
"4 2000 2000 VinylSd 0.0 1145.0 250000.0 \n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"import pandas as pd\n",
|
||
"\n",
|
||
"def create_and_display_dataframe(file_path):\n",
|
||
" df = pd.read_csv(file_path)\n",
|
||
"\n",
|
||
" print(\"DataFrame created successfully!\")\n",
|
||
" print(\"\\nColumn Names:\")\n",
|
||
" print(df.columns.tolist())\n",
|
||
"\n",
|
||
" print(\"\\nData:\")\n",
|
||
" print(df.head())\n",
|
||
"\n",
|
||
"file_path = 'houseDataset.csv'\n",
|
||
"create_and_display_dataframe(file_path)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"id": "hSf2soXG-ceA"
|
||
},
|
||
"source": [
|
||
"### Correlation Matrix\n",
|
||
"\n",
|
||
"The correlation coefficient between two variables\n",
|
||
"X and\n",
|
||
"Y can be calculated using the formula:\n",
|
||
"\n",
|
||
"\n",
|
||
"\n",
|
||
"Here’s how you can calculate the correlation matrix **manually** using the pandas DataFrame:"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 5,
|
||
"metadata": {
|
||
"colab": {
|
||
"base_uri": "https://localhost:8080/"
|
||
},
|
||
"id": "HCg9xSy_9VUB",
|
||
"outputId": "fc88ebd1-54c0-4f38-f29a-a32d53a9e83f"
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Correlation Matrix:\n",
|
||
"Id: {'Id': np.float64(0.9996574169236039), 'MSSubClass': np.float64(0.008927562480306352), 'LotArea': np.float64(-0.0407321028950552), 'OverallCond': np.float64(-0.002838510751975099), 'YearBuilt': np.float64(-0.01657533184893819), 'YearRemodAdd': np.float64(-0.05042031403232767), 'BsmtFinSF2': np.float64(0.018245950570756973), 'TotalBsmtSF': np.float64(-0.024917399703561802), 'SalePrice': np.float64(-0.010956479916617771)}\n",
|
||
"MSSubClass: {'Id': np.float64(0.008927562480306352), 'MSSubClass': np.float64(0.9996574169236039), 'LotArea': np.float64(-0.20166093967197754), 'OverallCond': np.float64(-0.06560255579623428), 'YearBuilt': np.float64(0.03439695580602711), 'YearRemodAdd': np.float64(0.04330007459603745), 'BsmtFinSF2': np.float64(-0.07250762840452592), 'TotalBsmtSF': np.float64(-0.21989847983040878), 'SalePrice': np.float64(-0.08379642185504654)}\n",
|
||
"LotArea: {'Id': np.float64(-0.0407321028950552), 'MSSubClass': np.float64(-0.20166093967197754), 'LotArea': np.float64(0.999657416923604), 'OverallCond': np.float64(-0.03560499881535773), 'YearBuilt': np.float64(0.0241195581530019), 'YearRemodAdd': np.float64(0.021604859270227504), 'BsmtFinSF2': np.float64(0.08404013983833278), 'TotalBsmtSF': np.float64(0.2540817476113896), 'SalePrice': np.float64(0.333674130842095)}\n",
|
||
"OverallCond: {'Id': np.float64(-0.002838510751975099), 'MSSubClass': np.float64(-0.06560255579623428), 'LotArea': np.float64(-0.03560499881535773), 'OverallCond': np.float64(0.999657416923604), 'YearBuilt': np.float64(-0.36835045461557436), 'YearRemodAdd': np.float64(0.04763768915013037), 'BsmtFinSF2': np.float64(0.04148225197214482), 'TotalBsmtSF': np.float64(-0.17392254934878815), 'SalePrice': np.float64(-0.07777940410944484)}\n",
|
||
"YearBuilt: {'Id': np.float64(-0.01657533184893819), 'MSSubClass': np.float64(0.03439695580602711), 'LotArea': np.float64(0.0241195581530019), 'OverallCond': np.float64(-0.36835045461557436), 'YearBuilt': np.float64(0.9996574169236039), 'YearRemodAdd': np.float64(0.6120248285532728), 'BsmtFinSF2': np.float64(-0.02758664362635253), 'TotalBsmtSF': np.float64(0.4083956282217249), 'SalePrice': np.float64(0.5210118777503243)}\n",
|
||
"YearRemodAdd: {'Id': np.float64(-0.05042031403232767), 'MSSubClass': np.float64(0.04330007459603745), 'LotArea': np.float64(0.021604859270227504), 'OverallCond': np.float64(0.04763768915013037), 'YearBuilt': np.float64(0.6120248285532728), 'YearRemodAdd': np.float64(0.9996574169236041), 'BsmtFinSF2': np.float64(-0.062113952131322744), 'TotalBsmtSF': np.float64(0.2979181175899782), 'SalePrice': np.float64(0.5007161212690244)}\n",
|
||
"BsmtFinSF2: {'Id': np.float64(0.018245950570756973), 'MSSubClass': np.float64(-0.07250762840452592), 'LotArea': np.float64(0.08404013983833278), 'OverallCond': np.float64(0.04148225197214482), 'YearBuilt': np.float64(-0.02758664362635253), 'YearRemodAdd': np.float64(-0.062113952131322744), 'BsmtFinSF2': np.float64(0.9996572995202193), 'TotalBsmtSF': np.float64(0.08937931109175348), 'SalePrice': np.float64(-0.010840379745732428)}\n",
|
||
"TotalBsmtSF: {'Id': np.float64(-0.024917399703561802), 'MSSubClass': np.float64(-0.21989847983040878), 'LotArea': np.float64(0.2540817476113896), 'OverallCond': np.float64(-0.17392254934878815), 'YearBuilt': np.float64(0.4083956282217249), 'YearRemodAdd': np.float64(0.2979181175899782), 'BsmtFinSF2': np.float64(0.08937931109175348), 'TotalBsmtSF': np.float64(0.9996572995202194), 'SalePrice': np.float64(0.6102932777069716)}\n",
|
||
"SalePrice: {'Id': np.float64(-0.010956479916617771), 'MSSubClass': np.float64(-0.08379642185504654), 'LotArea': np.float64(0.333674130842095), 'OverallCond': np.float64(-0.07777940410944484), 'YearBuilt': np.float64(0.5210118777503243), 'YearRemodAdd': np.float64(0.5007161212690244), 'BsmtFinSF2': np.float64(-0.010840379745732428), 'TotalBsmtSF': np.float64(0.6102932777069716), 'SalePrice': np.float64(0.9993150684931505)}\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"class DataFrame:\n",
|
||
" def __init__(self, file_path):\n",
|
||
" self.df = pd.read_csv(file_path)\n",
|
||
"\n",
|
||
" def calculate_correlation_matrix(self):\n",
|
||
" # Get numerical columns\n",
|
||
" numerical_columns = self.df.select_dtypes(include=['float64', 'int64']).columns\n",
|
||
" num_cols = len(numerical_columns)\n",
|
||
"\n",
|
||
" # Create an empty correlation matrix\n",
|
||
" corr_matrix = {col: {col2: 0 for col2 in numerical_columns} for col in numerical_columns}\n",
|
||
"\n",
|
||
" for i in range(num_cols):\n",
|
||
" for j in range(i, num_cols):\n",
|
||
" col1 = numerical_columns[i]\n",
|
||
" col2 = numerical_columns[j]\n",
|
||
"\n",
|
||
" # Calculate mean\n",
|
||
" mean1 = self.df[col1].mean()\n",
|
||
" mean2 = self.df[col2].mean()\n",
|
||
"\n",
|
||
" # Calculate covariance\n",
|
||
" covariance = ((self.df[col1] - mean1) * (self.df[col2] - mean2)).mean()\n",
|
||
"\n",
|
||
" # Calculate standard deviations\n",
|
||
" std_dev1 = self.df[col1].std()\n",
|
||
" std_dev2 = self.df[col2].std()\n",
|
||
"\n",
|
||
" # Calculate correlation\n",
|
||
" correlation = covariance / (std_dev1 * std_dev2)\n",
|
||
"\n",
|
||
" # Store in matrix\n",
|
||
" corr_matrix[col1][col2] = correlation\n",
|
||
" corr_matrix[col2][col1] = correlation # Symmetric matrix\n",
|
||
"\n",
|
||
" return corr_matrix\n",
|
||
"\n",
|
||
" def display_correlation_matrix(self):\n",
|
||
" corr_matrix = self.calculate_correlation_matrix()\n",
|
||
" print(\"Correlation Matrix:\")\n",
|
||
" for col1, row in corr_matrix.items():\n",
|
||
" print(f\"{col1}: {row}\")\n",
|
||
"\n",
|
||
"file_path = 'dataset.csv'\n",
|
||
"df = DataFrame(file_path)\n",
|
||
"df.display_correlation_matrix()\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"id": "5J-Lcp5S_0O1"
|
||
},
|
||
"source": [
|
||
"Using pandas, you can easily compute the correlation matrix with just a single method call. The output is cleaner, easier to interpret, and consistent with standard practices, making it a more efficient choice for handling real-world data tasks"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"metadata": {
|
||
"colab": {
|
||
"base_uri": "https://localhost:8080/",
|
||
"height": 788
|
||
},
|
||
"id": "ZkzU19EO_vLw",
|
||
"outputId": "1eb228eb-4d7e-4fd1-e519-fca38e6caf44"
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"image/png": "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R48exb1794Swrl27QiaT4fjx4wAANzc31KxZEytWrAAApKenw9zcHCNGjMD48eMLLf8cYSMiIiIiIpWXnJyMuLg4hS05OblA9n3lyhU0btxYIaxZs2a4cuUKACAlJQX//vuvQhyxWIzGjRsLcQpLiULdO6mco+oOxZ0FleMcdLS4s6BykqFR3FlQOeqilOLOgspJl6sVdxZUThp/VnMoJU8o7iyonBQRr7HZicAJX1nZ21oWdxZyVZx/S974oxumTp2qEObt7Y0pU6Z89b4jIiJQrlw5hbBy5cohLi4O7969g1Qqxfv375XGCQoK+urj54W/LEREREREpPK8vLzg6empECaRSIopN0WHHTYiIiIiIsoXkbqo2I4tkUgKrYNmbGyMyMhIhbDIyEjo6OigVKlSUFNTg5qamtI4xsbGhZKnj/gMGxERERERfdfc3d1x+vRphbCTJ0/C3d0dAFCyZElUr15dIU56ejpOnz4txCksHGEjIiIiIqJ8EZcovhG2zxEfH4+QkBDh85MnT+Dv7w8DAwNYWFjAy8sLL168wJYtWwAAgwcPxooVKzBu3Dj88ssvOHPmDP766y8cPZq51oGnpyf69OmDGjVqoFatWliyZAkSEhLg4eFRqGVhh42IiIiIiP5Tbt68iQYNGgifPz771qdPH/j6+uLVq1d4/vy58L21tTWOHj2K3377DUuXLkX58uWxfv16NGvWTIjTpUsXvHnzBpMnT0ZERARcXV1x/PjxHAuRFDS+h+07w1Uic+IqkTlxlcicuEpkTlwlMieuEpkTV4nMiatE5sRVIhWp8iqRx3Wciu3YzeMCi+3YxYm/LERERERElC8idS6BUdRY40RERERERCqKI2xERERERJQv38qiI/8lHGEjIiIiIiJSUeywERERERERqShOiSQiIiIionwRqXNKZFHjCBsREREREZGK4ggbERERERHlCxcdKXocYSMiIiIiIlJRHGEjIiIiIqJ84TNsRY8jbERERERERCqKHTYiIiIiIiIVxSmRRERERESUL1x0pOhxhI2IiIiIiEhFcYSNiIiIiIjyRaTGEbaixhE2IiIiIiIiFcUOGxERERERkYrilEgiIiIiIsoXMadEFjmOsBEREREREakojrAREREREVG+iMQcYStqHGEjIiIiIiJSURxh+4bVr18frq6uWLJkSXFnhYiIiIi+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ERLi4+FUsTK8p81WuDsZ8eol4rKc3z/Wa4C4uFjs2Or74UXRtvCeNgd6+t9GRzUvHTt1QlJSEpYvW4b4+HhUrFgR06ZPV6iPV69eITYuTvhcr149xMXGYuu2bZDGxMDG1hbTpk9XmA42cNAgiMRizJwxA6mpqahevTqGDhtWpGX7Uh06ds6ok+VLkBAfD+eKlTBt2qxs58grhXPkp3r1ERsXi21btwhtbtq0mUKdhISE4OHDjBUBB/Trq3C8DZu2oFw548Iv2Fdop6TdTJ42J89280O9BoiNk2Hn1k1Z2s1cod2UKKGOO/7/4sjBvUhKegejMmXhXvcndO7Ws8jL97nq//QjYmNjsWXbduH/e+a0qcL/95s3byDO8j7Gis5OGD92DDZv3QbfzVtgamYK74l/wMrKEgAQFR2Nqx9msQwdMVLhWPNmz4JLlcpFVLKv06FjFyQlJWFFlrYzNcf19RXiYjOvJz/Wq4/YOBm2b938oS5tMXXaLKEuQ7O0nYH9+igcb/2mrSrfdng9KXii73ikq7iI5HK5vLgzQUXnqHreC5V8j5yDjhZ3FlROMjSKOwsqR12U+0tWv1fpct5Fzi6N90FzKCVPKO4sqJwUEa+x2YnAP0ezsre1LO4s5OpmPfdPRyokNc5f+XSk/yD+shARERERUb6IVOSRnO8Ja5yIiIiIiEhFscNGRERERESkojglkoiIiIiI8iXromlUNDjCRkREREREpKI4wkZERERERPnyPb/AurhwhI2IiIiIiEhFscNGRERERESkojglkoiIiIiI8oWLjhQ9jrARERERERGpKI6wERERERFRvojEHO8paqxxIiIiIiIiFcURNiIiIiIiyhc+w1b0OMJGRERERESkothhIyIiIiIiUlGcEklERERERPkiVuOUyKLGETYiIiIiIiIVxRE2IiIiIiLKFy46UvQ4wkZERERERKSi2GEjIiIiIiJSUZwSSURERERE+SISc7ynqLHGiYiIiIiIVBRH2IiIiIiIKF+46EjR4wgbERERERGRiuIIGxERERER5QtH2IoeR9iIiIiIiIhUFDtsREREREREKopTIomIiIiIKF84JbLoscP2nXEOOlrcWVA5DxxbFncWVI62/+3izoLKMZLEFncWVE5puay4s6ByNCAv7iyonFiRQXFnQeVEJuoVdxZUTtlSvMYS5YYdNiIi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ftuO3ZGclIS1Wc6TidMXKJwnka9eKlxj6/7UCHFZzhMrGzv8MW2BcJ6UKFECf0yZh22+azFnmheS3r2DsakZhntOQLWa7jnyQPS1RPKvXf+evilPQkOKOwsq54Hjt3MHtaho+6vuNMviYiT5Nl6yXJRKy2XFnQWVIwJ/UrOLFX17L+UubJHv9Io7CyqnbCleY7OqbPd5q5sXpddevT8dqZCUnb2l2I5dnFRuhI2IiIiIiFQUl/UvcqxxIiIiIiIiFcURNiIiIiIiypdv5f2N/yUcYSMiIiIiIlJR7LARERERERGpKE6JJCIiIiKifBFx0ZEixxonIiIiIiJSURxhIyIiIiKifBGJuehIUeMIGxERERERkYriCBsREREREeUPn2ErcqxxIiIiIiIiFcUOGxERERERkYrilEgiIiIiIsoXLjpS9DjCRkREREREpKI4wkZERERERPkiEnG8p6ixxomIiIiIiFQUO2xEREREREQqilMiiYiIiIgof7joSJHjCBsREREREZGK4ggbERERERHli0jM8Z6ixhonIiIiIiJSURxhIyIiIiKifOGLs4seR9iIiIiIiIhUFDtsREREREREKopTIomIiIiIKH9EHO8paqxxIiIiIiIiFcURNiIiIiIiyhcuOlL0OMJGRERERESkojjC9p1JhkZxZ0HlaPvfLu4sqJx416rFnQWVYxx0qrizoHLkvOeXQzp45zk7o7RXxZ0FlWMTd7m4s6B6ZOnFnQPVYtepuHNAKoQdNiIiIiIiyh8xb9YVNdY4ERERERGRiuIIGxERERER5YtIxKnfRY0jbERERERERCqKI2xERERERJQ/fIatyLHGiYiIiIiIVBQ7bERERERERCqKUyKJiIiIiChfRGIuOlLUOMJGRERERESkojjCRkRERERE+SPieE9RY40TERERERGpKHbYiIiIiIiIVBSnRBIRERERUf5w0ZEixxE2IiIiIiL6T1q5ciWsrKygoaEBNzc3XL9+Pde4vr6+EIlECpuGhoZCHLlcjsmTJ8PExASlSpVC48aNERwcXKhlYIeNiIiIiIjyRSQSF9v2uf788094enrC29sbt27dgouLC5o1a4bXr1/nmkZHRwevXr0StmfPnil8P2/ePCxbtgxr1qzBtWvXoKWlhWbNmiEpKemz85df7LAREREREdF/zqJFizBgwAB4eHjA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Y5T8Rt451qxWZUjjE7D64GlEx8Vn1MmoPsKUyIhomULb2X3uekadrN6psJ9BrRtgcJuMm0YNqznjj14/Y+OxC5i38ygsjY0wf0g3VLW3KrJy0fdHJM8694/+84JCla8q9j2LTPpvdA4LUrzrt7EsflGyC8rf++O+Jxryb2N576IkBx/Gz04jLaG4s6BydKIffzrS90ZFXlOkKjR/7FTcWchV0p/zPh2pkGh0GVdsxy5O3+/YIhERERERkYpjh42IiIiIiEhFfRuTkImIiIiIqPh9x4t/FBfWOBERERERkYriCBsREREREeWPiIsrFTWOsBEREREREakojrAREREREVH+iDneU9RY40RERERERCqKHTYiIiIiIiIVxSmRRERERESUP1zWv8ixxomIiIiIiFQUR9iIiIiIiCh/xFzWv6hxhI2IiIiIiEhFscNGRERERESkojglkoiIiIiI8oeLjhQ51jgREREREZGK4ggbERERERHlj4iLjhQ1jrARERERERGpKI6wERERERFR/og53lPUWONEREREREQqih02IiIiIiIiFcUpkURERERElD9cdKTIcYSNiIiIiIhIRXGEjYiIiIiI8ocvzi5yrHEiIiIiIiIVxQ4bERERERGRiuKUSCIiIiIiyh++h63IscaJiIiIiIhUFEfYiIiIiIgof7isf5Fjh+07oy5KKe4sqBwjSWxxZ0HlGAedKu4sqJwQx8bFnQWVIz0TVNxZUDn1y90v7iyonFQ1SXFnQeXc1m9W3FlQObol44s7CyqlUnFngFQKO2xERERERJQ/XNa/yLHGiYiIiIiIVBQ7bERERERERCqKUyKJiIiIiCh/uOhIkeMIGxERERERkYriCBsREREREeUPX5xd5FjjREREREREKoodNiIiIiIiIhXFKZFERERERJQvci46UuQ4wkZERERERKSiOMJGRERERET5I+J4T1FjjRMREREREakojrAREREREVH+cIStyLHGiYiIiIiIVBQ7bERERERERCqKUyKJiIiIiChfuKx/0eMIGxERERERkYriCBsREREREeUPFx0pcqxxIiIiIiIiFcUOGxERERERkYrilEgiIiIiIsofLjpS5DjCRkRERERE/0krV66ElZUVNDQ04ObmhuvXr+ca18fHBz/++CP09fWhr6+Pxo0b54jft29fiEQiha158+aFWgZ2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\n",
|
||
"text/plain": [
|
||
"<Figure size 1000x800 with 2 Axes>"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"import seaborn as sns\n",
|
||
"import matplotlib.pyplot as plt\n",
|
||
"\n",
|
||
"df = pd.read_csv('/content/dataset.csv')\n",
|
||
"\n",
|
||
"\n",
|
||
"numeric_df = df.select_dtypes(include=['float64', 'int64'])\n",
|
||
"\n",
|
||
"# Compute the correlation matrix\n",
|
||
"corr_matrix = numeric_df.corr()\n",
|
||
"\n",
|
||
"plt.figure(figsize=(10, 8))\n",
|
||
"sns.heatmap(corr_matrix, annot=True, fmt='.2f', cmap='coolwarm', vmin=-1, vmax=1, center=0)\n",
|
||
"\n",
|
||
"plt.title('Correlation Matrix Heatmap')\n",
|
||
"plt.show()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"id": "lh3HJUOXBnRH"
|
||
},
|
||
"source": [
|
||
"### Mean, Median, Mode"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"metadata": {
|
||
"colab": {
|
||
"base_uri": "https://localhost:8080/"
|
||
},
|
||
"id": "nFLvh7cPArWH",
|
||
"outputId": "61e8edda-0547-48ce-8e85-1e4c5af20b21"
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Statistics for Numeric Columns:\n",
|
||
"\n",
|
||
"Column: Id\n",
|
||
"Mean: 1459.0\n",
|
||
"Median: 1459.0\n",
|
||
"Mode: 0\n",
|
||
"\n",
|
||
"Column: MSSubClass\n",
|
||
"Mean: 57.1377183967112\n",
|
||
"Median: 50.0\n",
|
||
"Mode: 20\n",
|
||
"\n",
|
||
"Column: LotArea\n",
|
||
"Mean: 10168.11408016444\n",
|
||
"Median: 9453.0\n",
|
||
"Mode: 9600\n",
|
||
"\n",
|
||
"Column: OverallCond\n",
|
||
"Mean: 5.564576909900651\n",
|
||
"Median: 5.0\n",
|
||
"Mode: 5\n",
|
||
"\n",
|
||
"Column: YearBuilt\n",
|
||
"Mean: 1971.3127783487496\n",
|
||
"Median: 1973.0\n",
|
||
"Mode: 2005\n",
|
||
"\n",
|
||
"Column: YearRemodAdd\n",
|
||
"Mean: 1984.2644741349777\n",
|
||
"Median: 1993.0\n",
|
||
"Mode: 1950\n",
|
||
"\n",
|
||
"Column: BsmtFinSF2\n",
|
||
"Mean: 49.58224811514736\n",
|
||
"Median: 0.0\n",
|
||
"Mode: 0.0\n",
|
||
"\n",
|
||
"Column: TotalBsmtSF\n",
|
||
"Mean: 1051.7775873886224\n",
|
||
"Median: 989.5\n",
|
||
"Mode: 0.0\n",
|
||
"\n",
|
||
"Column: SalePrice\n",
|
||
"Mean: 180921.19589041095\n",
|
||
"Median: 163000.0\n",
|
||
"Mode: 140000.0\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"print(\"Statistics for Numeric Columns:\")\n",
|
||
"for column in numeric_df.columns:\n",
|
||
" print(f\"\\nColumn: {column}\")\n",
|
||
" print(f\"Mean: {numeric_df[column].mean()}\")\n",
|
||
" print(f\"Median: {numeric_df[column].median()}\")\n",
|
||
" print(f\"Mode: {numeric_df[column].mode()[0]}\")"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"id": "sEmslgVqB_EK"
|
||
},
|
||
"source": [
|
||
"### Count NA values"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"metadata": {
|
||
"colab": {
|
||
"base_uri": "https://localhost:8080/"
|
||
},
|
||
"id": "fZlMMiu_B6hP",
|
||
"outputId": "c96a35d3-48f5-4556-f445-6cff6ff74cbb"
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Columns with NA values:\n",
|
||
"MSZoning: 4\n",
|
||
"Exterior1st: 1\n",
|
||
"BsmtFinSF2: 1\n",
|
||
"TotalBsmtSF: 1\n",
|
||
"SalePrice: 1459\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"def count_na_values(df):\n",
|
||
" na_counts = {col: 0 for col in df.columns}\n",
|
||
"\n",
|
||
" # Iterate through each row and column\n",
|
||
" for index, row in df.iterrows():\n",
|
||
" for col in df.columns:\n",
|
||
" # Check for NA values\n",
|
||
" if pd.isna(row[col]):\n",
|
||
" na_counts[col] += 1\n",
|
||
"\n",
|
||
" print(\"Columns with NA values:\")\n",
|
||
" for column, count in na_counts.items():\n",
|
||
" if count > 0:\n",
|
||
" print(f\"{column}: {count}\")\n",
|
||
"\n",
|
||
"count_na_values(df)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"id": "axqEIpelDKWz"
|
||
},
|
||
"source": [
|
||
"### Range"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"metadata": {
|
||
"colab": {
|
||
"base_uri": "https://localhost:8080/"
|
||
},
|
||
"id": "KWQy6HdmCbs6",
|
||
"outputId": "29cd97bd-0f9a-48ec-cc00-97f3c9698ca2"
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Minimum and Maximum Values for Numeric Columns:\n",
|
||
"Id: Min = 0, Max = 2918\n",
|
||
"MSSubClass: Min = 20, Max = 190\n",
|
||
"LotArea: Min = 1300, Max = 215245\n",
|
||
"OverallCond: Min = 1, Max = 9\n",
|
||
"YearBuilt: Min = 1872, Max = 2010\n",
|
||
"YearRemodAdd: Min = 1950, Max = 2010\n",
|
||
"BsmtFinSF2: Min = 0.0, Max = 1526.0\n",
|
||
"TotalBsmtSF: Min = 0.0, Max = 6110.0\n",
|
||
"SalePrice: Min = 34900.0, Max = 755000.0\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"def calculate_min_max(df):\n",
|
||
" min_values = {}\n",
|
||
" max_values = {}\n",
|
||
"\n",
|
||
" # Iterate over each column\n",
|
||
" for col in df.columns:\n",
|
||
" # Skip non-numeric columns\n",
|
||
" if df[col].dtype in ['float64', 'int64']:\n",
|
||
" min_value = float('inf')\n",
|
||
" max_value = float('-inf')\n",
|
||
"\n",
|
||
" # Iterate over each value in the column\n",
|
||
" for value in df[col]:\n",
|
||
" # Check for NA values and skip them\n",
|
||
" if pd.isna(value):\n",
|
||
" continue\n",
|
||
"\n",
|
||
" if value < min_value:\n",
|
||
" min_value = value\n",
|
||
" if value > max_value:\n",
|
||
" max_value = value\n",
|
||
"\n",
|
||
" if min_value != float('inf') and max_value != float('-inf'):\n",
|
||
" min_values[col] = min_value\n",
|
||
" max_values[col] = max_value\n",
|
||
"\n",
|
||
" print(\"Minimum and Maximum Values for Numeric Columns:\")\n",
|
||
" for col in min_values:\n",
|
||
" print(f\"{col}: Min = {min_values[col]}, Max = {max_values[col]}\")\n",
|
||
"\n",
|
||
"calculate_min_max(df)\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"id": "JirLmOE4DNZZ"
|
||
},
|
||
"source": [
|
||
"### Categorical Columns"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"metadata": {
|
||
"colab": {
|
||
"base_uri": "https://localhost:8080/",
|
||
"height": 563
|
||
},
|
||
"id": "2lxPgYzsEjkh",
|
||
"outputId": "2a7f72f0-6e12-47e8-e871-c0c1973f570f"
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"image/png": "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Cw8PN/z8/DK8/nv3oWEYxrhx4wyLxWKcOnXK2tazZ88099m2bdsMScann35q07527Vqb9nPnzhmurq5G48aNbeZ76623DEk2xyej36uUz17BggVTbce9n8s7d+4YBQoUMEJCQozLly/bzHvv5/Ren332WarvV3rfh3ulHN97XyEhIYZhGMbJkycNFxcXY8yYMTbLHThwwHB1dbVp/7fH6t59kiKtn9sdOnQwJBlDhw61mTejx3v58uXW3x0AUuOUUQBPpIIFC6p9+/aaO3eu4uPjHdZv586drf92cXFRhQoVZBiGXn31VWu7v7+/ihYtqhMnTqRa/pVXXlG2bNms75s3b648efLom2++kSTFxMTo2LFjatOmjf78809dvHhRFy9e1LVr11SrVi1t3bpVycnJNn127949Q7V/8803qlixos2peT4+PuratatOnjypX375JWM7wQFKlCihF154wfo+Z86c6e6zFD/99JMuXLig7t2724yqREdHy8/P76HqeJj9fa927drpxo0bNqMJixcvliTraWuSrCPAknT58mUlJCTohRde0N69ex+q9nutX79eV65cUevWra3bcfHiRbm4uKhSpUratGmTtQ43Nzdt3rw51WlzDysyMlJhYWHW96VLl5avr+99j6f0z91F7/4+PMjd+/DatWu6ePGiqlSpIsMwtG/fvgcu/+WXX8rPz0+1a9e22Ufly5eXj4+PdR9t3LhRd+7c0WuvvWazfO/evVP1ae/3qkOHDjbbkZZ9+/YpLi5O/fr1S3Ut792jfnf3c+PGDV28eFHPP/+8JP2rz9XSpUu1fv166+vTTz+VJC1btkzJyclq2bKlzf4LCgpS4cKFrfvv3toe5lg9jB49eti8z+jxTtnHq1ev1u3btzOlNuBJximjAJ5Yw4cP16JFizR+/Hib627+jfz589u89/Pzk4eHR6obMPj5+aV5HU/hwoVt3lssFhUqVMh67daxY8ck/fNHY3oSEhKsp29J/5wimxGnTp1K806BxYsXt07PrMdy3Hvq2r37UZKyZ89+34By6tQpSan3YdasWVWwYMGHquth9ve96tWrp4CAAC1evNh6bdlnn32mMmXK2Jz+unr1ao0ePVoxMTG6efOmtd1R12imbEvNmjXTnO7r6ytJcnd314QJEzRw4EDlzp1bzz//vF566SW98sorCgoKeqh1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\n",
|
||
"text/plain": [
|
||
"<Figure size 1000x600 with 1 Axes>"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"categorical_columns = df.select_dtypes(include=['object', 'category']).columns\n",
|
||
"\n",
|
||
"unique_counts = df[categorical_columns].nunique()\n",
|
||
"\n",
|
||
"plt.figure(figsize=(10, 6))\n",
|
||
"unique_counts.sort_values().plot(kind='barh', color='skyblue')\n",
|
||
"plt.xlabel('Number of Unique Values')\n",
|
||
"plt.ylabel('Categorical Features')\n",
|
||
"plt.title('Number of Unique Values in Categorical Features')\n",
|
||
"plt.show()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"id": "OY-x5zN6F55B"
|
||
},
|
||
"source": [
|
||
"To findout the actual count of each category we can plot the bargraph of each four features separately."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"metadata": {
|
||
"colab": {
|
||
"base_uri": "https://localhost:8080/",
|
||
"height": 382
|
||
},
|
||
"id": "FH6Pf9AcEyYL",
|
||
"outputId": "ed142cd9-0e02-4d1a-b375-30ae016dde85"
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"<ipython-input-9-e739720434fe>:8: MatplotlibDeprecationWarning: Auto-removal of overlapping axes is deprecated since 3.6 and will be removed two minor releases later; explicitly call ax.remove() as needed.\n",
|
||
" plt.subplot(11, 4, index)\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"image/png": "iVBORw0KGgoAAAANSUhEUgAABccAAAE5CAYAAABVvZhZAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAACseElEQVR4nOzdd1wU1/4//teCUpQmKiwkiFjBgiIaxIKoXIrEWLhJuBobKIkBo2KwJIotihpbNF65xiiaQDS5N2rUfBEEBQs2EizYQFE0upCosAGVOr8//DEfV1ApC7vsvp6Pxzx0Zs6efR8XD7PvOXOORBAEAUREREREREREREREWkRH1QEQERERERERERERETU0JseJiIiIiIiIiIiISOswOU5EREREREREREREWofJcSIiIiIiIiIiIiLSOkyOExEREREREREREZHWYXKciIiIiIiIiIiIiLQOk+NEREREREREREREpHWYHCciIiIiIiIiIiIircPkOBERERERERERERFpnSaqDqAxKC8vx71792BsbAyJRKLqcIiIqk0QBPz999+wtraGjo7m3w9lf01EjRX7ayIi9adtfTXA/pqIGqca9dcCvdadO3cEANy4cePWaLc7d+6ouittEOyvuXHj1ti3uvbXy5cvF3r37i0YGRkJrVu3FkaMGCFcvXpVocygQYMqve+HH36oUOb27dvCsGHDBENDQ6F169bCp59+KpSUlCiUOXLkiODk5CTo6ekJ7du3F7Zv317tONlfc+PGrTFv2nJtLQjsr7lx49a4t+r01xw5Xg3GxsYAgDt37sDExETF0RARVZ9cLoeNjY3Yj2k69tdE1Fgpq79OSkpCcHAw+vTpg9LSUnz22Wfw9PTE5cuX0bx5c7HclClTsGTJEnG/WbNm4t/Lysrg6+sLqVSKkydP4v79+xg/fjyaNm2K5cuXAwCysrLg6+uLjz76CNHR0UhISMDkyZNhZWUFLy+v18bJ/pqIGiNtu7YG2F8TUeNUk/6ayfFqqHh0yMTEhL8MiKhR0pZHINlfE1FjV9f+OjY2VmE/KioKFhYWSE1NhZubm3i8WbNmkEqlVdYRFxeHy5cv4/Dhw7C0tETPnj2xdOlSzJkzB4sWLYKenh4iIyNhZ2eHNWvWAAAcHBxw/PhxrFu3rlrJcfbXRNSYacu1NcD+mogat+r019oxSRYRERER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Zg22bt0KLy+vBm0vEREREREREREREakHlY4cFwThtWUMDAywadMmbNq06aVlbG1t8euvv76yHnd3d/z+++81jpGIiIiIiIiIiIiINI9KR44TEREREREREREREakCk+NERERERBoiIiICffr0gbGxMSwsLDBy5Ehcu3ZNoczTp08RHByMli1bwsjICH5+fsjJyVEok52dDV9fXzRr1gwWFhYICwtDaWmpQpmjR4+iV69e0NfXR4cOHRAVFVXfzSMiIiIiUiomx4mIiIiINERSUhKCg4Nx6tQpxMfHo6SkBJ6enigsLBTLzJw5E/v378dPP/2EpKQk3Lt3D6NHjxbPl5WVwdfXF8XFxTh58iR27NiBqKgohIeHi2WysrLg6+uLwYMHIy0tDTNmzMDkyZNx6NChBm0vEREREVFdqHTOcSIiIiIiUp7Y2FiF/aioKFhYWCA1NRVubm7Iz8/Ht99+i5iYGAwZMgQAsH37djg4OODUqVPo27cv4uLicPnyZRw+fBiWlpbo2bMnli5dijlz5mDRokXQ09NDZGQk7OzssGbNGgCAg4MDjh8/jnXr1nHReyIiIiJqNDhynIiIiIhIQ+Xn5wMAzM3NAQCpqakoKSmBh4eHWMbe3h5t2rRBSkoKACAlJQXdu3eHpaWlWMbLywtyuRzp6elimefrqChTUceLioqKIJfLFTYiIiIiIlVjcpyIiIiISAOVl5djxowZ6N+/P7p16wYAkMlk0NPTg5mZmUJZS0tLyGQysczzifGK8xXnXlVGLpfjyZMnlWKJiIiAqampuNnY2CiljUREREREdcHkOBERERGRBgoODsalS5ewa9cuVYeCefPmIT8/X9zu3Lmj6pCIiIiIiDjnOBERERGRpgkJCcGBAweQnJyMN998UzwulUpRXFyMvLw8hdHjOTk5kEqlYpkzZ84o1JeTkyOeq/iz4tjzZUxMTGBoaFgpHn19fejr6yulbUREREREysKR40REREREGkIQBISEhGDPnj1ITEyEnZ2dwnlnZ2c0bdoUCQkJ4rFr164hOzsbrq6uAABXV1dcvHgRubm5Ypn4+HiYmJigS5cuYpnn66goU1EHEREREVFjwJHjREREREQaIjg4GDExMdi3bx+MjY3FOcJNTU1haGgIU1NTBAYGIjQ0FObm5jAxMcG0adPg6uqKvn37AgA8PT3RpUsXjBs3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2oRNmza99DW2trb49ddf6zkyIqLGi3OOExEREREREREREZHWYXKciIiIiIiIiIiIiLQOk+NEREREREREREREpHWYHCciIiIiIiIiIiIircPkOBERERERERERERFpHSbHiYiIiIiIiIiIiEjrMDlORERERERERERERFqHyXEiIiIiIiIiIiIi0jpMjhMRERERERERERGR1mFynIiIiIiIiIiIiIi0DpPjRERERERERERERKR1mBwnIiIiIiIiIiIiIq3D5DgRERERERERERERaR0mx4mIiIiIiIiIiIhI6zA5TkRERERERERERERah8lxIiIiIiIiIiIiItI6TI4TERERERERERERkdZhcpyIiIiIiIiIiIiItA6T40RERERERERERESkdZgcJyIiIiIiIiIiIiKtw+Q4EREREREREREREWkdJseJiKjOFi1aBIlEorDZ29uL558+fYrg4GC0bNkSRkZG8PPzQ05OjkId2dnZ8PX1RbNmzWBhYYGwsDCUlpY2dFOIiIiIiIiISEs0UXUARESkGbp27YrDhw+L+02a/N+vmJkzZ+LgwYP46aefYGpqipCQEIwePRonTpwAAJSVlcHX1xdSqRQnT57E/fv3MX78eDRt2hTLly9v8LYQERERERERkeZjcpyIiJSiSZMmkEqllY7n5+fj22+/RUxMDIYMGQIA2L59OxwcHHDq1Cn07dsXcXFxuHz5Mg4fPgxLS0v07NkTS5cuxZw5c7Bo0SLo6ek1dHOIiIiIiIiISMOpdXJ80aJFWLx4scKxzp074+rVqwCePaY/a9Ys7Nq1C0VFRfDy8sK///1vWFpaiuWzs7MxdepUHDlyBEZGRpgwYQIiIiIURjQSEVHdZWRkwNraGgYGBnB1dUVERATatGmD1NRUlJSUwMPDQyxrb2+PNm3aICUlBX379kVKSgq6d++u0H97eXlh6tSpSE9Ph5OTU5XvWVRUhKKiInFfLpfXXwMbIeewnaoOoc5Svxyv6hCIiIiIiIhIQ6n9nONdu3bF/fv3xe348ePiuZkzZ2L//v346aefkJSUhHv37mH06NHi+YrH9IuLi3Hy5Ens2LEDUVFRCA8PV0VTiIg0louLC6KiohAbG4vNmzcjKysLAwcOxN9//w2ZTAY9PT2YmZkpvMbS0hIymQwAIJPJFBLjFecrzr1MREQETE1Nxc3Gxka5DSMiIiIiIiIijaX2yfGKx/QrtlatWgH4v8f0165diyFDhsDZ2Rnbt2/HyZMncerUKQAQH9P//vvv0bNnT/j4+GDp0qXYtGkTiouLVdksIiKN4uPjg3fffReOjo7w8vLCr7/+iry8PPz444/1+r7z5s1Dfn6+uN25c6de34+IqLHjAspERERERP9H7ZPjFY/pt2vXDmPHjkV2djYAvPYxfQAvfUxfLpcjPT39pe9ZVFQEuVyusBERUfWZmZmhU6dOyMzMhFQqRXFxMfLy8hTK5OTkiHOUS6XSSsmXiv2q5jGvoK+vDxMTE4WNiIhejU9mEhERERE9o9bJcT6mT0TUOBUUFODGjRuwsrKCs7MzmjZtioSEBPH8tWvXkJ2dDVdXVwCAq6srLl68iNzcXLFMfHw8TExM0KVLlwaPn4hIk/HJTCIiIiKiZ9R6VUofHx/x746OjnBxcYGtrS1+/PFHGBoa1tv7zps3D6GhoeK+XC5ngpyI6BU+/fRTDB8+HLa2trh37x4WLlwIXV1d/Otf/4KpqSkCAwMRGhoKc3NzmJiYYNq0aXB1dUXfvn0BAJ6enujSpQvGjRuHVatWQSaTYf78+QgODoa+vr6KW0dEpFlUsYAyERHVTEREBH7++WdcvXoVhoaG6NevH1auXInOnTuLZZ4+fYpZs2Zh165dKCoqgpeXF/79738r9NHZ2dmYOnUqjhw5AiMjI0yYMAERERFo0kSt00EayzlsZ51ez8XqiZRPrUeOv4iP6RMRqae7d+/iX//6Fzp37oz33nsPLVu2xKlTp9C6dWsAwLp16/D222/Dz88Pbm5ukEql+Pnnn8XX6+rq4sCBA9DV1YWrqys++OADjB8/HkuWLFFVk4iINJKqnszktIVERDWTlJSE4OBgnDp1CvHx8SgpKYGnpycKCwvFMpwKi4io7hrVrcKKx/THjRun8Ji+n58fgKof01+2bBlyc3NhYWEBgI/pK0Nd73SqA95tJVKuXbt2vfK8gYEBNm3ahE2bNr20jK2tLX799Vdlh0ZERM9R1ZOZERERWLx4cb3VT0SkaWJjYxX2o6KiYGFhgdTUVLi5uYlTYcXExGDIkCEAgO3bt8PBwQGnTp1C3759xamwDh8+DEtLS/Ts2RNLly7FnDlzsGjRIujp6amiaUREakWtR45/+umnSEpKwq1bt3Dy5EmMGjWqysf0jxw5gtTUVEyaNOmlj+mfP38ehw4d4mP6RERERET/v4Z6MnPevHnIz88Xtzt37ii3IUREGi4/Px8AYG5uDgCvnQoLwEunwpLL5UhPT6/yffikDxFpG7VOjvMxfSIiIiKi+tNQCyhz2kIiotorLy/HjBkz0L9/f3Tr1g0A6m0qrIiICJiamoob118jIk2n1tOq8DF9IiIiIiLl4QLKRESNT3BwMC5duoTjx4/X+3vNmzcPoaGh4r5cLmeCnIg0mlonx4mIiIiISHkqnsx88OABWrdujQEDBlR6MlNHRwd+fn4oKiqCl5cX/v3vf4uvr3gyc+rUqXB1dUXz5s0xYcIEPplJRFRPQkJCcODAASQnJ+PNN98Ujz8/Fdbzo8dfnArrzJkzCvW9biosfX193uwkIq3C5DgRERERkZbgk5lERI2DIAiYNm0a9uzZg6NHj8LOzk7h/PNTYfn5+QGoeiqsZcuWITc3FxYWFgCqNxUWEZE2YXKciIiIiIiIiEiNBAcHIyYmBvv27YOxsbE4R7ipqSkMDQ05FRYRkZIwOU5EREREREREpEY2b94MAHB3d1c4vn37dkycOBEAp8IiIlIGJseJiIiIiIiIiNSIIAivLcOpsIiI6k5H1QEQERERERERERERETU0JseJiIiIiIiIiIiISOswOU5EREREREREREREWofJcSIiIiIiIiIiIiLSOkyOExEREREREREREZHWYXKciIiIiIiIiIiIiLQOk+NEREREREREREREpHWYHCciIiIiIiIiIiIirdNE1QEQERERERERERFRzTiH7azT61O/HK+kSIgaL44cJyIiIiIiIiIiIiKtw+Q4EREREREREREREWkdJseJiIiIiIiIiIiISOswOU5EREREREREREREWofJcSIiIiIiIiIiIiLSOk1UHQAREREREZE2cw7bqeoQ6iT1y/GqDoGIiIioVpgcJyIiIiIiIiIi0nLKuFnLG6bU2DA5TkRERBqDoy+JiIiIiIioujjnOBERERERERERERFpHSbHiYiIiIiIiIiIiEjrMDlORERERERERERERFqHc44TVQPnsCUiIiIiIiIiItIsTI4TERERERERERGR0tV1sCEH+1F947QqRERERERERERERKR1OHKciIiIiIiIGhSnLSQiIiJ1wOQ4ERERUSPV2JNLABNMRKQd2F8TESmHsqdp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\n",
|
||
"text/plain": [
|
||
"<Figure size 1800x3600 with 4 Axes>"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"plt.figure(figsize=(18, 36))\n",
|
||
"plt.title('Categorical Features: Distribution')\n",
|
||
"plt.xticks(rotation=90)\n",
|
||
"index = 1\n",
|
||
"\n",
|
||
"for col in categorical_columns:\n",
|
||
" y = df[col].value_counts()\n",
|
||
" plt.subplot(11, 4, index)\n",
|
||
" plt.xticks(rotation=90)\n",
|
||
" sns.barplot(x=list(y.index), y=y)\n",
|
||
" index += 1"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"id": "KtYExjQRHBQo"
|
||
},
|
||
"source": [
|
||
"# Preprocessing"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"id": "y6V1OOb8E-9D"
|
||
},
|
||
"source": [
|
||
"As in our dataset, there are some columns that are not important and irrelevant for the model training. So, we can drop that column before training. There are 2 approaches to dealing with empty/null values\n",
|
||
"\n",
|
||
"We can easily delete the column/row (if the feature or record is not much important).\n",
|
||
"\n",
|
||
"Filling the empty slots with mean/mode/0/NA/etc. (depending on the dataset requirement).\n",
|
||
"\n",
|
||
"Dropping ID Column as it doesn't participate in prediction\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"metadata": {
|
||
"id": "x7n5GmAWwoO_"
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"df.drop(['Id'],\n",
|
||
"\t\t\taxis=1,\n",
|
||
"\t\t\tinplace=True)\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"metadata": {
|
||
"colab": {
|
||
"base_uri": "https://localhost:8080/"
|
||
},
|
||
"id": "TuPS3m9fGmnf",
|
||
"outputId": "7fbb4b86-f311-4e3c-ad2b-ad1324bf36d9"
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Columns with NA values:\n",
|
||
"MSZoning: 4\n",
|
||
"Exterior1st: 1\n",
|
||
"BsmtFinSF2: 1\n",
|
||
"TotalBsmtSF: 1\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"# Custom function to fill missing values with the mean\n",
|
||
"pd.options.mode.chained_assignment = None # default='warn'\n",
|
||
"\n",
|
||
"df_copy = df.copy()\n",
|
||
"def fill_missing_with_mean(data, column_name):\n",
|
||
" \"\"\"\n",
|
||
" Args:\n",
|
||
" data: The pandas DataFrame containing the data.\n",
|
||
" column_name: The name of the column to fill missing values in.\n",
|
||
" \"\"\"\n",
|
||
" total_sum = 0\n",
|
||
" count = 0\n",
|
||
" for value in data[column_name]:\n",
|
||
" if not pd.isna(value): # Check for missing values\n",
|
||
" total_sum += value\n",
|
||
" count += 1\n",
|
||
" mean_value = total_sum / count\n",
|
||
"\n",
|
||
" # Replace missing values with the calculated mean\n",
|
||
" for i in range(len(data[column_name])):\n",
|
||
" if pd.isna(data[column_name][i]):\n",
|
||
" data[column_name][i] = mean_value\n",
|
||
"\n",
|
||
"fill_missing_with_mean(df_copy, 'SalePrice')\n",
|
||
"count_na_values(df_copy)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"id": "RLOKcTLZGyGB"
|
||
},
|
||
"source": [
|
||
"It's a lot easier with Pandas"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"metadata": {
|
||
"id": "XFWhKDBVGqGe"
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"# df['SalePrice'].fillna(df['SalePrice'].mean(), inplace=True)\n",
|
||
"# count_na_values(df)\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"id": "94P_JKZtGxjJ"
|
||
},
|
||
"source": [
|
||
"As we can see there are still NA values available in the dataset but they're very less in number. So, dropping the records with Null values!\n",
|
||
"\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"metadata": {
|
||
"colab": {
|
||
"base_uri": "https://localhost:8080/"
|
||
},
|
||
"id": "2LrDmZryG9Pm",
|
||
"outputId": "45c648d4-bc87-4a2d-c251-02522d32a1da"
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Columns with NA values:\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"new_data = df_copy.dropna()\n",
|
||
"count_na_values(new_data)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"id": "WbG2fnsIHQmn"
|
||
},
|
||
"source": [
|
||
"One hot Encoding is the best way to convert categorical data into binary vectors. This maps the values to integer values."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"metadata": {
|
||
"colab": {
|
||
"base_uri": "https://localhost:8080/"
|
||
},
|
||
"id": "N1LeRnnTG_x9",
|
||
"outputId": "70f77b9d-c86c-4659-fce8-1922514005a5"
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
" MSSubClass LotArea LotConfig BldgType OverallCond YearBuilt \\\n",
|
||
"0 60 8450 Inside 1Fam 5 2003 \n",
|
||
"1 20 9600 FR2 1Fam 8 1976 \n",
|
||
"2 60 11250 Inside 1Fam 5 2001 \n",
|
||
"3 70 9550 Corner 1Fam 5 1915 \n",
|
||
"4 60 14260 FR2 1Fam 5 2000 \n",
|
||
"\n",
|
||
" YearRemodAdd Exterior1st BsmtFinSF2 TotalBsmtSF SalePrice MSZoning_RL \\\n",
|
||
"0 2003 VinylSd 0.0 856.0 208500.0 1 \n",
|
||
"1 1976 MetalSd 0.0 1262.0 181500.0 1 \n",
|
||
"2 2002 VinylSd 0.0 920.0 223500.0 1 \n",
|
||
"3 1970 Wd Sdng 0.0 756.0 140000.0 1 \n",
|
||
"4 2000 VinylSd 0.0 1145.0 250000.0 1 \n",
|
||
"\n",
|
||
" MSZoning_RM MSZoning_C (all) MSZoning_FV MSZoning_RH \n",
|
||
"0 0 0 0 0 \n",
|
||
"1 0 0 0 0 \n",
|
||
"2 0 0 0 0 \n",
|
||
"3 0 0 0 0 \n",
|
||
"4 0 0 0 0 \n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"def one_hot_encode(df, column_name):\n",
|
||
" \"\"\"\n",
|
||
" Args:\n",
|
||
" df: The pandas DataFrame containing the data.\n",
|
||
" column_name: The name of the column to one-hot encode.\n",
|
||
"\n",
|
||
" Returns:\n",
|
||
" The DataFrame with the one-hot encoded columns.\n",
|
||
" \"\"\"\n",
|
||
" unique_values = df[column_name].unique()\n",
|
||
" for value in unique_values:\n",
|
||
" df[column_name + \"_\" + str(value)] = (df[column_name] == value).astype(int)\n",
|
||
" df = df.drop(column_name, axis=1)\n",
|
||
" return df\n",
|
||
"\n",
|
||
"df_encoded = one_hot_encode(new_data.copy(), 'MSZoning')\n",
|
||
"print(df_encoded.head())"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"id": "BjNQciWoHbTW"
|
||
},
|
||
"source": [
|
||
"This can be easily implemented with Sklearn library"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"metadata": {
|
||
"colab": {
|
||
"base_uri": "https://localhost:8080/"
|
||
},
|
||
"id": "Q0PeWhNYHTdl",
|
||
"outputId": "e1c90011-1985-41b4-c694-b4503f7d715d"
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Categorical variables:\n",
|
||
"['MSZoning', 'LotConfig', 'BldgType', 'Exterior1st']\n",
|
||
"No. of. categorical features: 4\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"from sklearn.preprocessing import OneHotEncoder\n",
|
||
"\n",
|
||
"s = (new_data.dtypes == 'object')\n",
|
||
"object_cols = list(s[s].index)\n",
|
||
"print(\"Categorical variables:\")\n",
|
||
"print(object_cols)\n",
|
||
"print('No. of. categorical features: ',\n",
|
||
"\tlen(object_cols))"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"metadata": {
|
||
"colab": {
|
||
"base_uri": "https://localhost:8080/",
|
||
"height": 298
|
||
},
|
||
"id": "HwH4nB9QILS8",
|
||
"outputId": "aaa8fb92-0fc0-47ab-bf95-4e2aac1ec932"
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"/usr/local/lib/python3.10/dist-packages/sklearn/preprocessing/_encoders.py:975: FutureWarning: `sparse` was renamed to `sparse_output` in version 1.2 and will be removed in 1.4. `sparse_output` is ignored unless you leave `sparse` to its default value.\n",
|
||
" warnings.warn(\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"application/vnd.google.colaboratory.intrinsic+json": {
|
||
"type": "dataframe",
|
||
"variable_name": "df_final"
|
||
},
|
||
"text/html": [
|
||
"\n",
|
||
" <div id=\"df-b18f156d-20a0-4271-8e34-6f46c31982a2\" class=\"colab-df-container\">\n",
|
||
" <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>MSSubClass</th>\n",
|
||
" <th>LotArea</th>\n",
|
||
" <th>OverallCond</th>\n",
|
||
" <th>YearBuilt</th>\n",
|
||
" <th>YearRemodAdd</th>\n",
|
||
" <th>BsmtFinSF2</th>\n",
|
||
" <th>TotalBsmtSF</th>\n",
|
||
" <th>SalePrice</th>\n",
|
||
" <th>MSZoning_C (all)</th>\n",
|
||
" <th>MSZoning_FV</th>\n",
|
||
" <th>...</th>\n",
|
||
" <th>Exterior1st_CemntBd</th>\n",
|
||
" <th>Exterior1st_HdBoard</th>\n",
|
||
" <th>Exterior1st_ImStucc</th>\n",
|
||
" <th>Exterior1st_MetalSd</th>\n",
|
||
" <th>Exterior1st_Plywood</th>\n",
|
||
" <th>Exterior1st_Stone</th>\n",
|
||
" <th>Exterior1st_Stucco</th>\n",
|
||
" <th>Exterior1st_VinylSd</th>\n",
|
||
" <th>Exterior1st_Wd Sdng</th>\n",
|
||
" <th>Exterior1st_WdShing</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>0</th>\n",
|
||
" <td>60</td>\n",
|
||
" <td>8450</td>\n",
|
||
" <td>5</td>\n",
|
||
" <td>2003</td>\n",
|
||
" <td>2003</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>856.0</td>\n",
|
||
" <td>208500.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</th>\n",
|
||
" <td>20</td>\n",
|
||
" <td>9600</td>\n",
|
||
" <td>8</td>\n",
|
||
" <td>1976</td>\n",
|
||
" <td>1976</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>1262.0</td>\n",
|
||
" <td>181500.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>60</td>\n",
|
||
" <td>11250</td>\n",
|
||
" <td>5</td>\n",
|
||
" <td>2001</td>\n",
|
||
" <td>2002</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>920.0</td>\n",
|
||
" <td>223500.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>3</th>\n",
|
||
" <td>70</td>\n",
|
||
" <td>9550</td>\n",
|
||
" <td>5</td>\n",
|
||
" <td>1915</td>\n",
|
||
" <td>1970</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>756.0</td>\n",
|
||
" <td>140000.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>4</th>\n",
|
||
" <td>60</td>\n",
|
||
" <td>14260</td>\n",
|
||
" <td>5</td>\n",
|
||
" <td>2000</td>\n",
|
||
" <td>2000</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>1145.0</td>\n",
|
||
" <td>250000.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>...</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>1.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" <td>0.0</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"<p>5 rows × 38 columns</p>\n",
|
||
"</div>\n",
|
||
" <div class=\"colab-df-buttons\">\n",
|
||
"\n",
|
||
" <div class=\"colab-df-container\">\n",
|
||
" <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-b18f156d-20a0-4271-8e34-6f46c31982a2')\"\n",
|
||
" title=\"Convert this dataframe to an interactive table.\"\n",
|
||
" style=\"display:none;\">\n",
|
||
"\n",
|
||
" <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n",
|
||
" <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n",
|
||
" </svg>\n",
|
||
" </button>\n",
|
||
"\n",
|
||
" <style>\n",
|
||
" .colab-df-container {\n",
|
||
" display:flex;\n",
|
||
" gap: 12px;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .colab-df-convert {\n",
|
||
" background-color: #E8F0FE;\n",
|
||
" border: none;\n",
|
||
" border-radius: 50%;\n",
|
||
" cursor: pointer;\n",
|
||
" display: none;\n",
|
||
" fill: #1967D2;\n",
|
||
" height: 32px;\n",
|
||
" padding: 0 0 0 0;\n",
|
||
" width: 32px;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .colab-df-convert:hover {\n",
|
||
" background-color: #E2EBFA;\n",
|
||
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
|
||
" fill: #174EA6;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .colab-df-buttons div {\n",
|
||
" margin-bottom: 4px;\n",
|
||
" }\n",
|
||
"\n",
|
||
" [theme=dark] .colab-df-convert {\n",
|
||
" background-color: #3B4455;\n",
|
||
" fill: #D2E3FC;\n",
|
||
" }\n",
|
||
"\n",
|
||
" [theme=dark] .colab-df-convert:hover {\n",
|
||
" background-color: #434B5C;\n",
|
||
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
|
||
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
|
||
" fill: #FFFFFF;\n",
|
||
" }\n",
|
||
" </style>\n",
|
||
"\n",
|
||
" <script>\n",
|
||
" const buttonEl =\n",
|
||
" document.querySelector('#df-b18f156d-20a0-4271-8e34-6f46c31982a2 button.colab-df-convert');\n",
|
||
" buttonEl.style.display =\n",
|
||
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
|
||
"\n",
|
||
" async function convertToInteractive(key) {\n",
|
||
" const element = document.querySelector('#df-b18f156d-20a0-4271-8e34-6f46c31982a2');\n",
|
||
" const dataTable =\n",
|
||
" await google.colab.kernel.invokeFunction('convertToInteractive',\n",
|
||
" [key], {});\n",
|
||
" if (!dataTable) return;\n",
|
||
"\n",
|
||
" const docLinkHtml = 'Like what you see? Visit the ' +\n",
|
||
" '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
|
||
" + ' to learn more about interactive tables.';\n",
|
||
" element.innerHTML = '';\n",
|
||
" dataTable['output_type'] = 'display_data';\n",
|
||
" await google.colab.output.renderOutput(dataTable, element);\n",
|
||
" const docLink = document.createElement('div');\n",
|
||
" docLink.innerHTML = docLinkHtml;\n",
|
||
" element.appendChild(docLink);\n",
|
||
" }\n",
|
||
" </script>\n",
|
||
" </div>\n",
|
||
"\n",
|
||
"\n",
|
||
"<div id=\"df-dd32d7a6-4099-4166-a557-a14a66aa420f\">\n",
|
||
" <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-dd32d7a6-4099-4166-a557-a14a66aa420f')\"\n",
|
||
" title=\"Suggest charts\"\n",
|
||
" style=\"display:none;\">\n",
|
||
"\n",
|
||
"<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
|
||
" width=\"24px\">\n",
|
||
" <g>\n",
|
||
" <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n",
|
||
" </g>\n",
|
||
"</svg>\n",
|
||
" </button>\n",
|
||
"\n",
|
||
"<style>\n",
|
||
" .colab-df-quickchart {\n",
|
||
" --bg-color: #E8F0FE;\n",
|
||
" --fill-color: #1967D2;\n",
|
||
" --hover-bg-color: #E2EBFA;\n",
|
||
" --hover-fill-color: #174EA6;\n",
|
||
" --disabled-fill-color: #AAA;\n",
|
||
" --disabled-bg-color: #DDD;\n",
|
||
" }\n",
|
||
"\n",
|
||
" [theme=dark] .colab-df-quickchart {\n",
|
||
" --bg-color: #3B4455;\n",
|
||
" --fill-color: #D2E3FC;\n",
|
||
" --hover-bg-color: #434B5C;\n",
|
||
" --hover-fill-color: #FFFFFF;\n",
|
||
" --disabled-bg-color: #3B4455;\n",
|
||
" --disabled-fill-color: #666;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .colab-df-quickchart {\n",
|
||
" background-color: var(--bg-color);\n",
|
||
" border: none;\n",
|
||
" border-radius: 50%;\n",
|
||
" cursor: pointer;\n",
|
||
" display: none;\n",
|
||
" fill: var(--fill-color);\n",
|
||
" height: 32px;\n",
|
||
" padding: 0;\n",
|
||
" width: 32px;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .colab-df-quickchart:hover {\n",
|
||
" background-color: var(--hover-bg-color);\n",
|
||
" box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
|
||
" fill: var(--button-hover-fill-color);\n",
|
||
" }\n",
|
||
"\n",
|
||
" .colab-df-quickchart-complete:disabled,\n",
|
||
" .colab-df-quickchart-complete:disabled:hover {\n",
|
||
" background-color: var(--disabled-bg-color);\n",
|
||
" fill: var(--disabled-fill-color);\n",
|
||
" box-shadow: none;\n",
|
||
" }\n",
|
||
"\n",
|
||
" .colab-df-spinner {\n",
|
||
" border: 2px solid var(--fill-color);\n",
|
||
" border-color: transparent;\n",
|
||
" border-bottom-color: var(--fill-color);\n",
|
||
" animation:\n",
|
||
" spin 1s steps(1) infinite;\n",
|
||
" }\n",
|
||
"\n",
|
||
" @keyframes spin {\n",
|
||
" 0% {\n",
|
||
" border-color: transparent;\n",
|
||
" border-bottom-color: var(--fill-color);\n",
|
||
" border-left-color: var(--fill-color);\n",
|
||
" }\n",
|
||
" 20% {\n",
|
||
" border-color: transparent;\n",
|
||
" border-left-color: var(--fill-color);\n",
|
||
" border-top-color: var(--fill-color);\n",
|
||
" }\n",
|
||
" 30% {\n",
|
||
" border-color: transparent;\n",
|
||
" border-left-color: var(--fill-color);\n",
|
||
" border-top-color: var(--fill-color);\n",
|
||
" border-right-color: var(--fill-color);\n",
|
||
" }\n",
|
||
" 40% {\n",
|
||
" border-color: transparent;\n",
|
||
" border-right-color: var(--fill-color);\n",
|
||
" border-top-color: var(--fill-color);\n",
|
||
" }\n",
|
||
" 60% {\n",
|
||
" border-color: transparent;\n",
|
||
" border-right-color: var(--fill-color);\n",
|
||
" }\n",
|
||
" 80% {\n",
|
||
" border-color: transparent;\n",
|
||
" border-right-color: var(--fill-color);\n",
|
||
" border-bottom-color: var(--fill-color);\n",
|
||
" }\n",
|
||
" 90% {\n",
|
||
" border-color: transparent;\n",
|
||
" border-bottom-color: var(--fill-color);\n",
|
||
" }\n",
|
||
" }\n",
|
||
"</style>\n",
|
||
"\n",
|
||
" <script>\n",
|
||
" async function quickchart(key) {\n",
|
||
" const quickchartButtonEl =\n",
|
||
" document.querySelector('#' + key + ' button');\n",
|
||
" quickchartButtonEl.disabled = true; // To prevent multiple clicks.\n",
|
||
" quickchartButtonEl.classList.add('colab-df-spinner');\n",
|
||
" try {\n",
|
||
" const charts = await google.colab.kernel.invokeFunction(\n",
|
||
" 'suggestCharts', [key], {});\n",
|
||
" } catch (error) {\n",
|
||
" console.error('Error during call to suggestCharts:', error);\n",
|
||
" }\n",
|
||
" quickchartButtonEl.classList.remove('colab-df-spinner');\n",
|
||
" quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n",
|
||
" }\n",
|
||
" (() => {\n",
|
||
" let quickchartButtonEl =\n",
|
||
" document.querySelector('#df-dd32d7a6-4099-4166-a557-a14a66aa420f button');\n",
|
||
" quickchartButtonEl.style.display =\n",
|
||
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
|
||
" })();\n",
|
||
" </script>\n",
|
||
"</div>\n",
|
||
"\n",
|
||
" </div>\n",
|
||
" </div>\n"
|
||
],
|
||
"text/plain": [
|
||
" MSSubClass LotArea OverallCond YearBuilt YearRemodAdd BsmtFinSF2 \\\n",
|
||
"0 60 8450 5 2003 2003 0.0 \n",
|
||
"1 20 9600 8 1976 1976 0.0 \n",
|
||
"2 60 11250 5 2001 2002 0.0 \n",
|
||
"3 70 9550 5 1915 1970 0.0 \n",
|
||
"4 60 14260 5 2000 2000 0.0 \n",
|
||
"\n",
|
||
" TotalBsmtSF SalePrice MSZoning_C (all) MSZoning_FV ... \\\n",
|
||
"0 856.0 208500.0 0.0 0.0 ... \n",
|
||
"1 1262.0 181500.0 0.0 0.0 ... \n",
|
||
"2 920.0 223500.0 0.0 0.0 ... \n",
|
||
"3 756.0 140000.0 0.0 0.0 ... \n",
|
||
"4 1145.0 250000.0 0.0 0.0 ... \n",
|
||
"\n",
|
||
" Exterior1st_CemntBd Exterior1st_HdBoard Exterior1st_ImStucc \\\n",
|
||
"0 0.0 0.0 0.0 \n",
|
||
"1 0.0 0.0 0.0 \n",
|
||
"2 0.0 0.0 0.0 \n",
|
||
"3 0.0 0.0 0.0 \n",
|
||
"4 0.0 0.0 0.0 \n",
|
||
"\n",
|
||
" Exterior1st_MetalSd Exterior1st_Plywood Exterior1st_Stone \\\n",
|
||
"0 0.0 0.0 0.0 \n",
|
||
"1 1.0 0.0 0.0 \n",
|
||
"2 0.0 0.0 0.0 \n",
|
||
"3 0.0 0.0 0.0 \n",
|
||
"4 0.0 0.0 0.0 \n",
|
||
"\n",
|
||
" Exterior1st_Stucco Exterior1st_VinylSd Exterior1st_Wd Sdng \\\n",
|
||
"0 0.0 1.0 0.0 \n",
|
||
"1 0.0 0.0 0.0 \n",
|
||
"2 0.0 1.0 0.0 \n",
|
||
"3 0.0 0.0 1.0 \n",
|
||
"4 0.0 1.0 0.0 \n",
|
||
"\n",
|
||
" Exterior1st_WdShing \n",
|
||
"0 0.0 \n",
|
||
"1 0.0 \n",
|
||
"2 0.0 \n",
|
||
"3 0.0 \n",
|
||
"4 0.0 \n",
|
||
"\n",
|
||
"[5 rows x 38 columns]"
|
||
]
|
||
},
|
||
"execution_count": 16,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"OH_encoder = OneHotEncoder(sparse=False)\n",
|
||
"OH_cols = pd.DataFrame(OH_encoder.fit_transform(new_data[object_cols]))\n",
|
||
"OH_cols.index = new_data.index\n",
|
||
"# Use get_feature_names_out() for newer scikit-learn versions\n",
|
||
"OH_cols.columns = OH_encoder.get_feature_names_out()\n",
|
||
"df_final = new_data.drop(object_cols, axis=1)\n",
|
||
"df_final = pd.concat([df_final, OH_cols], axis=1)\n",
|
||
"df_final.head()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"id": "eZDFB6FZv1k-"
|
||
},
|
||
"source": [
|
||
"### Scaling"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"metadata": {
|
||
"colab": {
|
||
"base_uri": "https://localhost:8080/"
|
||
},
|
||
"id": "bFOLI05z2940",
|
||
"outputId": "5a725fdb-1772-4962-c505-51926d71d4c6"
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"(755000.0, 34900.0)"
|
||
]
|
||
},
|
||
"execution_count": 17,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"label_max, label_min = df[\"SalePrice\"].max(), df[\"SalePrice\"].min()\n",
|
||
"label_max, label_min"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"metadata": {
|
||
"id": "70VWqfAKv3J-"
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"df_normalized = df_final.apply(lambda x: (x - x.min()) / (x.max() - x.min()))"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"metadata": {
|
||
"id": "Ve81LFh9wEs0"
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"# from sklearn.preprocessing import MinMaxScaler\n",
|
||
"# scaler = MinMaxScaler()\n",
|
||
"# df_normalized = pd.DataFrame(scaler.fit_transform(df), columns=df.columns)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"id": "TCfu66R_cyAJ"
|
||
},
|
||
"source": [
|
||
"# Data splitting"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"metadata": {
|
||
"id": "SqKZLT33eAjM"
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"import numpy as np\n",
|
||
"def train_test_split(X, y, test_size=0.2, random_state=None):\n",
|
||
" if random_state:\n",
|
||
" np.random.seed(random_state)\n",
|
||
"\n",
|
||
" # Split the data\n",
|
||
" split_index = int(len(X) * (1 - test_size))\n",
|
||
"\n",
|
||
" X_train = X[:split_index]\n",
|
||
" X_test = X[split_index:]\n",
|
||
" y_train = y[:split_index]\n",
|
||
" y_test = y[split_index:]\n",
|
||
"\n",
|
||
" return X_train, X_test, y_train, y_test"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"metadata": {
|
||
"colab": {
|
||
"base_uri": "https://localhost:8080/"
|
||
},
|
||
"id": "OF43AvddezUr",
|
||
"outputId": "8213b14a-cb42-4b26-d338-bc201e2b556e"
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"Index(['MSSubClass', 'LotArea', 'OverallCond', 'YearBuilt', 'YearRemodAdd',\n",
|
||
" 'BsmtFinSF2', 'TotalBsmtSF', 'SalePrice', 'MSZoning_C (all)',\n",
|
||
" 'MSZoning_FV', 'MSZoning_RH', 'MSZoning_RL', 'MSZoning_RM',\n",
|
||
" 'LotConfig_Corner', 'LotConfig_CulDSac', 'LotConfig_FR2',\n",
|
||
" 'LotConfig_FR3', 'LotConfig_Inside', 'BldgType_1Fam', 'BldgType_2fmCon',\n",
|
||
" 'BldgType_Duplex', 'BldgType_Twnhs', 'BldgType_TwnhsE',\n",
|
||
" 'Exterior1st_AsbShng', 'Exterior1st_AsphShn', 'Exterior1st_BrkComm',\n",
|
||
" 'Exterior1st_BrkFace', 'Exterior1st_CBlock', 'Exterior1st_CemntBd',\n",
|
||
" 'Exterior1st_HdBoard', 'Exterior1st_ImStucc', 'Exterior1st_MetalSd',\n",
|
||
" 'Exterior1st_Plywood', 'Exterior1st_Stone', 'Exterior1st_Stucco',\n",
|
||
" 'Exterior1st_VinylSd', 'Exterior1st_Wd Sdng', 'Exterior1st_WdShing'],\n",
|
||
" dtype='object')"
|
||
]
|
||
},
|
||
"execution_count": 21,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"df_normalized.columns"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"metadata": {
|
||
"id": "Wrqjlf9-gJEr"
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"df_normalized = df_normalized.sample(frac = 1)\n",
|
||
"X, y = df_normalized[['MSSubClass', 'LotArea', 'OverallCond', 'YearBuilt', 'YearRemodAdd',\n",
|
||
" 'BsmtFinSF2', 'TotalBsmtSF', 'MSZoning_C (all)',\n",
|
||
" 'MSZoning_FV', 'MSZoning_RH', 'MSZoning_RL', 'MSZoning_RM',\n",
|
||
" 'LotConfig_Corner', 'LotConfig_CulDSac', 'LotConfig_FR2',\n",
|
||
" 'LotConfig_FR3', 'LotConfig_Inside', 'BldgType_1Fam', 'BldgType_2fmCon',\n",
|
||
" 'BldgType_Duplex', 'BldgType_Twnhs', 'BldgType_TwnhsE',\n",
|
||
" 'Exterior1st_AsbShng', 'Exterior1st_AsphShn', 'Exterior1st_BrkComm',\n",
|
||
" 'Exterior1st_BrkFace', 'Exterior1st_CBlock', 'Exterior1st_CemntBd',\n",
|
||
" 'Exterior1st_HdBoard', 'Exterior1st_ImStucc', 'Exterior1st_MetalSd',\n",
|
||
" 'Exterior1st_Plywood', 'Exterior1st_Stone', 'Exterior1st_Stucco',\n",
|
||
" 'Exterior1st_VinylSd', 'Exterior1st_Wd Sdng', 'Exterior1st_WdShing']], df_normalized[['SalePrice']]"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"metadata": {
|
||
"colab": {
|
||
"base_uri": "https://localhost:8080/"
|
||
},
|
||
"collapsed": true,
|
||
"id": "7y3Skg0ZguD4",
|
||
"jupyter": {
|
||
"outputs_hidden": true
|
||
},
|
||
"outputId": "ab42d14d-0d70-4437-8745-037c03d75035"
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"( MSSubClass LotArea OverallCond YearBuilt YearRemodAdd BsmtFinSF2 \\\n",
|
||
" 2468 0.176471 0.020473 0.250 0.210145 0.000000 0.000000 \n",
|
||
" 1269 0.176471 0.046947 0.500 0.623188 0.133333 0.000000 \n",
|
||
" 2674 0.588235 0.007993 0.500 0.963768 0.933333 0.000000 \n",
|
||
" 1647 0.000000 0.030522 0.500 0.710145 0.333333 0.000000 \n",
|
||
" 530 0.352941 0.041599 0.500 0.840580 0.650000 0.000000 \n",
|
||
" ... ... ... ... ... ... ... \n",
|
||
" 2710 0.352941 0.060904 0.375 0.739130 0.400000 0.325688 \n",
|
||
" 1127 0.000000 0.062035 0.500 0.956522 0.900000 0.000000 \n",
|
||
" 2519 0.235294 0.051658 0.500 0.913043 0.816667 0.000000 \n",
|
||
" 1505 0.000000 0.042796 0.625 0.688406 0.283333 0.000000 \n",
|
||
" 1603 0.588235 0.011737 0.500 0.956522 0.916667 0.000000 \n",
|
||
" \n",
|
||
" TotalBsmtSF MSZoning_C (all) MSZoning_FV MSZoning_RH ... \\\n",
|
||
" 2468 0.158592 0.0 0.0 0.0 ... \n",
|
||
" 1269 0.143044 0.0 0.0 0.0 ... \n",
|
||
" 2674 0.186907 0.0 0.0 0.0 ... \n",
|
||
" 1647 0.193126 0.0 0.0 0.0 ... \n",
|
||
" 530 0.239116 0.0 0.0 0.0 ... \n",
|
||
" ... ... ... ... ... ... \n",
|
||
" 2710 0.286088 0.0 0.0 0.0 ... \n",
|
||
" 1127 0.250409 0.0 0.0 0.0 ... \n",
|
||
" 2519 0.139607 0.0 0.0 0.0 ... \n",
|
||
" 1505 0.299345 0.0 0.0 0.0 ... \n",
|
||
" 1603 0.260884 0.0 0.0 0.0 ... \n",
|
||
" \n",
|
||
" Exterior1st_CemntBd Exterior1st_HdBoard Exterior1st_ImStucc \\\n",
|
||
" 2468 0.0 0.0 0.0 \n",
|
||
" 1269 0.0 0.0 0.0 \n",
|
||
" 2674 0.0 0.0 0.0 \n",
|
||
" 1647 0.0 1.0 0.0 \n",
|
||
" 530 0.0 1.0 0.0 \n",
|
||
" ... ... ... ... \n",
|
||
" 2710 0.0 0.0 0.0 \n",
|
||
" 1127 0.0 0.0 0.0 \n",
|
||
" 2519 0.0 0.0 0.0 \n",
|
||
" 1505 0.0 1.0 0.0 \n",
|
||
" 1603 1.0 0.0 0.0 \n",
|
||
" \n",
|
||
" Exterior1st_MetalSd Exterior1st_Plywood Exterior1st_Stone \\\n",
|
||
" 2468 0.0 0.0 0.0 \n",
|
||
" 1269 1.0 0.0 0.0 \n",
|
||
" 2674 0.0 0.0 0.0 \n",
|
||
" 1647 0.0 0.0 0.0 \n",
|
||
" 530 0.0 0.0 0.0 \n",
|
||
" ... ... ... ... \n",
|
||
" 2710 0.0 0.0 0.0 \n",
|
||
" 1127 0.0 0.0 0.0 \n",
|
||
" 2519 0.0 0.0 0.0 \n",
|
||
" 1505 0.0 0.0 0.0 \n",
|
||
" 1603 0.0 0.0 0.0 \n",
|
||
" \n",
|
||
" Exterior1st_Stucco Exterior1st_VinylSd Exterior1st_Wd Sdng \\\n",
|
||
" 2468 0.0 0.0 0.0 \n",
|
||
" 1269 0.0 0.0 0.0 \n",
|
||
" 2674 0.0 1.0 0.0 \n",
|
||
" 1647 0.0 0.0 0.0 \n",
|
||
" 530 0.0 0.0 0.0 \n",
|
||
" ... ... ... ... \n",
|
||
" 2710 0.0 0.0 0.0 \n",
|
||
" 1127 0.0 1.0 0.0 \n",
|
||
" 2519 0.0 1.0 0.0 \n",
|
||
" 1505 0.0 0.0 0.0 \n",
|
||
" 1603 0.0 0.0 0.0 \n",
|
||
" \n",
|
||
" Exterior1st_WdShing \n",
|
||
" 2468 0.0 \n",
|
||
" 1269 0.0 \n",
|
||
" 2674 0.0 \n",
|
||
" 1647 0.0 \n",
|
||
" 530 0.0 \n",
|
||
" ... ... \n",
|
||
" 2710 1.0 \n",
|
||
" 1127 0.0 \n",
|
||
" 2519 0.0 \n",
|
||
" 1505 0.0 \n",
|
||
" 1603 0.0 \n",
|
||
" \n",
|
||
" [2913 rows x 37 columns],\n",
|
||
" SalePrice\n",
|
||
" 2468 0.202779\n",
|
||
" 1269 0.151507\n",
|
||
" 2674 0.202779\n",
|
||
" 1647 0.202779\n",
|
||
" 530 0.194556\n",
|
||
" ... ...\n",
|
||
" 2710 0.202779\n",
|
||
" 1127 0.311207\n",
|
||
" 2519 0.202779\n",
|
||
" 1505 0.202779\n",
|
||
" 1603 0.202779\n",
|
||
" \n",
|
||
" [2913 rows x 1 columns])"
|
||
]
|
||
},
|
||
"execution_count": 23,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"X, y"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"metadata": {
|
||
"id": "wiiNfRQRgR1G"
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"# X, y = df_final.loc[:, df_final.columns != 'SalePrice'], df_final[['SalePrice']]"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"metadata": {
|
||
"id": "gMCC4I4bgjf2"
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"X_train, X_test, y_train, y_test = train_test_split(X, y)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"metadata": {
|
||
"colab": {
|
||
"base_uri": "https://localhost:8080/"
|
||
},
|
||
"id": "o5k0PNG_pMGY",
|
||
"outputId": "df0cd3cb-be60-4c92-8148-ffa013e2dec9"
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"((2330, 37), (583, 37), (2330, 1), (583, 1))"
|
||
]
|
||
},
|
||
"execution_count": 26,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"X_train.shape, X_test.shape, y_train.shape, y_test.shape"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"id": "egogzbyuca1N"
|
||
},
|
||
"source": [
|
||
"# Model Building"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"metadata": {
|
||
"id": "AaESDSGxccOn"
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"def init_params(n_features):\n",
|
||
" W = np.zeros((n_features, 1))\n",
|
||
" # W = np.random.randn(n_features, 1) * 0.01\n",
|
||
" b = 0\n",
|
||
" return W, b\n",
|
||
"\n",
|
||
"def compute(W, b, X):\n",
|
||
" return np.dot(X, W)+b\n",
|
||
"\n",
|
||
"def loss(y_true, y_pred):\n",
|
||
"\n",
|
||
" # return np.mean((y_true - y_pred) ** 3)\n",
|
||
" # return np.abs(y_true - y_pred)\n",
|
||
" return np.mean((y_true - y_pred) ** 2)\n",
|
||
"\n",
|
||
"def update_params(W, b, learning_rate, dw, db):\n",
|
||
" W = W - learning_rate * dw\n",
|
||
" b = b - learning_rate * db\n",
|
||
" return W, b\n",
|
||
"\n",
|
||
"def train(X, y, learning_rate, epochs):\n",
|
||
" W, b = init_params(X.shape[1])\n",
|
||
" for i in range(epochs):\n",
|
||
" y_pred = compute(W, b, X)\n",
|
||
" loss_value = loss(y, y_pred)\n",
|
||
" val=np.dot(X.T, (y_pred - y))\n",
|
||
" dw = 2 * (val) / X.shape[0]\n",
|
||
" db = 2 * np.sum(y_pred - y) / X.shape[0]\n",
|
||
" #MAE\n",
|
||
" # dw = np.dot(X.T, np.sign(y_pred - y)) / X.shape[0]\n",
|
||
" # db = np.mean(np.sign(y_pred - y))/X.shape[0]\n",
|
||
"\n",
|
||
" W, b = update_params(W, b, learning_rate, dw, db)\n",
|
||
" if i % 100 == 0:\n",
|
||
" print(f\"Epoch {i}, Loss: {loss_value}\")\n",
|
||
" return W, b\n",
|
||
"\n",
|
||
"def predict(X, W, b):\n",
|
||
" return compute(W, b, X)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"metadata": {
|
||
"colab": {
|
||
"base_uri": "https://localhost:8080/"
|
||
},
|
||
"collapsed": true,
|
||
"id": "_noV0GqEung6",
|
||
"jupyter": {
|
||
"outputs_hidden": true
|
||
},
|
||
"outputId": "101cc185-75f9-472a-e721-75b6228f0a1e"
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Epoch 0, Loss: 0.013475994850334714\n",
|
||
"Epoch 100, Loss: 0.010112863902498263\n",
|
||
"Epoch 200, Loss: 0.0077710043254110425\n",
|
||
"Epoch 300, Loss: 0.006124139651526763\n",
|
||
"Epoch 400, Loss: 0.004952419738792096\n",
|
||
"Epoch 500, Loss: 0.004107425447527552\n",
|
||
"Epoch 600, Loss: 0.00348871533029027\n",
|
||
"Epoch 700, Loss: 0.0030281034489645126\n",
|
||
"Epoch 800, Loss: 0.0026791161540046697\n",
|
||
"Epoch 900, Loss: 0.002409918587932048\n",
|
||
"Epoch 1000, Loss: 0.00219856615978934\n",
|
||
"Epoch 1100, Loss: 0.0020298142591249884\n",
|
||
"Epoch 1200, Loss: 0.001892972633088114\n",
|
||
"Epoch 1300, Loss: 0.001780460386887536\n",
|
||
"Epoch 1400, Loss: 0.0016868311087060443\n",
|
||
"Epoch 1500, Loss: 0.0016081136627608367\n",
|
||
"Epoch 1600, Loss: 0.0015413651255459615\n",
|
||
"Epoch 1700, Loss: 0.0014843664553348648\n",
|
||
"Epoch 1800, Loss: 0.001435414338462741\n",
|
||
"Epoch 1900, Loss: 0.001393177967440798\n",
|
||
"Epoch 2000, Loss: 0.0013565997664611684\n",
|
||
"Epoch 2100, Loss: 0.0013248259573537863\n",
|
||
"Epoch 2200, Loss: 0.001297157470558068\n",
|
||
"Epoch 2300, Loss: 0.0012730147991938858\n",
|
||
"Epoch 2400, Loss: 0.0012519124707982042\n",
|
||
"Epoch 2500, Loss: 0.0012334402062217607\n",
|
||
"Epoch 2600, Loss: 0.0012172487732475903\n",
|
||
"Epoch 2700, Loss: 0.0012030391742015342\n",
|
||
"Epoch 2800, Loss: 0.0011905542329937924\n",
|
||
"Epoch 2900, Loss: 0.001179571935209004\n",
|
||
"Epoch 3000, Loss: 0.0011699000703183258\n",
|
||
"Epoch 3100, Loss: 0.0011613718581660176\n",
|
||
"Epoch 3200, Loss: 0.0011538423329357215\n",
|
||
"Epoch 3300, Loss: 0.0011471853204830548\n",
|
||
"Epoch 3400, Loss: 0.0011412908884005691\n",
|
||
"Epoch 3500, Loss: 0.0011360631786213778\n",
|
||
"Epoch 3600, Loss: 0.0011314185539164387\n",
|
||
"Epoch 3700, Loss: 0.0011272840050934913\n",
|
||
"Epoch 3800, Loss: 0.0011235957769516957\n",
|
||
"Epoch 3900, Loss: 0.0011202981793648865\n",
|
||
"Epoch 4000, Loss: 0.001117342556127892\n",
|
||
"Epoch 4100, Loss: 0.0011146863889989725\n",
|
||
"Epoch 4200, Loss: 0.001112292518115407\n",
|
||
"Epoch 4300, Loss: 0.0011101284629309617\n",
|
||
"Epoch 4400, Loss: 0.0011081658302209546\n",
|
||
"Epoch 4500, Loss: 0.0011063797976618168\n",
|
||
"Epoch 4600, Loss: 0.001104748663117037\n",
|
||
"Epoch 4700, Loss: 0.0011032534511223272\n",
|
||
"Epoch 4800, Loss: 0.0011018775692126983\n",
|
||
"Epoch 4900, Loss: 0.0011006065077128553\n",
|
||
"Epoch 5000, Loss: 0.0010994275774502873\n",
|
||
"Epoch 5100, Loss: 0.0010983296805711037\n",
|
||
"Epoch 5200, Loss: 0.001097303110260924\n",
|
||
"Epoch 5300, Loss: 0.0010963393757118238\n",
|
||
"Epoch 5400, Loss: 0.0010954310491437887\n",
|
||
"Epoch 5500, Loss: 0.0010945716320954711\n",
|
||
"Epoch 5600, Loss: 0.001093755438552666\n",
|
||
"Epoch 5700, Loss: 0.0010929774927910686\n",
|
||
"Epoch 5800, Loss: 0.0010922334400785187\n",
|
||
"Epoch 5900, Loss: 0.0010915194686163434\n",
|
||
"Epoch 6000, Loss: 0.0010908322413039778\n",
|
||
"Epoch 6100, Loss: 0.001090168836089712\n",
|
||
"Epoch 6200, Loss: 0.0010895266938263691\n",
|
||
"Epoch 6300, Loss: 0.0010889035726870718\n",
|
||
"Epoch 6400, Loss: 0.00108829750831525\n",
|
||
"Epoch 6500, Loss: 0.0010877067789871327\n",
|
||
"Epoch 6600, Loss: 0.0010871298751558573\n",
|
||
"Epoch 6700, Loss: 0.0010865654728257634\n",
|
||
"Epoch 6800, Loss: 0.0010860124102749114\n",
|
||
"Epoch 6900, Loss: 0.0010854696677045073\n",
|
||
"Epoch 7000, Loss: 0.001084936349446968\n",
|
||
"Epoch 7100, Loss: 0.0010844116684107412\n",
|
||
"Epoch 7200, Loss: 0.0010838949324804728\n",
|
||
"Epoch 7300, Loss: 0.001083385532626564\n",
|
||
"Epoch 7400, Loss: 0.0010828829325090917\n",
|
||
"Epoch 7500, Loss: 0.0010823866593881464\n",
|
||
"Epoch 7600, Loss: 0.001081896296176271\n",
|
||
"Epoch 7700, Loss: 0.001081411474489376\n",
|
||
"Epoch 7800, Loss: 0.0010809318685705742\n",
|
||
"Epoch 7900, Loss: 0.001080457189977157\n",
|
||
"Epoch 8000, Loss: 0.001079987182934783\n",
|
||
"Epoch 8100, Loss: 0.001079521620274965\n",
|
||
"Epoch 8200, Loss: 0.0010790602998825545\n",
|
||
"Epoch 8300, Loss: 0.0010786030415890929\n",
|
||
"Epoch 8400, Loss: 0.001078149684455985\n",
|
||
"Epoch 8500, Loss: 0.0010777000843985223\n",
|
||
"Epoch 8600, Loss: 0.001077254112107883\n",
|
||
"Epoch 8700, Loss: 0.0010768116512336967\n",
|
||
"Epoch 8800, Loss: 0.0010763725967944066\n",
|
||
"Epoch 8900, Loss: 0.0010759368537868273\n",
|
||
"Epoch 9000, Loss: 0.0010755043359698515\n",
|
||
"Epoch 9100, Loss: 0.0010750749648004532\n",
|
||
"Epoch 9200, Loss: 0.0010746486685028333\n",
|
||
"Epoch 9300, Loss: 0.0010742253812540017\n",
|
||
"Epoch 9400, Loss: 0.0010738050424711667\n",
|
||
"Epoch 9500, Loss: 0.0010733875961881495\n",
|
||
"Epoch 9600, Loss: 0.0010729729905096495\n",
|
||
"Epoch 9700, Loss: 0.0010725611771335807\n",
|
||
"Epoch 9800, Loss: 0.0010721521109329397\n",
|
||
"Epoch 9900, Loss: 0.0010717457495897328\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"W_, b_ = train(X_train.values, y_train.values, 0.0001, 10000)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"metadata": {
|
||
"id": "13I1Nl0ousyP"
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"vals = predict(X_test.values, W_, b_)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"metadata": {
|
||
"colab": {
|
||
"base_uri": "https://localhost:8080/"
|
||
},
|
||
"id": "-5KLnykg2N4u",
|
||
"outputId": "4c128c3b-1115-411f-db09-230cfc6344cd"
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"615394293499.5585"
|
||
]
|
||
},
|
||
"execution_count": 30,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"reg_vals = vals * (label_max - label_min) + label_min\n",
|
||
"y_reg_test = y_test * (label_max - label_min) + label_min\n",
|
||
"\n",
|
||
"loss_value = loss(y_reg_test.values, reg_vals)/len(reg_vals)\n",
|
||
"loss_value"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"id": "K2UP9ZdZ5jDQ"
|
||
},
|
||
"source": [
|
||
"### The above number makes no sense. But the below one does. Why?\n",
|
||
"What is the practical meaning of loss?"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"metadata": {
|
||
"colab": {
|
||
"base_uri": "https://localhost:8080/"
|
||
},
|
||
"id": "MDOOkrmZ2OWx",
|
||
"outputId": "4c9d775f-f526-4711-f850-8c3fbe78dd72"
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"32554.313600997815"
|
||
]
|
||
},
|
||
"execution_count": 31,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"difference = np.sum(abs(y_reg_test.values - reg_vals))/len(reg_vals)\n",
|
||
"difference"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"metadata": {
|
||
"id": "2BIaJ4oN2Q78"
|
||
},
|
||
"outputs": [],
|
||
"source": []
|
||
}
|
||
],
|
||
"metadata": {
|
||
"colab": {
|
||
"provenance": []
|
||
},
|
||
"kernelspec": {
|
||
"display_name": "ai511",
|
||
"language": "python",
|
||
"name": "ai511"
|
||
},
|
||
"language_info": {
|
||
"codemirror_mode": {
|
||
"name": "ipython",
|
||
"version": 3
|
||
},
|
||
"file_extension": ".py",
|
||
"mimetype": "text/x-python",
|
||
"name": "python",
|
||
"nbconvert_exporter": "python",
|
||
"pygments_lexer": "ipython3",
|
||
"version": "3.11.9"
|
||
}
|
||
},
|
||
"nbformat": 4,
|
||
"nbformat_minor": 4
|
||
}
|