Skip to content

Instantly share code, notes, and snippets.

@carlosdelfino
Last active August 2, 2018 21:30
Show Gist options
  • Save carlosdelfino/ebe3d54db67756699b93246ba6dbafc4 to your computer and use it in GitHub Desktop.
Save carlosdelfino/ebe3d54db67756699b93246ba6dbafc4 to your computer and use it in GitHub Desktop.
handson-ml-scikit-tensorflow/housing.ipynb
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"metadata": {},
"cell_type": "markdown",
"source": "# Baixando arquivo de dados para estudos \n\no script abaixo faz o download dos dados em formato CSV, estão compactados, mas o script descompacta já na pasta correta."
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "import os\nimport tarfile\nfrom six.moves import urllib\n\nDOWNLOAD_ROOT = \"https://raw.githubusercontent.com/ageron/handson-ml/master/\"\nHOUSING_PATH = \"datasets/housing\"\nHOUSING_URL = DOWNLOAD_ROOT + HOUSING_PATH + \"/housing.tgz\"\n\ndef fetch_housing_data(housing_url=HOUSING_URL, housing_path=HOUSING_PATH):\n \n if not os.path.isdir(housing_path):\n os.makedirs(housing_path)\n \n tgz_path = os.path.join(housing_path, \"housing.tgz\")\n urllib.request.urlretrieve(housing_url, tgz_path)\n \n housing_tgz = tarfile.open(tgz_path)\n housing_tgz.extractall(path=housing_path)\n housing_tgz.close()",
"execution_count": 1,
"outputs": []
},
{
"metadata": {},
"cell_type": "markdown",
"source": "Agora a função `fetch_houseing_data()` deve ser chamada, para que o download e extração seja feita."
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "fetch_housing_data()\n",
"execution_count": 2,
"outputs": []
},
{
"metadata": {},
"cell_type": "markdown",
"source": "Em seguida crimaos a função que carrega os dados do arquivo csv etraido."
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "import pandas as pd\n\ndef load_housing_data(housing_path=HOUSING_PATH):\n csv_path = os.path.join(housing_path, \"housing.csv\")\n return pd.read_csv(csv_path)",
"execution_count": 4,
"outputs": []
},
{
"metadata": {},
"cell_type": "markdown",
"source": "A título de teste podemos ver o contedudo do arquivo executando o seguinte script:"
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "housing = load_housing_data()\nhousing.head()",
"execution_count": 5,
"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>longitude</th>\n <th>latitude</th>\n <th>housing_median_age</th>\n <th>total_rooms</th>\n <th>total_bedrooms</th>\n <th>population</th>\n <th>households</th>\n <th>median_income</th>\n <th>median_house_value</th>\n <th>ocean_proximity</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>-122.23</td>\n <td>37.88</td>\n <td>41.0</td>\n <td>880.0</td>\n <td>129.0</td>\n <td>322.0</td>\n <td>126.0</td>\n <td>8.3252</td>\n <td>452600.0</td>\n <td>NEAR BAY</td>\n </tr>\n <tr>\n <th>1</th>\n <td>-122.22</td>\n <td>37.86</td>\n <td>21.0</td>\n <td>7099.0</td>\n <td>1106.0</td>\n <td>2401.0</td>\n <td>1138.0</td>\n <td>8.3014</td>\n <td>358500.0</td>\n <td>NEAR BAY</td>\n </tr>\n <tr>\n <th>2</th>\n <td>-122.24</td>\n <td>37.85</td>\n <td>52.0</td>\n <td>1467.0</td>\n <td>190.0</td>\n <td>496.0</td>\n <td>177.0</td>\n <td>7.2574</td>\n <td>352100.0</td>\n <td>NEAR BAY</td>\n </tr>\n <tr>\n <th>3</th>\n <td>-122.25</td>\n <td>37.85</td>\n <td>52.0</td>\n <td>1274.0</td>\n <td>235.0</td>\n <td>558.0</td>\n <td>219.0</td>\n <td>5.6431</td>\n <td>341300.0</td>\n <td>NEAR BAY</td>\n </tr>\n <tr>\n <th>4</th>\n <td>-122.25</td>\n <td>37.85</td>\n <td>52.0</td>\n <td>1627.0</td>\n <td>280.0</td>\n <td>565.0</td>\n <td>259.0</td>\n <td>3.8462</td>\n <td>342200.0</td>\n <td>NEAR BAY</td>\n </tr>\n </tbody>\n</table>\n</div>",
"text/plain": " longitude latitude housing_median_age total_rooms total_bedrooms \\\n0 -122.23 37.88 41.0 880.0 129.0 \n1 -122.22 37.86 21.0 7099.0 1106.0 \n2 -122.24 37.85 52.0 1467.0 190.0 \n3 -122.25 37.85 52.0 1274.0 235.0 \n4 -122.25 37.85 52.0 1627.0 280.0 \n\n population households median_income median_house_value ocean_proximity \n0 322.0 126.0 8.3252 452600.0 NEAR BAY \n1 2401.0 1138.0 8.3014 358500.0 NEAR BAY \n2 496.0 177.0 7.2574 352100.0 NEAR BAY \n3 558.0 219.0 5.6431 341300.0 NEAR BAY \n4 565.0 259.0 3.8462 342200.0 NEAR BAY "
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "housing.info()",
"execution_count": 6,
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": "<class 'pandas.core.frame.DataFrame'>\nRangeIndex: 20640 entries, 0 to 20639\nData columns (total 10 columns):\nlongitude 20640 non-null float64\nlatitude 20640 non-null float64\nhousing_median_age 20640 non-null float64\ntotal_rooms 20640 non-null float64\ntotal_bedrooms 20433 non-null float64\npopulation 20640 non-null float64\nhouseholds 20640 non-null float64\nmedian_income 20640 non-null float64\nmedian_house_value 20640 non-null float64\nocean_proximity 20640 non-null object\ndtypes: float64(9), object(1)\nmemory usage: 1.6+ MB\n"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "housing['ocean_proximity'].value_counts()",
"execution_count": 8,
"outputs": [
{
"data": {
"text/plain": "<1H OCEAN 9136\nINLAND 6551\nNEAR OCEAN 2658\nNEAR BAY 2290\nISLAND 5\nName: ocean_proximity, dtype: int64"
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "housing.describe()",
"execution_count": 9,
"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>longitude</th>\n <th>latitude</th>\n <th>housing_median_age</th>\n <th>total_rooms</th>\n <th>total_bedrooms</th>\n <th>population</th>\n <th>households</th>\n <th>median_income</th>\n <th>median_house_value</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>count</th>\n <td>20640.000000</td>\n <td>20640.000000</td>\n <td>20640.000000</td>\n <td>20640.000000</td>\n <td>20433.000000</td>\n <td>20640.000000</td>\n <td>20640.000000</td>\n <td>20640.000000</td>\n <td>20640.000000</td>\n </tr>\n <tr>\n <th>mean</th>\n <td>-119.569704</td>\n <td>35.631861</td>\n <td>28.639486</td>\n <td>2635.763081</td>\n <td>537.870553</td>\n <td>1425.476744</td>\n <td>499.539680</td>\n <td>3.870671</td>\n <td>206855.816909</td>\n </tr>\n <tr>\n <th>std</th>\n <td>2.003532</td>\n <td>2.135952</td>\n <td>12.585558</td>\n <td>2181.615252</td>\n <td>421.385070</td>\n <td>1132.462122</td>\n <td>382.329753</td>\n <td>1.899822</td>\n <td>115395.615874</td>\n </tr>\n <tr>\n <th>min</th>\n <td>-124.350000</td>\n <td>32.540000</td>\n <td>1.000000</td>\n <td>2.000000</td>\n <td>1.000000</td>\n <td>3.000000</td>\n <td>1.000000</td>\n <td>0.499900</td>\n <td>14999.000000</td>\n </tr>\n <tr>\n <th>25%</th>\n <td>-121.800000</td>\n <td>33.930000</td>\n <td>18.000000</td>\n <td>1447.750000</td>\n <td>296.000000</td>\n <td>787.000000</td>\n <td>280.000000</td>\n <td>2.563400</td>\n <td>119600.000000</td>\n </tr>\n <tr>\n <th>50%</th>\n <td>-118.490000</td>\n <td>34.260000</td>\n <td>29.000000</td>\n <td>2127.000000</td>\n <td>435.000000</td>\n <td>1166.000000</td>\n <td>409.000000</td>\n <td>3.534800</td>\n <td>179700.000000</td>\n </tr>\n <tr>\n <th>75%</th>\n <td>-118.010000</td>\n <td>37.710000</td>\n <td>37.000000</td>\n <td>3148.000000</td>\n <td>647.000000</td>\n <td>1725.000000</td>\n <td>605.000000</td>\n <td>4.743250</td>\n <td>264725.000000</td>\n </tr>\n <tr>\n <th>max</th>\n <td>-114.310000</td>\n <td>41.950000</td>\n <td>52.000000</td>\n <td>39320.000000</td>\n <td>6445.000000</td>\n <td>35682.000000</td>\n <td>6082.000000</td>\n <td>15.000100</td>\n <td>500001.000000</td>\n </tr>\n </tbody>\n</table>\n</div>",
"text/plain": " longitude latitude housing_median_age total_rooms \\\ncount 20640.000000 20640.000000 20640.000000 20640.000000 \nmean -119.569704 35.631861 28.639486 2635.763081 \nstd 2.003532 2.135952 12.585558 2181.615252 \nmin -124.350000 32.540000 1.000000 2.000000 \n25% -121.800000 33.930000 18.000000 1447.750000 \n50% -118.490000 34.260000 29.000000 2127.000000 \n75% -118.010000 37.710000 37.000000 3148.000000 \nmax -114.310000 41.950000 52.000000 39320.000000 \n\n total_bedrooms population households median_income \\\ncount 20433.000000 20640.000000 20640.000000 20640.000000 \nmean 537.870553 1425.476744 499.539680 3.870671 \nstd 421.385070 1132.462122 382.329753 1.899822 \nmin 1.000000 3.000000 1.000000 0.499900 \n25% 296.000000 787.000000 280.000000 2.563400 \n50% 435.000000 1166.000000 409.000000 3.534800 \n75% 647.000000 1725.000000 605.000000 4.743250 \nmax 6445.000000 35682.000000 6082.000000 15.000100 \n\n median_house_value \ncount 20640.000000 \nmean 206855.816909 \nstd 115395.615874 \nmin 14999.000000 \n25% 119600.000000 \n50% 179700.000000 \n75% 264725.000000 \nmax 500001.000000 "
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "%matplotlib inline\nimport matplotlib.pyplot as plt\nhousing.hist(bins=50, figsize=(20,15))\nplt.show()",
"execution_count": 11,
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": "<Figure size 1440x1080 with 9 Axes>"
},
"metadata": {},
"output_type": "display_data"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "import numpy as np\n\ndef split_train_test(data, test_ratio):\n np.random.seed(47)\n shuffled_indices = np.random.permutation(len(data))\n test_set_size = int(len(data) * test_ratio)\n test_indices = shuffled_indices[:test_set_size]\n train_indices = shuffled_indices[test_set_size:]\n return data.iloc[train_indices], data.iloc[test_indices]",
"execution_count": 17,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "train_set, test_set = split_train_test(housing, 0.2)\nprint(len(train_set), \"train +\", len(test_set), \"test\")",
"execution_count": 22,
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": "16512 train + 4128 test\n"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "import hashlib\n\ndef test_set_check(identifier, test_ratio, hash):\n return hash(np.int64(identifier)).digest()[-1] < 256 * test_ratio\n\ndef split_train_test_by_id(data, test_ratio, id_column, hash=hashlib.md5):\n ids = data[id_column]\n in_test_set = ids.apply(lambda id_: test_set_check(id_, test_ratio, hash))\n return data.loc[~in_test_set], data.loc[in_test_set]",
"execution_count": 24,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "housing_with_id = housing.reset_index() # adds an `index` column\ntrain_set, test_set = split_train_test_by_id(housing_with_id, 0.2, \"index\")",
"execution_count": 25,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "train_set, test_set = split_train_test(housing_with_id, 0.2)\nprint(len(train_set), \"train +\", len(test_set), \"test\")",
"execution_count": 29,
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": "16512 train + 4128 test\n"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "housing_with_id[\"id\"] = housing[\"longitude\"] * 1000 + housing[\"latitude\"]\ntrain_set, test_set = split_train_test_by_id(housing_with_id, 0.2, \"id\")",
"execution_count": 28,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "train_set, test_set = split_train_test(housing_with_id, 0.2)\nprint(len(train_set), \"train +\", len(test_set), \"test\")",
"execution_count": 30,
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": "16512 train + 4128 test\n"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "from sklearn.model_selection import train_test_split\ntrain_set, test_set = train_test_split(housing, test_size=0.2, random_state=42)",
"execution_count": 31,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "housing[\"income_cat\"] = np.ceil(housing[\"median_income\"] / 1.5)\nhousing[\"income_cat\"].where(housing[\"income_cat\"] < 5, 5.0, inplace=True)",
"execution_count": 32,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "from sklearn.model_selection import StratifiedShuffleSplit\n\nsplit = StratifiedShuffleSplit(n_splits=1, test_size=0.2, random_state=42)\n\nfor train_index, test_index in split.split(housing, housing[\"income_cat\"]):\n strat_train_set = housing.loc[train_index]\n strat_test_set = housing.loc[test_index]",
"execution_count": 33,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "housing[\"income_cat\"].value_counts() / len(housing)",
"execution_count": 34,
"outputs": [
{
"data": {
"text/plain": "3.0 0.350581\n2.0 0.318847\n4.0 0.176308\n5.0 0.114438\n1.0 0.039826\nName: income_cat, dtype: float64"
},
"execution_count": 34,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "housing[\"income_cat\"].value_counts()",
"execution_count": 35,
"outputs": [
{
"data": {
"text/plain": "3.0 7236\n2.0 6581\n4.0 3639\n5.0 2362\n1.0 822\nName: income_cat, dtype: int64"
},
"execution_count": 35,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "for set in (strat_train_set, strat_test_set):\n set.drop([\"income_cat\"], axis=1, inplace=True)",
"execution_count": 38,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "strat_train_set.describe()",
"execution_count": 39,
"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>longitude</th>\n <th>latitude</th>\n <th>housing_median_age</th>\n <th>total_rooms</th>\n <th>total_bedrooms</th>\n <th>population</th>\n <th>households</th>\n <th>median_income</th>\n <th>median_house_value</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>count</th>\n <td>16512.000000</td>\n <td>16512.000000</td>\n <td>16512.000000</td>\n <td>16512.000000</td>\n <td>16354.000000</td>\n <td>16512.000000</td>\n <td>16512.000000</td>\n <td>16512.000000</td>\n <td>16512.000000</td>\n </tr>\n <tr>\n <th>mean</th>\n <td>-119.575834</td>\n <td>35.639577</td>\n <td>28.653101</td>\n <td>2622.728319</td>\n <td>534.973890</td>\n <td>1419.790819</td>\n <td>497.060380</td>\n <td>3.875589</td>\n <td>206990.920724</td>\n </tr>\n <tr>\n <th>std</th>\n <td>2.001860</td>\n <td>2.138058</td>\n <td>12.574726</td>\n <td>2138.458419</td>\n <td>412.699041</td>\n <td>1115.686241</td>\n <td>375.720845</td>\n <td>1.904950</td>\n <td>115703.014830</td>\n </tr>\n <tr>\n <th>min</th>\n <td>-124.350000</td>\n <td>32.540000</td>\n <td>1.000000</td>\n <td>6.000000</td>\n <td>2.000000</td>\n <td>3.000000</td>\n <td>2.000000</td>\n <td>0.499900</td>\n <td>14999.000000</td>\n </tr>\n <tr>\n <th>25%</th>\n <td>-121.800000</td>\n <td>33.940000</td>\n <td>18.000000</td>\n <td>1443.000000</td>\n <td>295.000000</td>\n <td>784.000000</td>\n <td>279.000000</td>\n <td>2.566775</td>\n <td>119800.000000</td>\n </tr>\n <tr>\n <th>50%</th>\n <td>-118.510000</td>\n <td>34.260000</td>\n <td>29.000000</td>\n <td>2119.500000</td>\n <td>433.000000</td>\n <td>1164.000000</td>\n <td>408.000000</td>\n <td>3.540900</td>\n <td>179500.000000</td>\n </tr>\n <tr>\n <th>75%</th>\n <td>-118.010000</td>\n <td>37.720000</td>\n <td>37.000000</td>\n <td>3141.000000</td>\n <td>644.000000</td>\n <td>1719.250000</td>\n <td>602.000000</td>\n <td>4.744475</td>\n <td>263900.000000</td>\n </tr>\n <tr>\n <th>max</th>\n <td>-114.310000</td>\n <td>41.950000</td>\n <td>52.000000</td>\n <td>39320.000000</td>\n <td>6210.000000</td>\n <td>35682.000000</td>\n <td>5358.000000</td>\n <td>15.000100</td>\n <td>500001.000000</td>\n </tr>\n </tbody>\n</table>\n</div>",
"text/plain": " longitude latitude housing_median_age total_rooms \\\ncount 16512.000000 16512.000000 16512.000000 16512.000000 \nmean -119.575834 35.639577 28.653101 2622.728319 \nstd 2.001860 2.138058 12.574726 2138.458419 \nmin -124.350000 32.540000 1.000000 6.000000 \n25% -121.800000 33.940000 18.000000 1443.000000 \n50% -118.510000 34.260000 29.000000 2119.500000 \n75% -118.010000 37.720000 37.000000 3141.000000 \nmax -114.310000 41.950000 52.000000 39320.000000 \n\n total_bedrooms population households median_income \\\ncount 16354.000000 16512.000000 16512.000000 16512.000000 \nmean 534.973890 1419.790819 497.060380 3.875589 \nstd 412.699041 1115.686241 375.720845 1.904950 \nmin 2.000000 3.000000 2.000000 0.499900 \n25% 295.000000 784.000000 279.000000 2.566775 \n50% 433.000000 1164.000000 408.000000 3.540900 \n75% 644.000000 1719.250000 602.000000 4.744475 \nmax 6210.000000 35682.000000 5358.000000 15.000100 \n\n median_house_value \ncount 16512.000000 \nmean 206990.920724 \nstd 115703.014830 \nmin 14999.000000 \n25% 119800.000000 \n50% 179500.000000 \n75% 263900.000000 \nmax 500001.000000 "
},
"execution_count": 39,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "strat_test_set.describe()",
"execution_count": 40,
"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>longitude</th>\n <th>latitude</th>\n <th>housing_median_age</th>\n <th>total_rooms</th>\n <th>total_bedrooms</th>\n <th>population</th>\n <th>households</th>\n <th>median_income</th>\n <th>median_house_value</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>count</th>\n <td>4128.000000</td>\n <td>4128.000000</td>\n <td>4128.000000</td>\n <td>4128.000000</td>\n <td>4079.000000</td>\n <td>4128.000000</td>\n <td>4128.00000</td>\n <td>4128.000000</td>\n <td>4128.000000</td>\n </tr>\n <tr>\n <th>mean</th>\n <td>-119.545187</td>\n <td>35.600998</td>\n <td>28.585029</td>\n <td>2687.902132</td>\n <td>549.484187</td>\n <td>1448.220446</td>\n <td>509.45688</td>\n <td>3.850998</td>\n <td>206315.401647</td>\n </tr>\n <tr>\n <th>std</th>\n <td>2.010260</td>\n <td>2.127489</td>\n <td>12.630172</td>\n <td>2345.868226</td>\n <td>454.414696</td>\n <td>1197.088364</td>\n <td>407.59254</td>\n <td>1.879270</td>\n <td>114170.048854</td>\n </tr>\n <tr>\n <th>min</th>\n <td>-124.180000</td>\n <td>32.550000</td>\n <td>1.000000</td>\n <td>2.000000</td>\n <td>1.000000</td>\n <td>5.000000</td>\n <td>1.00000</td>\n <td>0.499900</td>\n <td>14999.000000</td>\n </tr>\n <tr>\n <th>25%</th>\n <td>-121.780000</td>\n <td>33.920000</td>\n <td>18.000000</td>\n <td>1474.000000</td>\n <td>301.000000</td>\n <td>805.750000</td>\n <td>283.00000</td>\n <td>2.543000</td>\n <td>118975.000000</td>\n </tr>\n <tr>\n <th>50%</th>\n <td>-118.455000</td>\n <td>34.220000</td>\n <td>28.000000</td>\n <td>2158.500000</td>\n <td>441.000000</td>\n <td>1172.000000</td>\n <td>416.00000</td>\n <td>3.514750</td>\n <td>181300.000000</td>\n </tr>\n <tr>\n <th>75%</th>\n <td>-117.980000</td>\n <td>37.690000</td>\n <td>37.000000</td>\n <td>3171.000000</td>\n <td>653.000000</td>\n <td>1754.000000</td>\n <td>613.00000</td>\n <td>4.739700</td>\n <td>269025.000000</td>\n </tr>\n <tr>\n <th>max</th>\n <td>-114.560000</td>\n <td>41.950000</td>\n <td>52.000000</td>\n <td>32627.000000</td>\n <td>6445.000000</td>\n <td>28566.000000</td>\n <td>6082.00000</td>\n <td>15.000100</td>\n <td>500001.000000</td>\n </tr>\n </tbody>\n</table>\n</div>",
"text/plain": " longitude latitude housing_median_age total_rooms \\\ncount 4128.000000 4128.000000 4128.000000 4128.000000 \nmean -119.545187 35.600998 28.585029 2687.902132 \nstd 2.010260 2.127489 12.630172 2345.868226 \nmin -124.180000 32.550000 1.000000 2.000000 \n25% -121.780000 33.920000 18.000000 1474.000000 \n50% -118.455000 34.220000 28.000000 2158.500000 \n75% -117.980000 37.690000 37.000000 3171.000000 \nmax -114.560000 41.950000 52.000000 32627.000000 \n\n total_bedrooms population households median_income \\\ncount 4079.000000 4128.000000 4128.00000 4128.000000 \nmean 549.484187 1448.220446 509.45688 3.850998 \nstd 454.414696 1197.088364 407.59254 1.879270 \nmin 1.000000 5.000000 1.00000 0.499900 \n25% 301.000000 805.750000 283.00000 2.543000 \n50% 441.000000 1172.000000 416.00000 3.514750 \n75% 653.000000 1754.000000 613.00000 4.739700 \nmax 6445.000000 28566.000000 6082.00000 15.000100 \n\n median_house_value \ncount 4128.000000 \nmean 206315.401647 \nstd 114170.048854 \nmin 14999.000000 \n25% 118975.000000 \n50% 181300.000000 \n75% 269025.000000 \nmax 500001.000000 "
},
"execution_count": 40,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "from math import ceil\nceil(22.01)",
"execution_count": 47,
"outputs": [
{
"data": {
"text/plain": "23"
},
"execution_count": 47,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "",
"execution_count": null,
"outputs": []
}
],
"metadata": {
"kernelspec": {
"name": "python3",
"display_name": "Python 3",
"language": "python"
},
"language_info": {
"name": "python",
"version": "3.6.6",
"mimetype": "text/x-python",
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"pygments_lexer": "ipython3",
"nbconvert_exporter": "python",
"file_extension": ".py"
},
"toc": {
"nav_menu": {},
"number_sections": true,
"sideBar": true,
"skip_h1_title": false,
"base_numbering": 1,
"title_cell": "Table of Contents",
"title_sidebar": "Contents",
"toc_cell": false,
"toc_position": {},
"toc_section_display": true,
"toc_window_display": false
},
"gist": {
"id": "",
"data": {
"description": "handson-ml-scikit-tensorflow/housing.ipynb",
"public": true
}
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment