Skip to content

Instantly share code, notes, and snippets.

@saxenaiway
Created March 18, 2021 21:30
Show Gist options
  • Save saxenaiway/f304347cf562e16ae398d67298931c06 to your computer and use it in GitHub Desktop.
Save saxenaiway/f304347cf562e16ae398d67298931c06 to your computer and use it in GitHub Desktop.
Created on Skills Network Labs
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 7,
"id": "working-reggae",
"metadata": {},
"outputs": [],
"source": [
"# Question-1\n",
"# Importing Libraries\n",
"import pandas as pd\n",
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
"import seaborn as sns\n",
"from sklearn.pipeline import Pipeline\n",
"from sklearn.preprocessing import StandardScaler,PolynomialFeatures\n",
"from sklearn.linear_model import LinearRegression\n",
"%matplotlib inline"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "popular-typing",
"metadata": {},
"outputs": [],
"source": [
"file_name='https://s3-api.us-geo.objectstorage.softlayer.net/cf-courses-data/CognitiveClass/DA0101EN/coursera/project/kc_house_data_NaN.csv'\n",
"df=pd.read_csv(file_name)"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "aggregate-nerve",
"metadata": {},
"outputs": [
{
"data": {
"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>Unnamed: 0</th>\n",
" <th>id</th>\n",
" <th>date</th>\n",
" <th>price</th>\n",
" <th>bedrooms</th>\n",
" <th>bathrooms</th>\n",
" <th>sqft_living</th>\n",
" <th>sqft_lot</th>\n",
" <th>floors</th>\n",
" <th>waterfront</th>\n",
" <th>...</th>\n",
" <th>grade</th>\n",
" <th>sqft_above</th>\n",
" <th>sqft_basement</th>\n",
" <th>yr_built</th>\n",
" <th>yr_renovated</th>\n",
" <th>zipcode</th>\n",
" <th>lat</th>\n",
" <th>long</th>\n",
" <th>sqft_living15</th>\n",
" <th>sqft_lot15</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>0</td>\n",
" <td>7129300520</td>\n",
" <td>20141013T000000</td>\n",
" <td>221900.0</td>\n",
" <td>3.0</td>\n",
" <td>1.00</td>\n",
" <td>1180</td>\n",
" <td>5650</td>\n",
" <td>1.0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>7</td>\n",
" <td>1180</td>\n",
" <td>0</td>\n",
" <td>1955</td>\n",
" <td>0</td>\n",
" <td>98178</td>\n",
" <td>47.5112</td>\n",
" <td>-122.257</td>\n",
" <td>1340</td>\n",
" <td>5650</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>1</td>\n",
" <td>6414100192</td>\n",
" <td>20141209T000000</td>\n",
" <td>538000.0</td>\n",
" <td>3.0</td>\n",
" <td>2.25</td>\n",
" <td>2570</td>\n",
" <td>7242</td>\n",
" <td>2.0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>7</td>\n",
" <td>2170</td>\n",
" <td>400</td>\n",
" <td>1951</td>\n",
" <td>1991</td>\n",
" <td>98125</td>\n",
" <td>47.7210</td>\n",
" <td>-122.319</td>\n",
" <td>1690</td>\n",
" <td>7639</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>2</td>\n",
" <td>5631500400</td>\n",
" <td>20150225T000000</td>\n",
" <td>180000.0</td>\n",
" <td>2.0</td>\n",
" <td>1.00</td>\n",
" <td>770</td>\n",
" <td>10000</td>\n",
" <td>1.0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>6</td>\n",
" <td>770</td>\n",
" <td>0</td>\n",
" <td>1933</td>\n",
" <td>0</td>\n",
" <td>98028</td>\n",
" <td>47.7379</td>\n",
" <td>-122.233</td>\n",
" <td>2720</td>\n",
" <td>8062</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>3</td>\n",
" <td>2487200875</td>\n",
" <td>20141209T000000</td>\n",
" <td>604000.0</td>\n",
" <td>4.0</td>\n",
" <td>3.00</td>\n",
" <td>1960</td>\n",
" <td>5000</td>\n",
" <td>1.0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>7</td>\n",
" <td>1050</td>\n",
" <td>910</td>\n",
" <td>1965</td>\n",
" <td>0</td>\n",
" <td>98136</td>\n",
" <td>47.5208</td>\n",
" <td>-122.393</td>\n",
" <td>1360</td>\n",
" <td>5000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>4</td>\n",
" <td>1954400510</td>\n",
" <td>20150218T000000</td>\n",
" <td>510000.0</td>\n",
" <td>3.0</td>\n",
" <td>2.00</td>\n",
" <td>1680</td>\n",
" <td>8080</td>\n",
" <td>1.0</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>8</td>\n",
" <td>1680</td>\n",
" <td>0</td>\n",
" <td>1987</td>\n",
" <td>0</td>\n",
" <td>98074</td>\n",
" <td>47.6168</td>\n",
" <td>-122.045</td>\n",
" <td>1800</td>\n",
" <td>7503</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>5 rows × 22 columns</p>\n",
"</div>"
],
"text/plain": [
" Unnamed: 0 id date price bedrooms bathrooms \\\n",
"0 0 7129300520 20141013T000000 221900.0 3.0 1.00 \n",
"1 1 6414100192 20141209T000000 538000.0 3.0 2.25 \n",
"2 2 5631500400 20150225T000000 180000.0 2.0 1.00 \n",
"3 3 2487200875 20141209T000000 604000.0 4.0 3.00 \n",
"4 4 1954400510 20150218T000000 510000.0 3.0 2.00 \n",
"\n",
" sqft_living sqft_lot floors waterfront ... grade sqft_above \\\n",
"0 1180 5650 1.0 0 ... 7 1180 \n",
"1 2570 7242 2.0 0 ... 7 2170 \n",
"2 770 10000 1.0 0 ... 6 770 \n",
"3 1960 5000 1.0 0 ... 7 1050 \n",
"4 1680 8080 1.0 0 ... 8 1680 \n",
"\n",
" sqft_basement yr_built yr_renovated zipcode lat long \\\n",
"0 0 1955 0 98178 47.5112 -122.257 \n",
"1 400 1951 1991 98125 47.7210 -122.319 \n",
"2 0 1933 0 98028 47.7379 -122.233 \n",
"3 910 1965 0 98136 47.5208 -122.393 \n",
"4 0 1987 0 98074 47.6168 -122.045 \n",
"\n",
" sqft_living15 sqft_lot15 \n",
"0 1340 5650 \n",
"1 1690 7639 \n",
"2 2720 8062 \n",
"3 1360 5000 \n",
"4 1800 7503 \n",
"\n",
"[5 rows x 22 columns]"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.head()"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "thick-extension",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Unnamed: 0 int64\n",
"id int64\n",
"date object\n",
"price float64\n",
"bedrooms float64\n",
"bathrooms float64\n",
"sqft_living int64\n",
"sqft_lot int64\n",
"floors float64\n",
"waterfront int64\n",
"view int64\n",
"condition int64\n",
"grade int64\n",
"sqft_above int64\n",
"sqft_basement int64\n",
"yr_built int64\n",
"yr_renovated int64\n",
"zipcode int64\n",
"lat float64\n",
"long float64\n",
"sqft_living15 int64\n",
"sqft_lot15 int64\n",
"dtype: object\n"
]
}
],
"source": [
"print(df.dtypes)"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "sharp-smoke",
"metadata": {},
"outputs": [
{
"data": {
"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>Unnamed: 0</th>\n",
" <th>id</th>\n",
" <th>price</th>\n",
" <th>bedrooms</th>\n",
" <th>bathrooms</th>\n",
" <th>sqft_living</th>\n",
" <th>sqft_lot</th>\n",
" <th>floors</th>\n",
" <th>waterfront</th>\n",
" <th>view</th>\n",
" <th>...</th>\n",
" <th>grade</th>\n",
" <th>sqft_above</th>\n",
" <th>sqft_basement</th>\n",
" <th>yr_built</th>\n",
" <th>yr_renovated</th>\n",
" <th>zipcode</th>\n",
" <th>lat</th>\n",
" <th>long</th>\n",
" <th>sqft_living15</th>\n",
" <th>sqft_lot15</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>count</th>\n",
" <td>21613.00000</td>\n",
" <td>2.161300e+04</td>\n",
" <td>2.161300e+04</td>\n",
" <td>21600.000000</td>\n",
" <td>21603.000000</td>\n",
" <td>21613.000000</td>\n",
" <td>2.161300e+04</td>\n",
" <td>21613.000000</td>\n",
" <td>21613.000000</td>\n",
" <td>21613.000000</td>\n",
" <td>...</td>\n",
" <td>21613.000000</td>\n",
" <td>21613.000000</td>\n",
" <td>21613.000000</td>\n",
" <td>21613.000000</td>\n",
" <td>21613.000000</td>\n",
" <td>21613.000000</td>\n",
" <td>21613.000000</td>\n",
" <td>21613.000000</td>\n",
" <td>21613.000000</td>\n",
" <td>21613.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>mean</th>\n",
" <td>10806.00000</td>\n",
" <td>4.580302e+09</td>\n",
" <td>5.400881e+05</td>\n",
" <td>3.372870</td>\n",
" <td>2.115736</td>\n",
" <td>2079.899736</td>\n",
" <td>1.510697e+04</td>\n",
" <td>1.494309</td>\n",
" <td>0.007542</td>\n",
" <td>0.234303</td>\n",
" <td>...</td>\n",
" <td>7.656873</td>\n",
" <td>1788.390691</td>\n",
" <td>291.509045</td>\n",
" <td>1971.005136</td>\n",
" <td>84.402258</td>\n",
" <td>98077.939805</td>\n",
" <td>47.560053</td>\n",
" <td>-122.213896</td>\n",
" <td>1986.552492</td>\n",
" <td>12768.455652</td>\n",
" </tr>\n",
" <tr>\n",
" <th>std</th>\n",
" <td>6239.28002</td>\n",
" <td>2.876566e+09</td>\n",
" <td>3.671272e+05</td>\n",
" <td>0.926657</td>\n",
" <td>0.768996</td>\n",
" <td>918.440897</td>\n",
" <td>4.142051e+04</td>\n",
" <td>0.539989</td>\n",
" <td>0.086517</td>\n",
" <td>0.766318</td>\n",
" <td>...</td>\n",
" <td>1.175459</td>\n",
" <td>828.090978</td>\n",
" <td>442.575043</td>\n",
" <td>29.373411</td>\n",
" <td>401.679240</td>\n",
" <td>53.505026</td>\n",
" <td>0.138564</td>\n",
" <td>0.140828</td>\n",
" <td>685.391304</td>\n",
" <td>27304.179631</td>\n",
" </tr>\n",
" <tr>\n",
" <th>min</th>\n",
" <td>0.00000</td>\n",
" <td>1.000102e+06</td>\n",
" <td>7.500000e+04</td>\n",
" <td>1.000000</td>\n",
" <td>0.500000</td>\n",
" <td>290.000000</td>\n",
" <td>5.200000e+02</td>\n",
" <td>1.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>...</td>\n",
" <td>1.000000</td>\n",
" <td>290.000000</td>\n",
" <td>0.000000</td>\n",
" <td>1900.000000</td>\n",
" <td>0.000000</td>\n",
" <td>98001.000000</td>\n",
" <td>47.155900</td>\n",
" <td>-122.519000</td>\n",
" <td>399.000000</td>\n",
" <td>651.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25%</th>\n",
" <td>5403.00000</td>\n",
" <td>2.123049e+09</td>\n",
" <td>3.219500e+05</td>\n",
" <td>3.000000</td>\n",
" <td>1.750000</td>\n",
" <td>1427.000000</td>\n",
" <td>5.040000e+03</td>\n",
" <td>1.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>...</td>\n",
" <td>7.000000</td>\n",
" <td>1190.000000</td>\n",
" <td>0.000000</td>\n",
" <td>1951.000000</td>\n",
" <td>0.000000</td>\n",
" <td>98033.000000</td>\n",
" <td>47.471000</td>\n",
" <td>-122.328000</td>\n",
" <td>1490.000000</td>\n",
" <td>5100.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>50%</th>\n",
" <td>10806.00000</td>\n",
" <td>3.904930e+09</td>\n",
" <td>4.500000e+05</td>\n",
" <td>3.000000</td>\n",
" <td>2.250000</td>\n",
" <td>1910.000000</td>\n",
" <td>7.618000e+03</td>\n",
" <td>1.500000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>...</td>\n",
" <td>7.000000</td>\n",
" <td>1560.000000</td>\n",
" <td>0.000000</td>\n",
" <td>1975.000000</td>\n",
" <td>0.000000</td>\n",
" <td>98065.000000</td>\n",
" <td>47.571800</td>\n",
" <td>-122.230000</td>\n",
" <td>1840.000000</td>\n",
" <td>7620.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>75%</th>\n",
" <td>16209.00000</td>\n",
" <td>7.308900e+09</td>\n",
" <td>6.450000e+05</td>\n",
" <td>4.000000</td>\n",
" <td>2.500000</td>\n",
" <td>2550.000000</td>\n",
" <td>1.068800e+04</td>\n",
" <td>2.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>...</td>\n",
" <td>8.000000</td>\n",
" <td>2210.000000</td>\n",
" <td>560.000000</td>\n",
" <td>1997.000000</td>\n",
" <td>0.000000</td>\n",
" <td>98118.000000</td>\n",
" <td>47.678000</td>\n",
" <td>-122.125000</td>\n",
" <td>2360.000000</td>\n",
" <td>10083.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>max</th>\n",
" <td>21612.00000</td>\n",
" <td>9.900000e+09</td>\n",
" <td>7.700000e+06</td>\n",
" <td>33.000000</td>\n",
" <td>8.000000</td>\n",
" <td>13540.000000</td>\n",
" <td>1.651359e+06</td>\n",
" <td>3.500000</td>\n",
" <td>1.000000</td>\n",
" <td>4.000000</td>\n",
" <td>...</td>\n",
" <td>13.000000</td>\n",
" <td>9410.000000</td>\n",
" <td>4820.000000</td>\n",
" <td>2015.000000</td>\n",
" <td>2015.000000</td>\n",
" <td>98199.000000</td>\n",
" <td>47.777600</td>\n",
" <td>-121.315000</td>\n",
" <td>6210.000000</td>\n",
" <td>871200.000000</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>8 rows × 21 columns</p>\n",
"</div>"
],
"text/plain": [
" Unnamed: 0 id price bedrooms bathrooms \\\n",
"count 21613.00000 2.161300e+04 2.161300e+04 21600.000000 21603.000000 \n",
"mean 10806.00000 4.580302e+09 5.400881e+05 3.372870 2.115736 \n",
"std 6239.28002 2.876566e+09 3.671272e+05 0.926657 0.768996 \n",
"min 0.00000 1.000102e+06 7.500000e+04 1.000000 0.500000 \n",
"25% 5403.00000 2.123049e+09 3.219500e+05 3.000000 1.750000 \n",
"50% 10806.00000 3.904930e+09 4.500000e+05 3.000000 2.250000 \n",
"75% 16209.00000 7.308900e+09 6.450000e+05 4.000000 2.500000 \n",
"max 21612.00000 9.900000e+09 7.700000e+06 33.000000 8.000000 \n",
"\n",
" sqft_living sqft_lot floors waterfront view \\\n",
"count 21613.000000 2.161300e+04 21613.000000 21613.000000 21613.000000 \n",
"mean 2079.899736 1.510697e+04 1.494309 0.007542 0.234303 \n",
"std 918.440897 4.142051e+04 0.539989 0.086517 0.766318 \n",
"min 290.000000 5.200000e+02 1.000000 0.000000 0.000000 \n",
"25% 1427.000000 5.040000e+03 1.000000 0.000000 0.000000 \n",
"50% 1910.000000 7.618000e+03 1.500000 0.000000 0.000000 \n",
"75% 2550.000000 1.068800e+04 2.000000 0.000000 0.000000 \n",
"max 13540.000000 1.651359e+06 3.500000 1.000000 4.000000 \n",
"\n",
" ... grade sqft_above sqft_basement yr_built \\\n",
"count ... 21613.000000 21613.000000 21613.000000 21613.000000 \n",
"mean ... 7.656873 1788.390691 291.509045 1971.005136 \n",
"std ... 1.175459 828.090978 442.575043 29.373411 \n",
"min ... 1.000000 290.000000 0.000000 1900.000000 \n",
"25% ... 7.000000 1190.000000 0.000000 1951.000000 \n",
"50% ... 7.000000 1560.000000 0.000000 1975.000000 \n",
"75% ... 8.000000 2210.000000 560.000000 1997.000000 \n",
"max ... 13.000000 9410.000000 4820.000000 2015.000000 \n",
"\n",
" yr_renovated zipcode lat long sqft_living15 \\\n",
"count 21613.000000 21613.000000 21613.000000 21613.000000 21613.000000 \n",
"mean 84.402258 98077.939805 47.560053 -122.213896 1986.552492 \n",
"std 401.679240 53.505026 0.138564 0.140828 685.391304 \n",
"min 0.000000 98001.000000 47.155900 -122.519000 399.000000 \n",
"25% 0.000000 98033.000000 47.471000 -122.328000 1490.000000 \n",
"50% 0.000000 98065.000000 47.571800 -122.230000 1840.000000 \n",
"75% 0.000000 98118.000000 47.678000 -122.125000 2360.000000 \n",
"max 2015.000000 98199.000000 47.777600 -121.315000 6210.000000 \n",
"\n",
" sqft_lot15 \n",
"count 21613.000000 \n",
"mean 12768.455652 \n",
"std 27304.179631 \n",
"min 651.000000 \n",
"25% 5100.000000 \n",
"50% 7620.000000 \n",
"75% 10083.000000 \n",
"max 871200.000000 \n",
"\n",
"[8 rows x 21 columns]"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.describe()"
]
},
{
"cell_type": "code",
"execution_count": 12,
"id": "varied-hepatitis",
"metadata": {},
"outputs": [
{
"data": {
"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>Unnamed: 0</th>\n",
" <th>price</th>\n",
" <th>bedrooms</th>\n",
" <th>bathrooms</th>\n",
" <th>sqft_living</th>\n",
" <th>sqft_lot</th>\n",
" <th>floors</th>\n",
" <th>waterfront</th>\n",
" <th>view</th>\n",
" <th>condition</th>\n",
" <th>grade</th>\n",
" <th>sqft_above</th>\n",
" <th>sqft_basement</th>\n",
" <th>yr_built</th>\n",
" <th>yr_renovated</th>\n",
" <th>zipcode</th>\n",
" <th>lat</th>\n",
" <th>long</th>\n",
" <th>sqft_living15</th>\n",
" <th>sqft_lot15</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>count</th>\n",
" <td>21613.00000</td>\n",
" <td>2.161300e+04</td>\n",
" <td>21600.000000</td>\n",
" <td>21603.000000</td>\n",
" <td>21613.000000</td>\n",
" <td>2.161300e+04</td>\n",
" <td>21613.000000</td>\n",
" <td>21613.000000</td>\n",
" <td>21613.000000</td>\n",
" <td>21613.000000</td>\n",
" <td>21613.000000</td>\n",
" <td>21613.000000</td>\n",
" <td>21613.000000</td>\n",
" <td>21613.000000</td>\n",
" <td>21613.000000</td>\n",
" <td>21613.000000</td>\n",
" <td>21613.000000</td>\n",
" <td>21613.000000</td>\n",
" <td>21613.000000</td>\n",
" <td>21613.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>mean</th>\n",
" <td>10806.00000</td>\n",
" <td>5.400881e+05</td>\n",
" <td>3.372870</td>\n",
" <td>2.115736</td>\n",
" <td>2079.899736</td>\n",
" <td>1.510697e+04</td>\n",
" <td>1.494309</td>\n",
" <td>0.007542</td>\n",
" <td>0.234303</td>\n",
" <td>3.409430</td>\n",
" <td>7.656873</td>\n",
" <td>1788.390691</td>\n",
" <td>291.509045</td>\n",
" <td>1971.005136</td>\n",
" <td>84.402258</td>\n",
" <td>98077.939805</td>\n",
" <td>47.560053</td>\n",
" <td>-122.213896</td>\n",
" <td>1986.552492</td>\n",
" <td>12768.455652</td>\n",
" </tr>\n",
" <tr>\n",
" <th>std</th>\n",
" <td>6239.28002</td>\n",
" <td>3.671272e+05</td>\n",
" <td>0.926657</td>\n",
" <td>0.768996</td>\n",
" <td>918.440897</td>\n",
" <td>4.142051e+04</td>\n",
" <td>0.539989</td>\n",
" <td>0.086517</td>\n",
" <td>0.766318</td>\n",
" <td>0.650743</td>\n",
" <td>1.175459</td>\n",
" <td>828.090978</td>\n",
" <td>442.575043</td>\n",
" <td>29.373411</td>\n",
" <td>401.679240</td>\n",
" <td>53.505026</td>\n",
" <td>0.138564</td>\n",
" <td>0.140828</td>\n",
" <td>685.391304</td>\n",
" <td>27304.179631</td>\n",
" </tr>\n",
" <tr>\n",
" <th>min</th>\n",
" <td>0.00000</td>\n",
" <td>7.500000e+04</td>\n",
" <td>1.000000</td>\n",
" <td>0.500000</td>\n",
" <td>290.000000</td>\n",
" <td>5.200000e+02</td>\n",
" <td>1.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>1.000000</td>\n",
" <td>1.000000</td>\n",
" <td>290.000000</td>\n",
" <td>0.000000</td>\n",
" <td>1900.000000</td>\n",
" <td>0.000000</td>\n",
" <td>98001.000000</td>\n",
" <td>47.155900</td>\n",
" <td>-122.519000</td>\n",
" <td>399.000000</td>\n",
" <td>651.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25%</th>\n",
" <td>5403.00000</td>\n",
" <td>3.219500e+05</td>\n",
" <td>3.000000</td>\n",
" <td>1.750000</td>\n",
" <td>1427.000000</td>\n",
" <td>5.040000e+03</td>\n",
" <td>1.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>3.000000</td>\n",
" <td>7.000000</td>\n",
" <td>1190.000000</td>\n",
" <td>0.000000</td>\n",
" <td>1951.000000</td>\n",
" <td>0.000000</td>\n",
" <td>98033.000000</td>\n",
" <td>47.471000</td>\n",
" <td>-122.328000</td>\n",
" <td>1490.000000</td>\n",
" <td>5100.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>50%</th>\n",
" <td>10806.00000</td>\n",
" <td>4.500000e+05</td>\n",
" <td>3.000000</td>\n",
" <td>2.250000</td>\n",
" <td>1910.000000</td>\n",
" <td>7.618000e+03</td>\n",
" <td>1.500000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>3.000000</td>\n",
" <td>7.000000</td>\n",
" <td>1560.000000</td>\n",
" <td>0.000000</td>\n",
" <td>1975.000000</td>\n",
" <td>0.000000</td>\n",
" <td>98065.000000</td>\n",
" <td>47.571800</td>\n",
" <td>-122.230000</td>\n",
" <td>1840.000000</td>\n",
" <td>7620.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>75%</th>\n",
" <td>16209.00000</td>\n",
" <td>6.450000e+05</td>\n",
" <td>4.000000</td>\n",
" <td>2.500000</td>\n",
" <td>2550.000000</td>\n",
" <td>1.068800e+04</td>\n",
" <td>2.000000</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>4.000000</td>\n",
" <td>8.000000</td>\n",
" <td>2210.000000</td>\n",
" <td>560.000000</td>\n",
" <td>1997.000000</td>\n",
" <td>0.000000</td>\n",
" <td>98118.000000</td>\n",
" <td>47.678000</td>\n",
" <td>-122.125000</td>\n",
" <td>2360.000000</td>\n",
" <td>10083.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>max</th>\n",
" <td>21612.00000</td>\n",
" <td>7.700000e+06</td>\n",
" <td>33.000000</td>\n",
" <td>8.000000</td>\n",
" <td>13540.000000</td>\n",
" <td>1.651359e+06</td>\n",
" <td>3.500000</td>\n",
" <td>1.000000</td>\n",
" <td>4.000000</td>\n",
" <td>5.000000</td>\n",
" <td>13.000000</td>\n",
" <td>9410.000000</td>\n",
" <td>4820.000000</td>\n",
" <td>2015.000000</td>\n",
" <td>2015.000000</td>\n",
" <td>98199.000000</td>\n",
" <td>47.777600</td>\n",
" <td>-121.315000</td>\n",
" <td>6210.000000</td>\n",
" <td>871200.000000</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Unnamed: 0 price bedrooms bathrooms sqft_living \\\n",
"count 21613.00000 2.161300e+04 21600.000000 21603.000000 21613.000000 \n",
"mean 10806.00000 5.400881e+05 3.372870 2.115736 2079.899736 \n",
"std 6239.28002 3.671272e+05 0.926657 0.768996 918.440897 \n",
"min 0.00000 7.500000e+04 1.000000 0.500000 290.000000 \n",
"25% 5403.00000 3.219500e+05 3.000000 1.750000 1427.000000 \n",
"50% 10806.00000 4.500000e+05 3.000000 2.250000 1910.000000 \n",
"75% 16209.00000 6.450000e+05 4.000000 2.500000 2550.000000 \n",
"max 21612.00000 7.700000e+06 33.000000 8.000000 13540.000000 \n",
"\n",
" sqft_lot floors waterfront view condition \\\n",
"count 2.161300e+04 21613.000000 21613.000000 21613.000000 21613.000000 \n",
"mean 1.510697e+04 1.494309 0.007542 0.234303 3.409430 \n",
"std 4.142051e+04 0.539989 0.086517 0.766318 0.650743 \n",
"min 5.200000e+02 1.000000 0.000000 0.000000 1.000000 \n",
"25% 5.040000e+03 1.000000 0.000000 0.000000 3.000000 \n",
"50% 7.618000e+03 1.500000 0.000000 0.000000 3.000000 \n",
"75% 1.068800e+04 2.000000 0.000000 0.000000 4.000000 \n",
"max 1.651359e+06 3.500000 1.000000 4.000000 5.000000 \n",
"\n",
" grade sqft_above sqft_basement yr_built yr_renovated \\\n",
"count 21613.000000 21613.000000 21613.000000 21613.000000 21613.000000 \n",
"mean 7.656873 1788.390691 291.509045 1971.005136 84.402258 \n",
"std 1.175459 828.090978 442.575043 29.373411 401.679240 \n",
"min 1.000000 290.000000 0.000000 1900.000000 0.000000 \n",
"25% 7.000000 1190.000000 0.000000 1951.000000 0.000000 \n",
"50% 7.000000 1560.000000 0.000000 1975.000000 0.000000 \n",
"75% 8.000000 2210.000000 560.000000 1997.000000 0.000000 \n",
"max 13.000000 9410.000000 4820.000000 2015.000000 2015.000000 \n",
"\n",
" zipcode lat long sqft_living15 sqft_lot15 \n",
"count 21613.000000 21613.000000 21613.000000 21613.000000 21613.000000 \n",
"mean 98077.939805 47.560053 -122.213896 1986.552492 12768.455652 \n",
"std 53.505026 0.138564 0.140828 685.391304 27304.179631 \n",
"min 98001.000000 47.155900 -122.519000 399.000000 651.000000 \n",
"25% 98033.000000 47.471000 -122.328000 1490.000000 5100.000000 \n",
"50% 98065.000000 47.571800 -122.230000 1840.000000 7620.000000 \n",
"75% 98118.000000 47.678000 -122.125000 2360.000000 10083.000000 \n",
"max 98199.000000 47.777600 -121.315000 6210.000000 871200.000000 "
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Question-2\n",
"df = df.drop(\"id\",axis=1)\n",
"df.drop(\"Unnamed: 0\",axis=1)\n",
"df.describe()"
]
},
{
"cell_type": "code",
"execution_count": 42,
"id": "sharing-lesbian",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"number of NaN values for the column bedrooms : 0\n",
"number of NaN values for the column bathrooms : 10\n"
]
}
],
"source": [
"print(\"number of NaN values for the column bedrooms :\", df['bedrooms'].isnull().sum())\n",
"print(\"number of NaN values for the column bathrooms :\", df['bathrooms'].isnull().sum())"
]
},
{
"cell_type": "code",
"execution_count": 21,
"id": "curious-philippines",
"metadata": {},
"outputs": [],
"source": [
"mean=df['bedrooms'].mean()\n",
"df['bedrooms'].replace(np.nan,mean, inplace=True)"
]
},
{
"cell_type": "code",
"execution_count": 31,
"id": "mathematical-baltimore",
"metadata": {},
"outputs": [],
"source": [
"mean=df['bathrooms'].mean()\n",
"df['bathrooms'].replace(np.nan,mean, inplace=True)"
]
},
{
"cell_type": "code",
"execution_count": 32,
"id": "virtual-advice",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"number of NaN values for the column bedrooms : 13\n",
"number of NaN values for the column bathrooms : 0\n"
]
}
],
"source": [
"print(\"number of NaN values for the column bedrooms :\", df['bedrooms'].isnull().sum())\n",
"print(\"number of NaN values for the column bathrooms :\", df['bathrooms'].isnull().sum())"
]
},
{
"cell_type": "code",
"execution_count": 13,
"id": "center-industry",
"metadata": {},
"outputs": [
{
"data": {
"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>floors</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>1.0</th>\n",
" <td>10680</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2.0</th>\n",
" <td>8241</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1.5</th>\n",
" <td>1910</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3.0</th>\n",
" <td>613</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2.5</th>\n",
" <td>161</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3.5</th>\n",
" <td>8</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" floors\n",
"1.0 10680\n",
"2.0 8241\n",
"1.5 1910\n",
"3.0 613\n",
"2.5 161\n",
"3.5 8"
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Question-3\n",
"df['floors'].value_counts().to_frame()"
]
},
{
"cell_type": "code",
"execution_count": 14,
"id": "material-fence",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<AxesSubplot:xlabel='waterfront', ylabel='price'>"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# # Question-4\n",
"sns.boxplot(x=\"waterfront\", y=\"price\", data=df)"
]
},
{
"cell_type": "code",
"execution_count": 15,
"id": "august-passing",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(200.0, 8081250.0)"
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# Question-5\n",
"sns.regplot(x=\"sqft_above\", y=\"price\", data=df)\n",
"plt.ylim(200,)"
]
},
{
"cell_type": "code",
"execution_count": 29,
"id": "political-ceramic",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"zipcode -0.053203\n",
"long 0.021626\n",
"condition 0.036362\n",
"yr_built 0.054012\n",
"sqft_lot15 0.082447\n",
"sqft_lot 0.089661\n",
"yr_renovated 0.126434\n",
"floors 0.256794\n",
"waterfront 0.266369\n",
"lat 0.307003\n",
"bedrooms 0.308797\n",
"sqft_basement 0.323816\n",
"view 0.397293\n",
"bathrooms 0.525885\n",
"sqft_living15 0.585379\n",
"sqft_above 0.605567\n",
"grade 0.667434\n",
"sqft_living 0.702035\n",
"price 1.000000\n",
"Name: price, dtype: float64"
]
},
"execution_count": 29,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.corr()['price'].sort_values()"
]
},
{
"cell_type": "code",
"execution_count": 16,
"id": "secure-focus",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.00046769430149007363"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"X = df[['long']]\n",
"Y = df['price']\n",
"lm = LinearRegression()\n",
"lm.fit(X,Y)\n",
"lm.score(X, Y)"
]
},
{
"cell_type": "code",
"execution_count": 31,
"id": "increasing-blocking",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(200.0, 8084072.185883762)"
]
},
"execution_count": 31,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"sns.regplot(x=\"sqft_living\", y=\"price\", data=df)\n",
"plt.ylim(200,)"
]
},
{
"cell_type": "code",
"execution_count": 33,
"id": "affiliated-matrix",
"metadata": {},
"outputs": [],
"source": [
"import matplotlib.pyplot as plt\n",
"from sklearn.linear_model import LinearRegression"
]
},
{
"cell_type": "code",
"execution_count": 34,
"id": "integral-disorder",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.00046769430149007363"
]
},
"execution_count": 34,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# # Question-6\n",
"X = df[['long']]\n",
"Y = df['price']\n",
"lm = LinearRegression()\n",
"lm\n",
"lm.fit(X,Y)\n",
"lm.score(X, Y)"
]
},
{
"cell_type": "code",
"execution_count": 53,
"id": "harmful-details",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"R-square: 0.00046769430149007363\n"
]
}
],
"source": [
"# or we can use\n",
"print(\"R-square:\", lm.score(X,Y))"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "hispanic-picking",
"metadata": {},
"outputs": [],
"source": [
"# Question - 7\n",
"features =[\"floors\", \"waterfront\",\"lat\" ,\"bedrooms\" ,\"sqft_basement\" ,\"view\" ,\"bathrooms\",\"sqft_living15\",\"sqft_above\",\"grade\",\"sqft_living\"] \n",
"X = df[features]\n",
"Y = df['price']\n",
"lm.fit(X,Y)"
]
},
{
"cell_type": "code",
"execution_count": 20,
"id": "lesbian-chess",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"LinearRegression()"
]
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#lm.fit(features.df[\"price\"])\n",
"#print('The R-square is: ',lm.score(features,df[\"price\"]))\n",
"LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None,\n",
" normalize=False)"
]
},
{
"cell_type": "code",
"execution_count": 64,
"id": "hungry-treatment",
"metadata": {},
"outputs": [],
"source": [
"lm.score(X,Y)"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "separate-grave",
"metadata": {},
"outputs": [],
"source": [
"0.6576951666037504"
]
},
{
"cell_type": "code",
"execution_count": 36,
"id": "neural-permit",
"metadata": {},
"outputs": [],
"source": [
"Input=[('scale',StandardScaler()),('polynomial', PolynomialFeatures(include_bias=False)),('model',LinearRegression())]"
]
},
{
"cell_type": "code",
"execution_count": 37,
"id": "inside-reducing",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"done\n"
]
}
],
"source": [
"# Question -9 \n",
"from sklearn.model_selection import cross_val_score\n",
"from sklearn.model_selection import train_test_split\n",
"print(\"done\")"
]
},
{
"cell_type": "code",
"execution_count": 44,
"id": "bored-documentary",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"number of test samples: 3242\n",
"number of training samples: 18371\n"
]
}
],
"source": [
"features =[\"floors\", \"waterfront\",\"lat\" ,\"bedrooms\" ,\"sqft_basement\" ,\"view\" ,\"bathrooms\",\"sqft_living15\",\"sqft_above\",\"grade\",\"sqft_living\"] \n",
"X = df[features]\n",
"Y = df['price']\n",
"\n",
"x_train, x_test, y_train, y_test = train_test_split(X, Y, test_size=0.15, random_state=1)\n",
"\n",
"\n",
"print(\"number of test samples:\", x_test.shape[0])\n",
"print(\"number of training samples:\",x_train.shape[0])"
]
},
{
"cell_type": "code",
"execution_count": 38,
"id": "personalized-dynamics",
"metadata": {},
"outputs": [],
"source": [
"from sklearn.linear_model import Ridge"
]
},
{
"cell_type": "code",
"execution_count": 39,
"id": "likely-finger",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Pipeline(steps=[('scale', StandardScaler()),\n",
" ('polynomial', PolynomialFeatures(include_bias=False)),\n",
" ('model', LinearRegression())])"
]
},
"execution_count": 39,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Question - 8\n",
"pipe=Pipeline(Input)\n",
"pipe"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "actual-warrant",
"metadata": {},
"outputs": [],
"source": [
"pipe.fit(X,Y)"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "major-nothing",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "previous-spanish",
"metadata": {},
"outputs": [],
"source": [
"/opt/conda/envs/Python36/lib/python3.6/site-packages/sklearn/pipeline.py:511: DataConversionWarning: Data with input dtype int64, float64 were all converted to float64 by StandardScaler.\n",
" Xt = transform.transform(Xt)"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "speaking-scout",
"metadata": {},
"outputs": [],
"source": [
"pipe.score(X,Y)"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "governmental-stanford",
"metadata": {},
"outputs": [],
"source": [
"0.7513427797293394"
]
},
{
"cell_type": "code",
"execution_count": 78,
"id": "recognized-frequency",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"number of test samples: 3242\n",
"number of training samples: 18371\n"
]
}
],
"source": [
"# Question - 10\n",
"features =[\"floors\", \"waterfront\",\"lat\" ,\"bedrooms\" ,\"sqft_basement\" ,\"view\" ,\"bathrooms\",\"sqft_living15\",\"sqft_above\",\"grade\",\"sqft_living\"] \n",
"X = df[features]\n",
"Y = df['price']\n",
"\n",
"x_train, x_test, y_train, y_test = train_test_split(X, Y, test_size=0.15, random_state=1)\n",
"\n",
"\n",
"print(\"number of test samples:\", x_test.shape[0])\n",
"print(\"number of training samples:\",x_train.shape[0])"
]
},
{
"cell_type": "code",
"execution_count": 45,
"id": "banner-letters",
"metadata": {},
"outputs": [],
"source": [
"from sklearn.linear_model import Ridge"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "earlier-turkey",
"metadata": {},
"outputs": [],
"source": [
"RigeModel=Ridge(alpha=0.1)\n",
"RigeModel.fit(x_train, y_train)\n",
"RigeModel.score(x_test, y_test)"
]
},
{
"cell_type": "code",
"execution_count": 29,
"id": "twelve-comment",
"metadata": {},
"outputs": [],
"source": [
"0.6478759163939111"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "indian-barrier",
"metadata": {},
"outputs": [],
"source": [
"pr = PolynomialFeatures(degree=2)\n",
"x_train_pr = pr.fit_transform(x_train)\n",
"x_test_pr = pr.fit_transform(x_test)\n",
"\n",
"RigeModel=Ridge(alpha=0.1)\n",
"RigeModel.fit(x_train_pr, y_train)\n",
"RigeModel.score(x_test_pr, y_test)"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "broke-finance",
"metadata": {},
"outputs": [],
"source": [
"0.7002744268659787"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.9"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment