{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "**Chapter 1 – The Machine Learning landscape**\n", "\n", "_This is the code used to generate some of the figures in chapter 1._" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", " \n", " \n", "
\n", " \"Open\n", " \n", " \n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Code example 1-1" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Although Python 2.x may work, it is deprecated so we strongly recommend you use Python 3 instead." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "slideshow": { "slide_type": "-" } }, "outputs": [], "source": [ "# Python ≥3.5 is required\n", "import sys\n", "assert sys.version_info >= (3, 5)" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "# Scikit-Learn ≥0.20 is required\n", "import sklearn\n", "assert sklearn.__version__ >= \"0.20\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This function just merges the OECD's life satisfaction data and the IMF's GDP per capita data. It's a bit too long and boring and it's not specific to Machine Learning, which is why I left it out of the book." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "def prepare_country_stats(oecd_bli, gdp_per_capita):\n", " oecd_bli = oecd_bli[oecd_bli[\"INEQUALITY\"]==\"TOT\"]\n", " oecd_bli = oecd_bli.pivot(index=\"Country\", columns=\"Indicator\", values=\"Value\")\n", " gdp_per_capita.rename(columns={\"2015\": \"GDP per capita\"}, inplace=True)\n", " gdp_per_capita.set_index(\"Country\", inplace=True)\n", " full_country_stats = pd.merge(left=oecd_bli, right=gdp_per_capita,\n", " left_index=True, right_index=True)\n", " full_country_stats.sort_values(by=\"GDP per capita\", inplace=True)\n", " remove_indices = [0, 1, 6, 8, 33, 34, 35]\n", " keep_indices = list(set(range(36)) - set(remove_indices))\n", " return full_country_stats[[\"GDP per capita\", 'Life satisfaction']].iloc[keep_indices]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The code in the book expects the data files to be located in the current directory. I just tweaked it here to fetch the files in `datasets/lifesat`." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "import os\n", "datapath = os.path.join(\"datasets\", \"lifesat\", \"\")" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "# To plot pretty figures directly within Jupyter\n", "%matplotlib inline\n", "import matplotlib as mpl\n", "mpl.rc('axes', labelsize=14)\n", "mpl.rc('xtick', labelsize=12)\n", "mpl.rc('ytick', labelsize=12)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Downloading oecd_bli_2015.csv\n", "Downloading gdp_per_capita.csv\n" ] } ], "source": [ "# Download the data\n", "import urllib.request\n", "DOWNLOAD_ROOT = \"https://raw.githubusercontent.com/ageron/handson-ml2/master/\"\n", "os.makedirs(datapath, exist_ok=True)\n", "for filename in (\"oecd_bli_2015.csv\", \"gdp_per_capita.csv\"):\n", " print(\"Downloading\", filename)\n", " url = DOWNLOAD_ROOT + \"datasets/lifesat/\" + filename\n", " urllib.request.urlretrieve(url, datapath + filename)" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "image/svg+xml": [ "\r\n", "\r\n", "\r\n", " \r\n", " \r\n", " \r\n", " \r\n", " 2021-05-04T21:47:07.859581\r\n", " image/svg+xml\r\n", " \r\n", " \r\n", " Matplotlib v3.4.1, https://matplotlib.org/\r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", " \r\n", "\r\n" ], "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "[[5.96242338]]\n" ] } ], "source": [ "# Code example\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "import pandas as pd\n", "import sklearn.linear_model\n", "\n", "# Load the data\n", "oecd_bli = pd.read_csv(datapath + \"oecd_bli_2015.csv\", thousands=',')\n", "gdp_per_capita = pd.read_csv(datapath + \"gdp_per_capita.csv\",thousands=',',delimiter='\\t',\n", " encoding='latin1', na_values=\"n/a\")\n", "\n", "# Prepare the data\n", "country_stats = prepare_country_stats(oecd_bli, gdp_per_capita)\n", "X = np.c_[country_stats[\"GDP per capita\"]]\n", "y = np.c_[country_stats[\"Life satisfaction\"]]\n", "\n", "# Visualize the data\n", "country_stats.plot(kind='scatter', x=\"GDP per capita\", y='Life satisfaction')\n", "plt.show()\n", "\n", "# Select a linear model\n", "model = sklearn.linear_model.LinearRegression()\n", "\n", "# Train the model\n", "model.fit(X, y)\n", "\n", "# Make a prediction for Cyprus\n", "X_new = [[22587]] # Cyprus' GDP per capita\n", "print(model.predict(X_new)) # outputs [[ 5.96242338]]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Replacing the Linear Regression model with k-Nearest Neighbors (in this example, k = 3) regression in the previous code is as simple as replacing these two\n", "lines:\n", "\n", "```python\n", "import sklearn.linear_model\n", "model = sklearn.linear_model.LinearRegression()\n", "```\n", "\n", "with these two:\n", "\n", "```python\n", "import sklearn.neighbors\n", "model = sklearn.neighbors.KNeighborsRegressor(n_neighbors=3)\n", "```" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[5.76666667]]\n" ] } ], "source": [ "# Select a 3-Nearest Neighbors regression model\n", "import sklearn.neighbors\n", "model1 = sklearn.neighbors.KNeighborsRegressor(n_neighbors=3)\n", "\n", "# Train the model\n", "model1.fit(X,y)\n", "\n", "# Make a prediction for Cyprus\n", "print(model1.predict(X_new)) # outputs [[5.76666667]]\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Note: you can ignore the rest of this notebook, it just generates many of the figures in chapter 1." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Create a function to save the figures." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "# Where to save the figures\n", "PROJECT_ROOT_DIR = \".\"\n", "CHAPTER_ID = \"fundamentals\"\n", "IMAGES_PATH = os.path.join(PROJECT_ROOT_DIR, \"images\", CHAPTER_ID)\n", "os.makedirs(IMAGES_PATH, exist_ok=True)\n", "\n", "def save_fig(fig_id, tight_layout=True, fig_extension=\"png\", resolution=300):\n", " path = os.path.join(IMAGES_PATH, fig_id + \".\" + fig_extension)\n", " print(\"Saving figure\", fig_id)\n", " if tight_layout:\n", " plt.tight_layout()\n", " plt.savefig(path, format=fig_extension, dpi=resolution)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Make this notebook's output stable across runs:" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "np.random.seed(42)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Load and prepare Life satisfaction data" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If you want, you can get fresh data from the OECD's website.\n", "Download the CSV from http://stats.oecd.org/index.aspx?DataSetCode=BLI\n", "and save it to `datasets/lifesat/`." ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
IndicatorAir pollutionAssault rateConsultation on rule-makingDwellings without basic facilitiesEducational attainmentEmployees working very long hoursEmployment rateHomicide rateHousehold net adjusted disposable incomeHousehold net financial wealth...Long-term unemployment ratePersonal earningsQuality of support networkRooms per personSelf-reported healthStudent skillsTime devoted to leisure and personal careVoter turnoutWater qualityYears in education
Country
Australia13.02.110.51.176.014.0272.00.831588.047657.0...1.0850449.092.02.385.0512.014.4193.091.019.4
Austria27.03.47.11.083.07.6172.00.431173.049887.0...1.1945199.089.01.669.0500.014.4675.094.017.0
\n", "

2 rows × 24 columns

\n", "
" ], "text/plain": [ "Indicator Air pollution Assault rate Consultation on rule-making \\\n", "Country \n", "Australia 13.0 2.1 10.5 \n", "Austria 27.0 3.4 7.1 \n", "\n", "Indicator Dwellings without basic facilities Educational attainment \\\n", "Country \n", "Australia 1.1 76.0 \n", "Austria 1.0 83.0 \n", "\n", "Indicator Employees working very long hours Employment rate Homicide rate \\\n", "Country \n", "Australia 14.02 72.0 0.8 \n", "Austria 7.61 72.0 0.4 \n", "\n", "Indicator Household net adjusted disposable income \\\n", "Country \n", "Australia 31588.0 \n", "Austria 31173.0 \n", "\n", "Indicator Household net financial wealth ... Long-term unemployment rate \\\n", "Country ... \n", "Australia 47657.0 ... 1.08 \n", "Austria 49887.0 ... 1.19 \n", "\n", "Indicator Personal earnings Quality of support network Rooms per person \\\n", "Country \n", "Australia 50449.0 92.0 2.3 \n", "Austria 45199.0 89.0 1.6 \n", "\n", "Indicator Self-reported health Student skills \\\n", "Country \n", "Australia 85.0 512.0 \n", "Austria 69.0 500.0 \n", "\n", "Indicator Time devoted to leisure and personal care Voter turnout \\\n", "Country \n", "Australia 14.41 93.0 \n", "Austria 14.46 75.0 \n", "\n", "Indicator Water quality Years in education \n", "Country \n", "Australia 91.0 19.4 \n", "Austria 94.0 17.0 \n", "\n", "[2 rows x 24 columns]" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "oecd_bli = pd.read_csv(datapath + \"oecd_bli_2015.csv\", thousands=',')\n", "oecd_bli = oecd_bli[oecd_bli[\"INEQUALITY\"]==\"TOT\"]\n", "oecd_bli = oecd_bli.pivot(index=\"Country\", columns=\"Indicator\", values=\"Value\")\n", "oecd_bli.head(2)" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Country\n", "Australia 7.3\n", "Austria 6.9\n", "Belgium 6.9\n", "Brazil 7.0\n", "Canada 7.3\n", "Name: Life satisfaction, dtype: float64" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "oecd_bli[\"Life satisfaction\"].head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Load and prepare GDP per capita data" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Just like above, you can update the GDP per capita data if you want. Just download data from http://goo.gl/j1MSKe (=> imf.org) and save it to `datasets/lifesat/`." ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Subject DescriptorUnitsScaleCountry/Series-specific NotesGDP per capitaEstimates Start After
Country
AfghanistanGross domestic product per capita, current pricesU.S. dollarsUnitsSee notes for: Gross domestic product, curren...599.9942013.0
AlbaniaGross domestic product per capita, current pricesU.S. dollarsUnitsSee notes for: Gross domestic product, curren...3995.3832010.0
\n", "
" ], "text/plain": [ " Subject Descriptor Units \\\n", "Country \n", "Afghanistan Gross domestic product per capita, current prices U.S. dollars \n", "Albania Gross domestic product per capita, current prices U.S. dollars \n", "\n", " Scale Country/Series-specific Notes \\\n", "Country \n", "Afghanistan Units See notes for: Gross domestic product, curren... \n", "Albania Units See notes for: Gross domestic product, curren... \n", "\n", " GDP per capita Estimates Start After \n", "Country \n", "Afghanistan 599.994 2013.0 \n", "Albania 3995.383 2010.0 " ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "gdp_per_capita = pd.read_csv(datapath+\"gdp_per_capita.csv\", thousands=',', delimiter='\\t',\n", " encoding='latin1', na_values=\"n/a\")\n", "gdp_per_capita.rename(columns={\"2015\": \"GDP per capita\"}, inplace=True)\n", "gdp_per_capita.set_index(\"Country\", inplace=True)\n", "gdp_per_capita.head(2)" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Air pollutionAssault rateConsultation on rule-makingDwellings without basic facilitiesEducational attainmentEmployees working very long hoursEmployment rateHomicide rateHousehold net adjusted disposable incomeHousehold net financial wealth...Time devoted to leisure and personal careVoter turnoutWater qualityYears in educationSubject DescriptorUnitsScaleCountry/Series-specific NotesGDP per capitaEstimates Start After
Country
Brazil18.07.94.06.745.010.4167.025.511664.06844.0...14.9779.072.016.3Gross domestic product per capita, current pricesU.S. dollarsUnitsSee notes for: Gross domestic product, curren...8669.9982014.0
Mexico30.012.89.04.237.028.8361.023.413085.09056.0...13.8963.067.014.4Gross domestic product per capita, current pricesU.S. dollarsUnitsSee notes for: Gross domestic product, curren...9009.2802015.0
Russia15.03.82.515.194.00.1669.012.819292.03412.0...14.9765.056.016.0Gross domestic product per capita, current pricesU.S. dollarsUnitsSee notes for: Gross domestic product, curren...9054.9142015.0
Turkey35.05.05.512.734.040.8650.01.214095.03251.0...13.4288.062.016.4Gross domestic product per capita, current pricesU.S. dollarsUnitsSee notes for: Gross domestic product, curren...9437.3722013.0
Hungary15.03.67.94.882.03.1958.01.315442.013277.0...15.0462.077.017.6Gross domestic product per capita, current pricesU.S. dollarsUnitsSee notes for: Gross domestic product, curren...12239.8942015.0
Poland33.01.410.83.290.07.4160.00.917852.010919.0...14.2055.079.018.4Gross domestic product per capita, current pricesU.S. dollarsUnitsSee notes for: Gross domestic product, curren...12495.3342014.0
Chile46.06.92.09.457.015.4262.04.414533.017733.0...14.4149.073.016.5Gross domestic product per capita, current pricesU.S. dollarsUnitsSee notes for: Gross domestic product, curren...13340.9052014.0
Slovak Republic13.03.06.60.692.07.0260.01.217503.08663.0...14.9959.081.016.3Gross domestic product per capita, current pricesU.S. dollarsUnitsSee notes for: Gross domestic product, curren...15991.7362015.0
Czech Republic16.02.86.80.992.06.9868.00.818404.017299.0...14.9859.085.018.1Gross domestic product per capita, current pricesU.S. dollarsUnitsSee notes for: Gross domestic product, curren...17256.9182015.0
Estonia9.05.53.38.190.03.3068.04.815167.07680.0...14.9064.079.017.5Gross domestic product per capita, current pricesU.S. dollarsUnitsSee notes for: Gross domestic product, curren...17288.0832014.0
Greece27.03.76.50.768.06.1649.01.618575.014579.0...14.9164.069.018.6Gross domestic product per capita, current pricesU.S. dollarsUnitsSee notes for: Gross domestic product, curren...18064.2882014.0
Portugal18.05.76.50.938.09.6261.01.120086.031245.0...14.9558.086.017.6Gross domestic product per capita, current pricesU.S. dollarsUnitsSee notes for: Gross domestic product, curren...19121.5922014.0
Slovenia26.03.910.30.585.05.6363.00.419326.018465.0...14.6252.088.018.4Gross domestic product per capita, current pricesU.S. dollarsUnitsSee notes for: Gross domestic product, curren...20732.4822015.0
Spain24.04.27.30.155.05.8956.00.622477.024774.0...16.0669.071.017.6Gross domestic product per capita, current pricesU.S. dollarsUnitsSee notes for: Gross domestic product, curren...25864.7212014.0
Korea30.02.110.44.282.018.7264.01.119510.029091.0...14.6376.078.017.5Gross domestic product per capita, current pricesU.S. dollarsUnitsSee notes for: Gross domestic product, curren...27195.1972014.0
Italy21.04.75.01.157.03.6656.00.725166.054987.0...14.9875.071.016.8Gross domestic product per capita, current pricesU.S. dollarsUnitsSee notes for: Gross domestic product, curren...29866.5812015.0
Japan24.01.47.36.494.022.2672.00.326111.086764.0...14.9353.085.016.3Gross domestic product per capita, current pricesU.S. dollarsUnitsSee notes for: Gross domestic product, curren...32485.5452015.0
Israel21.06.42.53.785.016.0367.02.322104.052933.0...14.4868.068.015.8Gross domestic product per capita, current pricesU.S. dollarsUnitsSee notes for: Gross domestic product, curren...35343.3362015.0
New Zealand11.02.210.30.274.013.8773.01.223815.028290.0...14.8777.089.018.1Gross domestic product per capita, current pricesU.S. dollarsUnitsSee notes for: Gross domestic product, curren...37044.8912015.0
France12.05.03.50.573.08.1564.00.628799.048741.0...15.3380.082.016.4Gross domestic product per capita, current pricesU.S. dollarsUnitsSee notes for: Gross domestic product, curren...37675.0062015.0
Belgium21.06.64.52.072.04.5762.01.128307.083876.0...15.7189.087.018.9Gross domestic product per capita, current pricesU.S. dollarsUnitsSee notes for: Gross domestic product, curren...40106.6322014.0
Germany16.03.64.50.186.05.2573.00.531252.050394.0...15.3172.095.018.2Gross domestic product per capita, current pricesU.S. dollarsUnitsSee notes for: Gross domestic product, curren...40996.5112014.0
Finland15.02.49.00.685.03.5869.01.427927.018761.0...14.8969.094.019.7Gross domestic product per capita, current pricesU.S. dollarsUnitsSee notes for: Gross domestic product, curren...41973.9882014.0
Canada15.01.310.50.289.03.9472.01.529365.067913.0...14.2561.091.017.2Gross domestic product per capita, current pricesU.S. dollarsUnitsSee notes for: Gross domestic product, curren...43331.9612015.0
Netherlands30.04.96.10.073.00.4574.00.927888.077961.0...15.4475.092.018.7Gross domestic product per capita, current pricesU.S. dollarsUnitsSee notes for: Gross domestic product, curren...43603.1152014.0
Austria27.03.47.11.083.07.6172.00.431173.049887.0...14.4675.094.017.0Gross domestic product per capita, current pricesU.S. dollarsUnitsSee notes for: Gross domestic product, curren...43724.0312015.0
United Kingdom13.01.911.50.278.012.7071.00.327029.060778.0...14.8366.088.016.4Gross domestic product per capita, current pricesU.S. dollarsUnitsSee notes for: Gross domestic product, curren...43770.6882015.0
Sweden10.05.110.90.088.01.1374.00.729185.060328.0...15.1186.095.019.3Gross domestic product per capita, current pricesU.S. dollarsUnitsSee notes for: Gross domestic product, curren...49866.2662014.0
Iceland18.02.75.10.471.012.2582.00.323965.043045.0...14.6181.097.019.8Gross domestic product per capita, current pricesU.S. dollarsUnitsSee notes for: Gross domestic product, curren...50854.5832014.0
Australia13.02.110.51.176.014.0272.00.831588.047657.0...14.4193.091.019.4Gross domestic product per capita, current pricesU.S. dollarsUnitsSee notes for: Gross domestic product, curren...50961.8652014.0
Ireland13.02.69.00.275.04.2060.00.823917.031580.0...15.1970.080.017.6Gross domestic product per capita, current pricesU.S. dollarsUnitsSee notes for: Gross domestic product, curren...51350.7442014.0
Denmark15.03.97.00.978.02.0373.00.326491.044488.0...16.0688.094.019.4Gross domestic product per capita, current pricesU.S. dollarsUnitsSee notes for: Gross domestic product, curren...52114.1652015.0
United States18.01.58.30.189.011.3067.05.241355.0145769.0...14.2768.085.017.2Gross domestic product per capita, current pricesU.S. dollarsUnitsSee notes for: Gross domestic product, curren...55805.2042015.0
Norway16.03.38.10.382.02.8275.00.633492.08797.0...15.5678.094.017.9Gross domestic product per capita, current pricesU.S. dollarsUnitsSee notes for: Gross domestic product, curren...74822.1062015.0
Switzerland20.04.28.40.086.06.7280.00.533491.0108823.0...14.9849.096.017.3Gross domestic product per capita, current pricesU.S. dollarsUnitsSee notes for: Gross domestic product, curren...80675.3082015.0
Luxembourg12.04.36.00.178.03.4766.00.438951.061765.0...15.1291.086.015.1Gross domestic product per capita, current pricesU.S. dollarsUnitsSee notes for: Gross domestic product, curren...101994.0932014.0
\n", "

36 rows × 30 columns

\n", "
" ], "text/plain": [ " Air pollution Assault rate Consultation on rule-making \\\n", "Country \n", "Brazil 18.0 7.9 4.0 \n", "Mexico 30.0 12.8 9.0 \n", "Russia 15.0 3.8 2.5 \n", "Turkey 35.0 5.0 5.5 \n", "Hungary 15.0 3.6 7.9 \n", "Poland 33.0 1.4 10.8 \n", "Chile 46.0 6.9 2.0 \n", "Slovak Republic 13.0 3.0 6.6 \n", "Czech Republic 16.0 2.8 6.8 \n", "Estonia 9.0 5.5 3.3 \n", "Greece 27.0 3.7 6.5 \n", "Portugal 18.0 5.7 6.5 \n", "Slovenia 26.0 3.9 10.3 \n", "Spain 24.0 4.2 7.3 \n", "Korea 30.0 2.1 10.4 \n", "Italy 21.0 4.7 5.0 \n", "Japan 24.0 1.4 7.3 \n", "Israel 21.0 6.4 2.5 \n", "New Zealand 11.0 2.2 10.3 \n", "France 12.0 5.0 3.5 \n", "Belgium 21.0 6.6 4.5 \n", "Germany 16.0 3.6 4.5 \n", "Finland 15.0 2.4 9.0 \n", "Canada 15.0 1.3 10.5 \n", "Netherlands 30.0 4.9 6.1 \n", "Austria 27.0 3.4 7.1 \n", "United Kingdom 13.0 1.9 11.5 \n", "Sweden 10.0 5.1 10.9 \n", "Iceland 18.0 2.7 5.1 \n", "Australia 13.0 2.1 10.5 \n", "Ireland 13.0 2.6 9.0 \n", "Denmark 15.0 3.9 7.0 \n", "United States 18.0 1.5 8.3 \n", "Norway 16.0 3.3 8.1 \n", "Switzerland 20.0 4.2 8.4 \n", "Luxembourg 12.0 4.3 6.0 \n", "\n", " Dwellings without basic facilities Educational attainment \\\n", "Country \n", "Brazil 6.7 45.0 \n", "Mexico 4.2 37.0 \n", "Russia 15.1 94.0 \n", "Turkey 12.7 34.0 \n", "Hungary 4.8 82.0 \n", "Poland 3.2 90.0 \n", "Chile 9.4 57.0 \n", "Slovak Republic 0.6 92.0 \n", "Czech Republic 0.9 92.0 \n", "Estonia 8.1 90.0 \n", "Greece 0.7 68.0 \n", "Portugal 0.9 38.0 \n", "Slovenia 0.5 85.0 \n", "Spain 0.1 55.0 \n", "Korea 4.2 82.0 \n", "Italy 1.1 57.0 \n", "Japan 6.4 94.0 \n", "Israel 3.7 85.0 \n", "New Zealand 0.2 74.0 \n", "France 0.5 73.0 \n", "Belgium 2.0 72.0 \n", "Germany 0.1 86.0 \n", "Finland 0.6 85.0 \n", "Canada 0.2 89.0 \n", "Netherlands 0.0 73.0 \n", "Austria 1.0 83.0 \n", "United Kingdom 0.2 78.0 \n", "Sweden 0.0 88.0 \n", "Iceland 0.4 71.0 \n", "Australia 1.1 76.0 \n", "Ireland 0.2 75.0 \n", "Denmark 0.9 78.0 \n", "United States 0.1 89.0 \n", "Norway 0.3 82.0 \n", "Switzerland 0.0 86.0 \n", "Luxembourg 0.1 78.0 \n", "\n", " Employees working very long hours Employment rate \\\n", "Country \n", "Brazil 10.41 67.0 \n", "Mexico 28.83 61.0 \n", "Russia 0.16 69.0 \n", "Turkey 40.86 50.0 \n", "Hungary 3.19 58.0 \n", "Poland 7.41 60.0 \n", "Chile 15.42 62.0 \n", "Slovak Republic 7.02 60.0 \n", "Czech Republic 6.98 68.0 \n", "Estonia 3.30 68.0 \n", "Greece 6.16 49.0 \n", "Portugal 9.62 61.0 \n", "Slovenia 5.63 63.0 \n", "Spain 5.89 56.0 \n", "Korea 18.72 64.0 \n", "Italy 3.66 56.0 \n", "Japan 22.26 72.0 \n", "Israel 16.03 67.0 \n", "New Zealand 13.87 73.0 \n", "France 8.15 64.0 \n", "Belgium 4.57 62.0 \n", "Germany 5.25 73.0 \n", "Finland 3.58 69.0 \n", "Canada 3.94 72.0 \n", "Netherlands 0.45 74.0 \n", "Austria 7.61 72.0 \n", "United Kingdom 12.70 71.0 \n", "Sweden 1.13 74.0 \n", "Iceland 12.25 82.0 \n", "Australia 14.02 72.0 \n", "Ireland 4.20 60.0 \n", "Denmark 2.03 73.0 \n", "United States 11.30 67.0 \n", "Norway 2.82 75.0 \n", "Switzerland 6.72 80.0 \n", "Luxembourg 3.47 66.0 \n", "\n", " Homicide rate Household net adjusted disposable income \\\n", "Country \n", "Brazil 25.5 11664.0 \n", "Mexico 23.4 13085.0 \n", "Russia 12.8 19292.0 \n", "Turkey 1.2 14095.0 \n", "Hungary 1.3 15442.0 \n", "Poland 0.9 17852.0 \n", "Chile 4.4 14533.0 \n", "Slovak Republic 1.2 17503.0 \n", "Czech Republic 0.8 18404.0 \n", "Estonia 4.8 15167.0 \n", "Greece 1.6 18575.0 \n", "Portugal 1.1 20086.0 \n", "Slovenia 0.4 19326.0 \n", "Spain 0.6 22477.0 \n", "Korea 1.1 19510.0 \n", "Italy 0.7 25166.0 \n", "Japan 0.3 26111.0 \n", "Israel 2.3 22104.0 \n", "New Zealand 1.2 23815.0 \n", "France 0.6 28799.0 \n", "Belgium 1.1 28307.0 \n", "Germany 0.5 31252.0 \n", "Finland 1.4 27927.0 \n", "Canada 1.5 29365.0 \n", "Netherlands 0.9 27888.0 \n", "Austria 0.4 31173.0 \n", "United Kingdom 0.3 27029.0 \n", "Sweden 0.7 29185.0 \n", "Iceland 0.3 23965.0 \n", "Australia 0.8 31588.0 \n", "Ireland 0.8 23917.0 \n", "Denmark 0.3 26491.0 \n", "United States 5.2 41355.0 \n", "Norway 0.6 33492.0 \n", "Switzerland 0.5 33491.0 \n", "Luxembourg 0.4 38951.0 \n", "\n", " Household net financial wealth ... \\\n", "Country ... \n", "Brazil 6844.0 ... \n", "Mexico 9056.0 ... \n", "Russia 3412.0 ... \n", "Turkey 3251.0 ... \n", "Hungary 13277.0 ... \n", "Poland 10919.0 ... \n", "Chile 17733.0 ... \n", "Slovak Republic 8663.0 ... \n", "Czech Republic 17299.0 ... \n", "Estonia 7680.0 ... \n", "Greece 14579.0 ... \n", "Portugal 31245.0 ... \n", "Slovenia 18465.0 ... \n", "Spain 24774.0 ... \n", "Korea 29091.0 ... \n", "Italy 54987.0 ... \n", "Japan 86764.0 ... \n", "Israel 52933.0 ... \n", "New Zealand 28290.0 ... \n", "France 48741.0 ... \n", "Belgium 83876.0 ... \n", "Germany 50394.0 ... \n", "Finland 18761.0 ... \n", "Canada 67913.0 ... \n", "Netherlands 77961.0 ... \n", "Austria 49887.0 ... \n", "United Kingdom 60778.0 ... \n", "Sweden 60328.0 ... \n", "Iceland 43045.0 ... \n", "Australia 47657.0 ... \n", "Ireland 31580.0 ... \n", "Denmark 44488.0 ... \n", "United States 145769.0 ... \n", "Norway 8797.0 ... \n", "Switzerland 108823.0 ... \n", "Luxembourg 61765.0 ... \n", "\n", " Time devoted to leisure and personal care Voter turnout \\\n", "Country \n", "Brazil 14.97 79.0 \n", "Mexico 13.89 63.0 \n", "Russia 14.97 65.0 \n", "Turkey 13.42 88.0 \n", "Hungary 15.04 62.0 \n", "Poland 14.20 55.0 \n", "Chile 14.41 49.0 \n", "Slovak Republic 14.99 59.0 \n", "Czech Republic 14.98 59.0 \n", "Estonia 14.90 64.0 \n", "Greece 14.91 64.0 \n", "Portugal 14.95 58.0 \n", "Slovenia 14.62 52.0 \n", "Spain 16.06 69.0 \n", "Korea 14.63 76.0 \n", "Italy 14.98 75.0 \n", "Japan 14.93 53.0 \n", "Israel 14.48 68.0 \n", "New Zealand 14.87 77.0 \n", "France 15.33 80.0 \n", "Belgium 15.71 89.0 \n", "Germany 15.31 72.0 \n", "Finland 14.89 69.0 \n", "Canada 14.25 61.0 \n", "Netherlands 15.44 75.0 \n", "Austria 14.46 75.0 \n", "United Kingdom 14.83 66.0 \n", "Sweden 15.11 86.0 \n", "Iceland 14.61 81.0 \n", "Australia 14.41 93.0 \n", "Ireland 15.19 70.0 \n", "Denmark 16.06 88.0 \n", "United States 14.27 68.0 \n", "Norway 15.56 78.0 \n", "Switzerland 14.98 49.0 \n", "Luxembourg 15.12 91.0 \n", "\n", " Water quality Years in education \\\n", "Country \n", "Brazil 72.0 16.3 \n", "Mexico 67.0 14.4 \n", "Russia 56.0 16.0 \n", "Turkey 62.0 16.4 \n", "Hungary 77.0 17.6 \n", "Poland 79.0 18.4 \n", "Chile 73.0 16.5 \n", "Slovak Republic 81.0 16.3 \n", "Czech Republic 85.0 18.1 \n", "Estonia 79.0 17.5 \n", "Greece 69.0 18.6 \n", "Portugal 86.0 17.6 \n", "Slovenia 88.0 18.4 \n", "Spain 71.0 17.6 \n", "Korea 78.0 17.5 \n", "Italy 71.0 16.8 \n", "Japan 85.0 16.3 \n", "Israel 68.0 15.8 \n", "New Zealand 89.0 18.1 \n", "France 82.0 16.4 \n", "Belgium 87.0 18.9 \n", "Germany 95.0 18.2 \n", "Finland 94.0 19.7 \n", "Canada 91.0 17.2 \n", "Netherlands 92.0 18.7 \n", "Austria 94.0 17.0 \n", "United Kingdom 88.0 16.4 \n", "Sweden 95.0 19.3 \n", "Iceland 97.0 19.8 \n", "Australia 91.0 19.4 \n", "Ireland 80.0 17.6 \n", "Denmark 94.0 19.4 \n", "United States 85.0 17.2 \n", "Norway 94.0 17.9 \n", "Switzerland 96.0 17.3 \n", "Luxembourg 86.0 15.1 \n", "\n", " Subject Descriptor \\\n", "Country \n", "Brazil Gross domestic product per capita, current prices \n", "Mexico Gross domestic product per capita, current prices \n", "Russia Gross domestic product per capita, current prices \n", "Turkey Gross domestic product per capita, current prices \n", "Hungary Gross domestic product per capita, current prices \n", "Poland Gross domestic product per capita, current prices \n", "Chile Gross domestic product per capita, current prices \n", "Slovak Republic Gross domestic product per capita, current prices \n", "Czech Republic Gross domestic product per capita, current prices \n", "Estonia Gross domestic product per capita, current prices \n", "Greece Gross domestic product per capita, current prices \n", "Portugal Gross domestic product per capita, current prices \n", "Slovenia Gross domestic product per capita, current prices \n", "Spain Gross domestic product per capita, current prices \n", "Korea Gross domestic product per capita, current prices \n", "Italy Gross domestic product per capita, current prices \n", "Japan Gross domestic product per capita, current prices \n", "Israel Gross domestic product per capita, current prices \n", "New Zealand Gross domestic product per capita, current prices \n", "France Gross domestic product per capita, current prices \n", "Belgium Gross domestic product per capita, current prices \n", "Germany Gross domestic product per capita, current prices \n", "Finland Gross domestic product per capita, current prices \n", "Canada Gross domestic product per capita, current prices \n", "Netherlands Gross domestic product per capita, current prices \n", "Austria Gross domestic product per capita, current prices \n", "United Kingdom Gross domestic product per capita, current prices \n", "Sweden Gross domestic product per capita, current prices \n", "Iceland Gross domestic product per capita, current prices \n", "Australia Gross domestic product per capita, current prices \n", "Ireland Gross domestic product per capita, current prices \n", "Denmark Gross domestic product per capita, current prices \n", "United States Gross domestic product per capita, current prices \n", "Norway Gross domestic product per capita, current prices \n", "Switzerland Gross domestic product per capita, current prices \n", "Luxembourg Gross domestic product per capita, current prices \n", "\n", " Units Scale \\\n", "Country \n", "Brazil U.S. dollars Units \n", "Mexico U.S. dollars Units \n", "Russia U.S. dollars Units \n", "Turkey U.S. dollars Units \n", "Hungary U.S. dollars Units \n", "Poland U.S. dollars Units \n", "Chile U.S. dollars Units \n", "Slovak Republic U.S. dollars Units \n", "Czech Republic U.S. dollars Units \n", "Estonia U.S. dollars Units \n", "Greece U.S. dollars Units \n", "Portugal U.S. dollars Units \n", "Slovenia U.S. dollars Units \n", "Spain U.S. dollars Units \n", "Korea U.S. dollars Units \n", "Italy U.S. dollars Units \n", "Japan U.S. dollars Units \n", "Israel U.S. dollars Units \n", "New Zealand U.S. dollars Units \n", "France U.S. dollars Units \n", "Belgium U.S. dollars Units \n", "Germany U.S. dollars Units \n", "Finland U.S. dollars Units \n", "Canada U.S. dollars Units \n", "Netherlands U.S. dollars Units \n", "Austria U.S. dollars Units \n", "United Kingdom U.S. dollars Units \n", "Sweden U.S. dollars Units \n", "Iceland U.S. dollars Units \n", "Australia U.S. dollars Units \n", "Ireland U.S. dollars Units \n", "Denmark U.S. dollars Units \n", "United States U.S. dollars Units \n", "Norway U.S. dollars Units \n", "Switzerland U.S. dollars Units \n", "Luxembourg U.S. dollars Units \n", "\n", " Country/Series-specific Notes \\\n", "Country \n", "Brazil See notes for: Gross domestic product, curren... \n", "Mexico See notes for: Gross domestic product, curren... \n", "Russia See notes for: Gross domestic product, curren... \n", "Turkey See notes for: Gross domestic product, curren... \n", "Hungary See notes for: Gross domestic product, curren... \n", "Poland See notes for: Gross domestic product, curren... \n", "Chile See notes for: Gross domestic product, curren... \n", "Slovak Republic See notes for: Gross domestic product, curren... \n", "Czech Republic See notes for: Gross domestic product, curren... \n", "Estonia See notes for: Gross domestic product, curren... \n", "Greece See notes for: Gross domestic product, curren... \n", "Portugal See notes for: Gross domestic product, curren... \n", "Slovenia See notes for: Gross domestic product, curren... \n", "Spain See notes for: Gross domestic product, curren... \n", "Korea See notes for: Gross domestic product, curren... \n", "Italy See notes for: Gross domestic product, curren... \n", "Japan See notes for: Gross domestic product, curren... \n", "Israel See notes for: Gross domestic product, curren... \n", "New Zealand See notes for: Gross domestic product, curren... \n", "France See notes for: Gross domestic product, curren... \n", "Belgium See notes for: Gross domestic product, curren... \n", "Germany See notes for: Gross domestic product, curren... \n", "Finland See notes for: Gross domestic product, curren... \n", "Canada See notes for: Gross domestic product, curren... \n", "Netherlands See notes for: Gross domestic product, curren... \n", "Austria See notes for: Gross domestic product, curren... \n", "United Kingdom See notes for: Gross domestic product, curren... \n", "Sweden See notes for: Gross domestic product, curren... \n", "Iceland See notes for: Gross domestic product, curren... \n", "Australia See notes for: Gross domestic product, curren... \n", "Ireland See notes for: Gross domestic product, curren... \n", "Denmark See notes for: Gross domestic product, curren... \n", "United States See notes for: Gross domestic product, curren... \n", "Norway See notes for: Gross domestic product, curren... \n", "Switzerland See notes for: Gross domestic product, curren... \n", "Luxembourg See notes for: Gross domestic product, curren... \n", "\n", " GDP per capita Estimates Start After \n", "Country \n", "Brazil 8669.998 2014.0 \n", "Mexico 9009.280 2015.0 \n", "Russia 9054.914 2015.0 \n", "Turkey 9437.372 2013.0 \n", "Hungary 12239.894 2015.0 \n", "Poland 12495.334 2014.0 \n", "Chile 13340.905 2014.0 \n", "Slovak Republic 15991.736 2015.0 \n", "Czech Republic 17256.918 2015.0 \n", "Estonia 17288.083 2014.0 \n", "Greece 18064.288 2014.0 \n", "Portugal 19121.592 2014.0 \n", "Slovenia 20732.482 2015.0 \n", "Spain 25864.721 2014.0 \n", "Korea 27195.197 2014.0 \n", "Italy 29866.581 2015.0 \n", "Japan 32485.545 2015.0 \n", "Israel 35343.336 2015.0 \n", "New Zealand 37044.891 2015.0 \n", "France 37675.006 2015.0 \n", "Belgium 40106.632 2014.0 \n", "Germany 40996.511 2014.0 \n", "Finland 41973.988 2014.0 \n", "Canada 43331.961 2015.0 \n", "Netherlands 43603.115 2014.0 \n", "Austria 43724.031 2015.0 \n", "United Kingdom 43770.688 2015.0 \n", "Sweden 49866.266 2014.0 \n", "Iceland 50854.583 2014.0 \n", "Australia 50961.865 2014.0 \n", "Ireland 51350.744 2014.0 \n", "Denmark 52114.165 2015.0 \n", "United States 55805.204 2015.0 \n", "Norway 74822.106 2015.0 \n", "Switzerland 80675.308 2015.0 \n", "Luxembourg 101994.093 2014.0 \n", "\n", "[36 rows x 30 columns]" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "full_country_stats = pd.merge(left=oecd_bli, right=gdp_per_capita, left_index=True, right_index=True)\n", "full_country_stats.sort_values(by=\"GDP per capita\", inplace=True)\n", "full_country_stats" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "GDP per capita 55805.204\n", "Life satisfaction 7.200\n", "Name: United States, dtype: float64" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "full_country_stats[[\"GDP per capita\", 'Life satisfaction']].loc[\"United States\"]" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [], "source": [ "remove_indices = [0, 1, 6, 8, 33, 34, 35]\n", "keep_indices = list(set(range(36)) - set(remove_indices))\n", "\n", "sample_data = full_country_stats[[\"GDP per capita\", 'Life satisfaction']].iloc[keep_indices]\n", "missing_data = full_country_stats[[\"GDP per capita\", 'Life satisfaction']].iloc[remove_indices]" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Saving figure money_happy_scatterplot\n" ] }, { "data": { "image/png": "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8J9ofcBv4mKAEZHDgM9wMcAvikiFUQvVQVVHWRJGcRo2bAi4gtO1FVVl3rx5dOvWjZSUaL+aic3evXs5+eSTg5ZhJCjRfss7A3O9x1cC36hqJnA9cJsfwozSHH/88Um15XZVWbJkCQDDhg0LWElsKCx0tatqQzaf4Q/RGuAGOLcAuGiFt73HCwCrthEnfvGLXwBlR0bUBt5//30A+vXrF7CS2LBx40YAOnXqFLM+p06diohUOwpm2rRpLF++vMqvGz9+fPiH8cUXX+TVV1+t1vhGcaI1wKuBK0TkaOB8IBRh3QqXuWbEge7d3XrAsmXLAlbiD0888QQQ3110/aRFixb85je/iekPyqRJk+jVqxevv/56tV5fkQEumfBTHrfffjvXX399tcY3ihOtAf4d8CSu/u/ciBKU/YGvfNBllEFoJpXsBUjKYt++feTk5HDNNTFZ100IMjIyeOaZZ2jXrl1M+svNzWX27NmMGzcubIA//fRTBgwYEL5m2LBhjB8/HnChfB06dKBz587cc889zJkzh7fffpt7772XLl26sGbNGvr27cuDDz5Inz59eP7553nnnXc47bTT6Nq1K+eddx4//vhjKR2RVcr+/ve/06NHD7Kyshg4cGA4RteIjqjigFV1ioi0AVoDiyJOzQRqd15sAhGKJf3oo48YMmRIwGpiy3/+8x8ABvu4912yM23aNC644AJOPPFEmjdvzoIFC8q9dseOHUydOpWVK1ciIvz00080bdqUSy+9lAEDBnDllVeGr/3pp5+YNWsW4FKn586di4jwf//3fzz11FMVZl5eccUVDB06FICHHnqIcePGMXz48HKvN4oT9VKzqv6oql+palFE239VtfamZCUYociAf/7znwEriT2TJ08GoE+fPgErSVwmTZrEoEGDABg0aFA4ZbssmjRpQv369RkyZAhTpkwJR9GURWhtAZzfun///nTq1InRo0dX6u5aunQpvXv3plOnTkycOLHWusf8onbE+tQhzj//fAoLC2tdYP/f/vY3UlNTycjIqPziOsj27dv5+OOPGTJkCO3atWP06NG88cYbpKamFqsVEqqUl5aWxpdffsnAgQPDM+fyaNSoUfjx8OHDGTZsGEuWLOFvf/tbpZX3brzxRl544QWWLFnCyJEja32lvlhjBjjJuPjiiwFXF7W2sGXLFuDg7sdGaSZPnsz1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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "sample_data.plot(kind='scatter', x=\"GDP per capita\", y='Life satisfaction', figsize=(5,3))\n", "plt.axis([0, 60000, 0, 10])\n", "position_text = {\n", " \"Hungary\": (5000, 1),\n", " \"Korea\": (18000, 1.7),\n", " \"France\": (29000, 2.4),\n", " \"Australia\": (40000, 3.0),\n", " \"United States\": (52000, 3.8),\n", "}\n", "for country, pos_text in position_text.items():\n", " pos_data_x, pos_data_y = sample_data.loc[country]\n", " country = \"U.S.\" if country == \"United States\" else country\n", " plt.annotate(country, xy=(pos_data_x, pos_data_y), xytext=pos_text,\n", " arrowprops=dict(facecolor='black', width=0.5, shrink=0.1, headwidth=5))\n", " plt.plot(pos_data_x, pos_data_y, \"ro\")\n", "plt.xlabel(\"GDP per capita (USD)\")\n", "save_fig('money_happy_scatterplot')\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [], "source": [ "sample_data.to_csv(os.path.join(\"datasets\", \"lifesat\", \"lifesat.csv\"))" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
GDP per capitaLife satisfaction
Country
Hungary12239.8944.9
Korea27195.1975.8
France37675.0066.5
Australia50961.8657.3
United States55805.2047.2
\n", "
" ], "text/plain": [ " GDP per capita Life satisfaction\n", "Country \n", "Hungary 12239.894 4.9\n", "Korea 27195.197 5.8\n", "France 37675.006 6.5\n", "Australia 50961.865 7.3\n", "United States 55805.204 7.2" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sample_data.loc[list(position_text.keys())]" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Saving figure tweaking_model_params_plot\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "import numpy as np\n", "\n", "sample_data.plot(kind='scatter', x=\"GDP per capita\", y='Life satisfaction', figsize=(5,3))\n", "plt.xlabel(\"GDP per capita (USD)\")\n", "plt.axis([0, 60000, 0, 10])\n", "X=np.linspace(0, 60000, 1000)\n", "plt.plot(X, 2*X/100000, \"r\")\n", "plt.text(40000, 2.7, r\"$\\theta_0 = 0$\", fontsize=14, color=\"r\")\n", "plt.text(40000, 1.8, r\"$\\theta_1 = 2 \\times 10^{-5}$\", fontsize=14, color=\"r\")\n", "plt.plot(X, 8 - 5*X/100000, \"g\")\n", "plt.text(5000, 9.1, r\"$\\theta_0 = 8$\", fontsize=14, color=\"g\")\n", "plt.text(5000, 8.2, r\"$\\theta_1 = -5 \\times 10^{-5}$\", fontsize=14, color=\"g\")\n", "plt.plot(X, 4 + 5*X/100000, \"b\")\n", "plt.text(5000, 3.5, r\"$\\theta_0 = 4$\", fontsize=14, color=\"b\")\n", "plt.text(5000, 2.6, r\"$\\theta_1 = 5 \\times 10^{-5}$\", fontsize=14, color=\"b\")\n", "save_fig('tweaking_model_params_plot')\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(4.853052800266436, 4.911544589158484e-05)" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from sklearn import linear_model\n", "lin1 = linear_model.LinearRegression()\n", "Xsample = np.c_[sample_data[\"GDP per capita\"]]\n", "ysample = np.c_[sample_data[\"Life satisfaction\"]]\n", "lin1.fit(Xsample, ysample)\n", "t0, t1 = lin1.intercept_[0], lin1.coef_[0][0]\n", "t0, t1" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Saving figure best_fit_model_plot\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "sample_data.plot(kind='scatter', x=\"GDP per capita\", y='Life satisfaction', figsize=(5,3))\n", "plt.xlabel(\"GDP per capita (USD)\")\n", "plt.axis([0, 60000, 0, 10])\n", "X=np.linspace(0, 60000, 1000)\n", "plt.plot(X, t0 + t1*X, \"b\")\n", "plt.text(5000, 3.1, r\"$\\theta_0 = 4.85$\", fontsize=14, color=\"b\")\n", "plt.text(5000, 2.2, r\"$\\theta_1 = 4.91 \\times 10^{-5}$\", fontsize=14, color=\"b\")\n", "save_fig('best_fit_model_plot')\n", "plt.show()\n" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "22587.49\n" ] }, { "data": { "text/plain": [ "5.96244744318815" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cyprus_gdp_per_capita = gdp_per_capita.loc[\"Cyprus\"][\"GDP per capita\"]\n", "print(cyprus_gdp_per_capita)\n", "cyprus_predicted_life_satisfaction = lin1.predict([[cyprus_gdp_per_capita]])[0][0]\n", "cyprus_predicted_life_satisfaction" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Saving figure cyprus_prediction_plot\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "sample_data.plot(kind='scatter', x=\"GDP per capita\", y='Life satisfaction', figsize=(5,3), s=1)\n", "plt.xlabel(\"GDP per capita (USD)\")\n", "X=np.linspace(0, 60000, 1000)\n", "plt.plot(X, t0 + t1*X, \"b\")\n", "plt.axis([0, 60000, 0, 10])\n", "plt.text(5000, 7.5, r\"$\\theta_0 = 4.85$\", fontsize=14, color=\"b\")\n", "plt.text(5000, 6.6, r\"$\\theta_1 = 4.91 \\times 10^{-5}$\", fontsize=14, color=\"b\")\n", "plt.plot([cyprus_gdp_per_capita, cyprus_gdp_per_capita], [0, cyprus_predicted_life_satisfaction], \"r--\")\n", "plt.text(25000, 5.0, r\"Prediction = 5.96\", fontsize=14, color=\"b\")\n", "plt.plot(cyprus_gdp_per_capita, cyprus_predicted_life_satisfaction, \"ro\")\n", "save_fig('cyprus_prediction_plot')\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
GDP per capitaLife satisfaction
Country
Portugal19121.5925.1
Slovenia20732.4825.7
Spain25864.7216.5
\n", "
" ], "text/plain": [ " GDP per capita Life satisfaction\n", "Country \n", "Portugal 19121.592 5.1\n", "Slovenia 20732.482 5.7\n", "Spain 25864.721 6.5" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sample_data[7:10]" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "5.766666666666667" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(5.1+5.7+6.5)/3" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [], "source": [ "backup = oecd_bli, gdp_per_capita\n", "\n", "def prepare_country_stats(oecd_bli, gdp_per_capita):\n", " oecd_bli = oecd_bli[oecd_bli[\"INEQUALITY\"]==\"TOT\"]\n", " oecd_bli = oecd_bli.pivot(index=\"Country\", columns=\"Indicator\", values=\"Value\")\n", " gdp_per_capita.rename(columns={\"2015\": \"GDP per capita\"}, inplace=True)\n", " gdp_per_capita.set_index(\"Country\", inplace=True)\n", " full_country_stats = pd.merge(left=oecd_bli, right=gdp_per_capita,\n", " left_index=True, right_index=True)\n", " full_country_stats.sort_values(by=\"GDP per capita\", inplace=True)\n", " remove_indices = [0, 1, 6, 8, 33, 34, 35]\n", " keep_indices = list(set(range(36)) - set(remove_indices))\n", " return full_country_stats[[\"GDP per capita\", 'Life satisfaction']].iloc[keep_indices]" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "[[5.96242338]]\n" ] } ], "source": [ "# Code example\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "import pandas as pd\n", "import sklearn.linear_model\n", "\n", "# Load the data\n", "oecd_bli = pd.read_csv(datapath + \"oecd_bli_2015.csv\", thousands=',')\n", "gdp_per_capita = pd.read_csv(datapath + \"gdp_per_capita.csv\",thousands=',',delimiter='\\t',\n", " encoding='latin1', na_values=\"n/a\")\n", "\n", "# Prepare the data\n", "country_stats = prepare_country_stats(oecd_bli, gdp_per_capita)\n", "X = np.c_[country_stats[\"GDP per capita\"]]\n", "y = np.c_[country_stats[\"Life satisfaction\"]]\n", "\n", "# Visualize the data\n", "country_stats.plot(kind='scatter', x=\"GDP per capita\", y='Life satisfaction')\n", "plt.show()\n", "\n", "# Select a linear model\n", "model = sklearn.linear_model.LinearRegression()\n", "\n", "# Train the model\n", "model.fit(X, y)\n", "\n", "# Make a prediction for Cyprus\n", "X_new = [[22587]] # Cyprus' GDP per capita\n", "print(model.predict(X_new)) # outputs [[ 5.96242338]]" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [], "source": [ "oecd_bli, gdp_per_capita = backup" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
GDP per capitaLife satisfaction
Country
Brazil8669.9987.0
Mexico9009.2806.7
Chile13340.9056.7
Czech Republic17256.9186.5
Norway74822.1067.4
Switzerland80675.3087.5
Luxembourg101994.0936.9
\n", "
" ], "text/plain": [ " GDP per capita Life satisfaction\n", "Country \n", "Brazil 8669.998 7.0\n", "Mexico 9009.280 6.7\n", "Chile 13340.905 6.7\n", "Czech Republic 17256.918 6.5\n", "Norway 74822.106 7.4\n", "Switzerland 80675.308 7.5\n", "Luxembourg 101994.093 6.9" ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ "missing_data" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [], "source": [ "position_text2 = {\n", " \"Brazil\": (1000, 9.0),\n", " \"Mexico\": (11000, 9.0),\n", " \"Chile\": (25000, 9.0),\n", " \"Czech Republic\": (35000, 9.0),\n", " \"Norway\": (60000, 3),\n", " \"Switzerland\": (72000, 3.0),\n", " \"Luxembourg\": (90000, 3.0),\n", "}" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Saving figure representative_training_data_scatterplot\n" ] }, { "data": { "image/png": "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CP755x9uueUWAL788kuCgoLIyMggLS2N+vXr29/j0qVLee211zhx4gQ9evSgR48eLF++nNatW9O6dWuaNGlCvXr1ANixYwfdunWjXbt29O3bl5MnTwLQvXt3/vvf/9KtWzdeffXVXLG98847dOjQgejoaAYMGGBPokaOHMn999/PVVddRf369e21NFprJkyYQPPmzenXrx+nT592aVldrO7du2NbGDo2Nta+ivqsWbMYNcqsVb1nzx5atmxJSkoKBw8e5D//+Q/t2rWjS5cu7N+/HzDve9y4cfTo0YP69evz448/MmrUKJo1a8bIkSNz3fOhhx6ibdu29OrVizNnzHidXbt20bFjR6Kioujfvz/x8fGFxjdv3jwGDhzIDTfcQJ8+fUhJSeG2224jKiqKQYMGceWVV+LVC15rrZ16YGpr2gA+DvuuBJo6ew1XP9q1a6eFEKIkBQcH68TERB0ZGakTEhL0jBkz9NSpU7XWWl9//fV63rx5Wmut33vvPX3TTTdprbUeMWKE7tevn87KytJaaz127Fj99ddf6z179uj27dvr0aNHa621btiwoU5KStLnz5/XqampWmutDxw4oG1/29atW2e/ZkJCgq5bt67OzMx06ftLSkrS0dHRulGjRnrcuHF63bp1OjMzU9etW1drrfVDDz2k27dvrzdu3KjXrVunBw8ebH+PS5Ys0VprHRkZqc+cOXPBtQcOHKhnz56tMzIydKdOnfTp06e11lp/8skn+s4779Raa92tWzc9btw4+2umTp2qZ8yYobXWOjY21r7/iSee0K+99pr93rfeeqvOzs7Wv/32m27QoIHWWuvPPvtM9+7dW2dlZenjx4/rihUr2mN0l+Dg4Av2devWTW/btk1rrfWZM2d0ZGSk1lrr7Oxs3aVLF/3555/rdu3a6Y0bN2qtte7Zs6c+cOCA1lrrLVu26B49emitzfseNGiQtlgsetmyZbpChQr6119/1dnZ2bpt27b6l19+0VprDeiFCxdqrbV++umn9b333qu11rpVq1Z63bp1Wmutp0yZoh944IFC4/vggw90rVq1dFxcnNZa6xkzZugxY8ZorbXes2eP9vX1tb/Ok4DtOp8cwdlRVGitTwGn8uwruqFWCCFKudDQUO644w5ee+21XMsibN68mc8//xwwtS2PPPKI/djAgQPx9fUFzKrL69evJzIy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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "sample_data.plot(kind='scatter', x=\"GDP per capita\", y='Life satisfaction', figsize=(8,3))\n", "plt.axis([0, 110000, 0, 10])\n", "\n", "for country, pos_text in position_text2.items():\n", " pos_data_x, pos_data_y = missing_data.loc[country]\n", " plt.annotate(country, xy=(pos_data_x, pos_data_y), xytext=pos_text,\n", " arrowprops=dict(facecolor='black', width=0.5, shrink=0.1, headwidth=5))\n", " plt.plot(pos_data_x, pos_data_y, \"rs\")\n", "\n", "X=np.linspace(0, 110000, 1000)\n", "plt.plot(X, t0 + t1*X, \"b:\")\n", "\n", "lin_reg_full = linear_model.LinearRegression()\n", "Xfull = np.c_[full_country_stats[\"GDP per capita\"]]\n", "yfull = np.c_[full_country_stats[\"Life satisfaction\"]]\n", "lin_reg_full.fit(Xfull, yfull)\n", "\n", "t0full, t1full = lin_reg_full.intercept_[0], lin_reg_full.coef_[0][0]\n", "X = np.linspace(0, 110000, 1000)\n", "plt.plot(X, t0full + t1full * X, \"k\")\n", "plt.xlabel(\"GDP per capita (USD)\")\n", "\n", "save_fig('representative_training_data_scatterplot')\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Saving figure overfitting_model_plot\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "full_country_stats.plot(kind='scatter', x=\"GDP per capita\", y='Life satisfaction', figsize=(8,3))\n", "plt.axis([0, 110000, 0, 10])\n", "\n", "from sklearn import preprocessing\n", "from sklearn import pipeline\n", "\n", "poly = preprocessing.PolynomialFeatures(degree=30, include_bias=False)\n", "scaler = preprocessing.StandardScaler()\n", "lin_reg2 = linear_model.LinearRegression()\n", "\n", "pipeline_reg = pipeline.Pipeline([('poly', poly), ('scal', scaler), ('lin', lin_reg2)])\n", "pipeline_reg.fit(Xfull, yfull)\n", "curve = pipeline_reg.predict(X[:, np.newaxis])\n", "plt.plot(X, curve)\n", "plt.xlabel(\"GDP per capita (USD)\")\n", "save_fig('overfitting_model_plot')\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Country\n", "New Zealand 7.3\n", "Sweden 7.2\n", "Norway 7.4\n", "Switzerland 7.5\n", "Name: Life satisfaction, dtype: float64" ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "source": [ "full_country_stats.loc[[c for c in full_country_stats.index if \"W\" in c.upper()]][\"Life satisfaction\"]" ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Subject DescriptorUnitsScaleCountry/Series-specific NotesGDP per capitaEstimates Start After
Country
BotswanaGross domestic product per capita, current pricesU.S. dollarsUnitsSee notes for: Gross domestic product, curren...6040.9572008.0
KuwaitGross domestic product per capita, current pricesU.S. dollarsUnitsSee notes for: Gross domestic product, curren...29363.0272014.0
MalawiGross domestic product per capita, current pricesU.S. dollarsUnitsSee notes for: Gross domestic product, curren...354.2752011.0
New ZealandGross domestic product per capita, current pricesU.S. dollarsUnitsSee notes for: Gross domestic product, curren...37044.8912015.0
NorwayGross domestic product per capita, current pricesU.S. dollarsUnitsSee notes for: Gross domestic product, curren...74822.1062015.0
\n", "
" ], "text/plain": [ " Subject Descriptor Units \\\n", "Country \n", "Botswana Gross domestic product per capita, current prices U.S. dollars \n", "Kuwait Gross domestic product per capita, current prices U.S. dollars \n", "Malawi Gross domestic product per capita, current prices U.S. dollars \n", "New Zealand Gross domestic product per capita, current prices U.S. dollars \n", "Norway Gross domestic product per capita, current prices U.S. dollars \n", "\n", " Scale Country/Series-specific Notes \\\n", "Country \n", "Botswana Units See notes for: Gross domestic product, curren... \n", "Kuwait Units See notes for: Gross domestic product, curren... \n", "Malawi Units See notes for: Gross domestic product, curren... \n", "New Zealand Units See notes for: Gross domestic product, curren... \n", "Norway Units See notes for: Gross domestic product, curren... \n", "\n", " GDP per capita Estimates Start After \n", "Country \n", "Botswana 6040.957 2008.0 \n", "Kuwait 29363.027 2014.0 \n", "Malawi 354.275 2011.0 \n", "New Zealand 37044.891 2015.0 \n", "Norway 74822.106 2015.0 " ] }, "execution_count": 35, "metadata": {}, "output_type": "execute_result" } ], "source": [ "gdp_per_capita.loc[[c for c in gdp_per_capita.index if \"W\" in c.upper()]].head()" ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Saving figure ridge_model_plot\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(8,3))\n", "\n", "plt.xlabel(\"GDP per capita\")\n", "plt.ylabel('Life satisfaction')\n", "\n", "plt.plot(list(sample_data[\"GDP per capita\"]), list(sample_data[\"Life satisfaction\"]), \"bo\")\n", "plt.plot(list(missing_data[\"GDP per capita\"]), list(missing_data[\"Life satisfaction\"]), \"rs\")\n", "\n", "X = np.linspace(0, 110000, 1000)\n", "plt.plot(X, t0full + t1full * X, \"r--\", label=\"Linear model on all data\")\n", "plt.plot(X, t0 + t1*X, \"b:\", label=\"Linear model on partial data\")\n", "\n", "ridge = linear_model.Ridge(alpha=10**9.5)\n", "Xsample = np.c_[sample_data[\"GDP per capita\"]]\n", "ysample = np.c_[sample_data[\"Life satisfaction\"]]\n", "ridge.fit(Xsample, ysample)\n", "t0ridge, t1ridge = ridge.intercept_[0], ridge.coef_[0][0]\n", "plt.plot(X, t0ridge + t1ridge * X, \"b\", label=\"Regularized linear model on partial data\")\n", "\n", "plt.legend(loc=\"lower right\")\n", "plt.axis([0, 110000, 0, 10])\n", "plt.xlabel(\"GDP per capita (USD)\")\n", "save_fig('ridge_model_plot')\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "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.10" }, "metadata": { "interpreter": { "hash": "22b0ec00cd9e253c751e6d2619fc0bb2d18ed12980de3246690d5be49479dd65" } }, "nav_menu": {}, "toc": { "navigate_menu": true, "number_sections": true, "sideBar": true, "threshold": 6, "toc_cell": false, "toc_section_display": "block", "toc_window_display": true }, "toc_position": { "height": "616px", "left": "0px", "right": "20px", "top": "106px", "width": "213px" } }, "nbformat": 4, "nbformat_minor": 4 }