Skip to content

Instantly share code, notes, and snippets.

@yumaueno
Created July 5, 2021 14:24
Show Gist options
  • Save yumaueno/50842fbb3d2dc9e5c7824d86b5eecbd4 to your computer and use it in GitHub Desktop.
Save yumaueno/50842fbb3d2dc9e5c7824d86b5eecbd4 to your computer and use it in GitHub Desktop.
python-statistic.ipynb
Display the source blob
Display the rendered blob
Raw
{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"colab": {
"name": "python-statistic.ipynb",
"provenance": [],
"collapsed_sections": [],
"mount_file_id": "1oIriSRqrx76Y93UcO1elyOt9T_27_at7",
"authorship_tag": "ABX9TyPX0trRX0g7Z/LiboupsAum",
"include_colab_link": true
},
"kernelspec": {
"name": "python3",
"display_name": "Python 3"
},
"language_info": {
"name": "python"
}
},
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "view-in-github",
"colab_type": "text"
},
"source": [
"<a href=\"https://colab.research.google.com/gist/yumaueno/50842fbb3d2dc9e5c7824d86b5eecbd4/python-statistic.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
]
},
{
"cell_type": "code",
"metadata": {
"id": "IvMqa2fTyX-G"
},
"source": [
"import pandas as pd\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"import seaborn as sns\n",
"sns.set()"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "cIXiXUFM-IBT"
},
"source": [
"# セフォラのデータセット"
]
},
{
"cell_type": "code",
"metadata": {
"id": "0ttL9vrL7dR7"
},
"source": [
"df = pd.read_csv(\"/content/drive/MyDrive/Stabiz/Udemy/統計基礎/実践編/sephora_website_dataset.csv\")"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 666
},
"id": "WcSJRO6H-NiB",
"outputId": "256d7ab3-7c40-4834-e2bd-ccfc4b89f683"
},
"source": [
"df.head()"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"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>id</th>\n",
" <th>brand</th>\n",
" <th>category</th>\n",
" <th>name</th>\n",
" <th>size</th>\n",
" <th>rating</th>\n",
" <th>number_of_reviews</th>\n",
" <th>love</th>\n",
" <th>price</th>\n",
" <th>value_price</th>\n",
" <th>URL</th>\n",
" <th>MarketingFlags</th>\n",
" <th>MarketingFlags_content</th>\n",
" <th>options</th>\n",
" <th>details</th>\n",
" <th>how_to_use</th>\n",
" <th>ingredients</th>\n",
" <th>online_only</th>\n",
" <th>exclusive</th>\n",
" <th>limited_edition</th>\n",
" <th>limited_time_offer</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>2218774</td>\n",
" <td>Acqua Di Parma</td>\n",
" <td>Fragrance</td>\n",
" <td>Blu Mediterraneo MINIATURE Set</td>\n",
" <td>5 x 0.16oz/5mL</td>\n",
" <td>4.0</td>\n",
" <td>4</td>\n",
" <td>3002</td>\n",
" <td>66.0</td>\n",
" <td>75.0</td>\n",
" <td>https://www.sephora.com/product/blu-mediterran...</td>\n",
" <td>True</td>\n",
" <td>online only</td>\n",
" <td>no options</td>\n",
" <td>This enchanting set comes in a specially handc...</td>\n",
" <td>Suggested Usage:-Fragrance is intensified by t...</td>\n",
" <td>Arancia di Capri Eau de Toilette: Alcohol Dena...</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>2044816</td>\n",
" <td>Acqua Di Parma</td>\n",
" <td>Cologne</td>\n",
" <td>Colonia</td>\n",
" <td>0.7 oz/ 20 mL</td>\n",
" <td>4.5</td>\n",
" <td>76</td>\n",
" <td>2700</td>\n",
" <td>66.0</td>\n",
" <td>66.0</td>\n",
" <td>https://www.sephora.com/product/colonia-P16360...</td>\n",
" <td>True</td>\n",
" <td>online only</td>\n",
" <td>- 0.7 oz/ 20 mL Spray - 1.7 oz/ 50 mL Eau d...</td>\n",
" <td>An elegant timeless scent filled with a fresh-...</td>\n",
" <td>no instructions</td>\n",
" <td>unknown</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>1417567</td>\n",
" <td>Acqua Di Parma</td>\n",
" <td>Perfume</td>\n",
" <td>Arancia di Capri</td>\n",
" <td>5 oz/ 148 mL</td>\n",
" <td>4.5</td>\n",
" <td>26</td>\n",
" <td>2600</td>\n",
" <td>180.0</td>\n",
" <td>180.0</td>\n",
" <td>https://www.sephora.com/product/blu-mediterran...</td>\n",
" <td>True</td>\n",
" <td>online only</td>\n",
" <td>- 1oz/30mL Eau de Toilette - 2.5 oz/ 74 mL E...</td>\n",
" <td>Fragrance Family: Fresh Scent Type: Fresh Citr...</td>\n",
" <td>no instructions</td>\n",
" <td>Alcohol Denat.- Water- Fragrance- Limonene- Li...</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>1417617</td>\n",
" <td>Acqua Di Parma</td>\n",
" <td>Perfume</td>\n",
" <td>Mirto di Panarea</td>\n",
" <td>2.5 oz/ 74 mL</td>\n",
" <td>4.5</td>\n",
" <td>23</td>\n",
" <td>2900</td>\n",
" <td>120.0</td>\n",
" <td>120.0</td>\n",
" <td>https://www.sephora.com/product/blu-mediterran...</td>\n",
" <td>True</td>\n",
" <td>online only</td>\n",
" <td>- 1 oz/ 30 mL Eau de Toilette Spray - 2.5 oz/...</td>\n",
" <td>Panarea near Sicily is an an island suspended ...</td>\n",
" <td>no instructions</td>\n",
" <td>unknown</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>2218766</td>\n",
" <td>Acqua Di Parma</td>\n",
" <td>Fragrance</td>\n",
" <td>Colonia Miniature Set</td>\n",
" <td>5 x 0.16oz/5mL</td>\n",
" <td>3.5</td>\n",
" <td>2</td>\n",
" <td>943</td>\n",
" <td>72.0</td>\n",
" <td>80.0</td>\n",
" <td>https://www.sephora.com/product/colonia-miniat...</td>\n",
" <td>True</td>\n",
" <td>online only</td>\n",
" <td>no options</td>\n",
" <td>The Colonia Miniature Set comes in an iconic A...</td>\n",
" <td>Suggested Usage:-Fragrance is intensified by t...</td>\n",
" <td>Colonia: Alcohol Denat.- Water- Fragrance- Lim...</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" id brand ... limited_edition limited_time_offer\n",
"0 2218774 Acqua Di Parma ... 0 0\n",
"1 2044816 Acqua Di Parma ... 0 0\n",
"2 1417567 Acqua Di Parma ... 0 0\n",
"3 1417617 Acqua Di Parma ... 0 0\n",
"4 2218766 Acqua Di Parma ... 0 0\n",
"\n",
"[5 rows x 21 columns]"
]
},
"metadata": {
"tags": []
},
"execution_count": 3
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "ZW2OAaJO-b_P"
},
"source": [
"## 統計量と分布を見てみよう!"
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "gGR1FA-Y-PTj",
"outputId": "6f3ef3a0-6bbc-45b8-888a-81b1190a9478"
},
"source": [
"df[\"price\"].mean()"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"50.063237347294915"
]
},
"metadata": {
"tags": []
},
"execution_count": 4
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 520
},
"id": "xy2bSUA1-fPW",
"outputId": "8684ae2e-00f4-418b-fa10-67edf5110054"
},
"source": [
"plt.figure(figsize=(20,10))\n",
"plt.hist(df[\"price\"])\n",
"plt.show()"
],
"execution_count": null,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 1440x720 with 1 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "GYC-_2xs-kJ1",
"outputId": "3aa284c7-4eec-483b-e90d-cdb0985cf86d"
},
"source": [
"df[\"price\"].describe()"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"count 9168.000000\n",
"mean 50.063237\n",
"std 47.164989\n",
"min 2.000000\n",
"25% 24.000000\n",
"50% 35.000000\n",
"75% 59.000000\n",
"max 549.000000\n",
"Name: price, dtype: float64"
]
},
"metadata": {
"tags": []
},
"execution_count": 6
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "AUxXmBhz-xJ_",
"outputId": "0d9fe2fc-001d-4d68-b0dc-28f68fb2c6fa"
},
"source": [
"df[\"love\"].mean()"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"16278.585078534032"
]
},
"metadata": {
"tags": []
},
"execution_count": 7
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 531
},
"id": "YqS3Qgoh-4v1",
"outputId": "eda68a88-aa85-4545-9763-1577bdc1bfea"
},
"source": [
"plt.figure(figsize=(20,10))\n",
"plt.hist(df[\"love\"], bins=200)\n",
"plt.show()"
],
"execution_count": null,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 1440x720 with 1 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "diJoQ-RW-7KT",
"outputId": "5451d8e8-aeac-4821-96e6-d639055187d3"
},
"source": [
"df[\"love\"].describe()"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"count 9.168000e+03\n",
"mean 1.627859e+04\n",
"std 4.260651e+04\n",
"min 0.000000e+00\n",
"25% 1.600000e+03\n",
"50% 4.800000e+03\n",
"75% 1.380000e+04\n",
"max 1.300000e+06\n",
"Name: love, dtype: float64"
]
},
"metadata": {
"tags": []
},
"execution_count": 9
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "dM2SCYKFBJfq"
},
"source": [
"## 相関関係を見てみよう!"
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "LrCIS_Cs_Jzz",
"outputId": "63dc2914-6168-4590-b313-01150b8ec479"
},
"source": [
"df[\"number_of_reviews\"].corr(df[\"love\"])"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"0.746099021855389"
]
},
"metadata": {
"tags": []
},
"execution_count": 51
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 558
},
"id": "J-iPZ_jPBNPD",
"outputId": "36ab6dcf-019a-4fc9-fc73-c0ea03c0ec8a"
},
"source": [
"plt.figure(figsize=(20,10))\n",
"sns.scatterplot(x=df[\"number_of_reviews\"], y=df[\"love\"])\n",
"plt.show()"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x7f6e0f88d790>"
]
},
"metadata": {
"tags": []
},
"execution_count": 54
},
{
"output_type": "display_data",
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAABJYAAAJdCAYAAABgaP0+AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nOzdbXSc5Xkv+ksajV5sSxYSwtglDsFgRycxIQlnp/gk2WyIAxubOm8FarKyGnbcJM6pz6JtCk1aMC2rPWq62oYEw0l20iaLvABNCsGhvLcNlIT0BbCJIS6U4KYYEHLkQZItjaU5HywJS4xt6bE0M8/o9/uEh5F9zZprRvP8576vu6ZQKBQCAAAAAKapttwFAAAAAJBOgiUAAAAAEhEsAQAAAJCIYAkAAACARARLAAAAACQiWAIAAAAgkaoLlrq6uuKcc86JFStWxM6dO6f0M729vfFbv/Vbcd5558WaNWvii1/84ixXCQAAAJB+deUuYKade+658ZGPfCQuvfTSKf/MlVdeGb/8y78cf/7nfx4REd3d3bNVHgAAAEDVqLpg6cwzzyx6++OPPx5/9md/Fv39/RERsWnTpjj77LPjZz/7WezcuTNuuOGG8ft2dHSUpFYAAACANKu6YKmYXC4XV199dXzpS1+KE044IV566aX40Ic+FFu3bo2nn346Fi1aFJ/97GfjySefjOOPPz5+93d/N0477bRylw0AAABQ0eZEsPToo4/Gz3/+89iwYcP4bTU1NfHcc8/FyMhIPP744/Hbv/3bceaZZ8Y999wTn/zkJ+O+++4rY8UAAAAAlW9OBEuFQiFWrFgR3/jGN4r+/8WLF49voXvve98bn/70p2PPnj3R1tZWyjIBAAAAUqXqToUr5q1vfWs899xz8aMf/Wj8tm3btkWhUIg3v/nNMW/evPj3f//3iIj453/+51i4cGEcd9xx5SoXAAAAIBVqCoVCodxFzKRrr7027rnnnnj55ZfjuOOOi9bW1vj+978f27Zti8997nOxd+/eyOfz8brXvS5uvPHGqK2tje3bt8c111wTQ0ND0dTUFJ/97Gfj9NNPL/dDAQAAAKhoVRcsAQAAAFAac2IrHAAAAAAzT7AEAAAAQCKCJQAAAAASqSt3ATPtF7/oj5GR9I+Nam9fED09feUugwqiJyhGXzCZnqAYfcFkeoJi9AWT6QkiImpra+K44+Yf9v9XXbA0MlKoimApIqrmcTBz9ATF6Asm0xMUoy+YTE9QjL5gMj3B0dgKBwAAAEAigiUAAAAAEhEsAQAAAJCIYAkAAACARARLAAAAACQiWAIAAAAgEcESAAAAAIkIlgAAAABIRLAEAAAAQCKCJQAAAAASESwBAAAAkIhgCQAAAIBEBEsAAAAAJCJYAgAAACARwRIAAAAAiQiWAAAAAEhEsAQAAABAIoIlAAAAABIRLAEAAExFTURuXz52dfdHbv+BiJpyFwRQfnXlLgAAAKDi1UQ8uWtvXHfLYzGYH46GbCY2XXRGdC5dGFEod3EA5WPFEgAAwFHkBvLjoVJExGB+OK675bHIDeTLXBlAeQmWAAAAjqK3b2g8VBozmB+O3v6hMlUEUBkESwAAAEfR2twQDdnMhNsasplonV9fpooAKoNgCQAA4Chamupi00VnjIdLYzOWWuZly1wZQHkZ3g0AAHA0hYjOpQuja+Oq6O0fitb59QdDJYO7gTlOsAQAADAVhYiWpmy0NGXH/www19kKBwAAAEAigiUAAAAAEhEsAQAAAJCIYAkAAACARARLAAAAACQiWAIAAAAgEcESAAAAAIkIlgAAAABIRLAEAAAAQCKCJQAAAAASESwBAAAAkIhgCQAAAIBEBEsAAAAAJCJYAgAAACARwRIAAAAAiQiWAAAAAEhEsAQAAABAIoIlAAAAABIRLAEAAACQiGAJAAAAgEQESwAAAAAkIlgCAAAAIBHBEgAAAACJCJYAAAAASESwBAAAAEAigiUAAAAAEhEsAQAAAJCIYAkAAACARARLAAAAACQiWAIAAAAgkZIFS11dXXHOOefEihUrYufOnUXvc/3118eaNWviwgsvjA984APx4IMPlqo8AAAAAKaprlT/0Lnnnhsf+chH4tJLLz3sfU4//fS47LLLoqmpKZ566qn48Ic/HA899FA0NjaWqkwAAAAApqhkwdKZZ5551Pu8613vGv/vFStWRKFQiN7e3jjxxBNnszQAAAAAEihZsDRdt912WyxdunTaoVJ7+4JZqqj0Ojqay10CFUZPUIy+YDI9QTH6gsn0BMXoCybTExxNRQZLP/7xj+Pzn/98fPWrX532z/b09MXISGEWqiqtjo7m6O5+pdxlUEH0BMXoCybTExSjL5hMT1CMvmAyPUFERG1tzREX8VRcsPToo4/Gpz/96diyZUuccsop5S4HAAAAgMMo2alwU7Ft27a4/PLL47rrros3velN5S4HAAAAgCMoWbB07bXXxrvf/e544YUX4qMf/WisWbMmIiI2bNgQ27dvj4iIa665Jvbv3x9XXXVVrFu3LtatWxc//elPS1UiAAAAANNQUygU0j+Q6BBmLFGt9ATF6Asm0xMUoy+YTE9QjL5gMj1BxNFnLFXUVjgAAAAA0kOwBAAAAEAigiUAAAAAEhEsAQAAAJCIYAkAAACARARLAAAAACQiWAIAAAAgEcESAAAAAIkIlgAAAABIRLAEAAAAQCKCJQAAAAASESwBAAAAkIhgCQAAAIBEBEsAAAAAJCJYAgAAACARwRIAAAAAiQiWAAAAAEhEsAQAAABAIoIlAAAAABIRLAEAAACQiGAJAAAAgEQESwAAAAAkIlgCAAAAIBHBEgAAAACJCJYAAAAASESwBAAAAEAigiUAAAAAEhEsAQAAAJCIYAkAAACARARLAAAAACQiWAIAAAAgEcESAAAAAIkIlgAAAABIRLAEAAAAQCKCJQAAAAASESwBAAAAkIhgCQAAAIBEBEsAAAAAJCJYAgAAACARwRIAAAAAiQiWAAAAAEhEsAQAAABAIoIlAAAAABIRLAEAAACQiGAJAAAAgEQESwAAAAAkIlgCAAAAIBHBEgAAAACJCJYAAAAASESwBAAAAEAigiUAAAAAEhEsAQAAAJCIYAkAAACARARLAAAAACQiWAIAAAAgEcESAAAAAIkIlgAAAABIRLAEAAAAQCKCJQAAAAASESwBAAAAkIhgCQAAAIBEBEsAAAAAJCJYAgAAACARwRIAAAAAiQiWAAAAAEhEsAQAAABAIoIlAAAAABIpSbDU1dUV55xzTqxYsSJ27txZ9D7Dw8NxzTXXxHve855YvXp13HrrraUoDQAAAICEShIsnXvuufGNb3wjfumXfumw97njjjti165dcc8998TNN98cX/jCF+LnP/95KcoDAAAAIIGSBEtnnnlmLF68+Ij3ufPOO+NXf/VXo7a2Ntra2uI973lP3HXXXaUoDwAAAIAE6spdwJjdu3fHkiVLxv+8ePHieOGFF6b997S3L5jJssqqo6O53CVQYfQExegLJtMTFKMvmExPUIy+YDI9wdFUTLA0U3p6+mJkpFDuMo5ZR0dzdHe/Uu4yqCB6gmL0BZPpCYrRF0ymJyhGXzCZniAiora25oiLeCrmVLjFixfH888/P/7n3bt3x4knnljGigAAAAA4kooJls4///y49dZbY2RkJPbs2RP33XdfnHfeeeUuCwAAAIDDKEmwdO2118a73/3ueOGFF+KjH/1orFmzJiIiNmzYENu3b4+IiHXr1sVJJ50U733ve+Oiiy6KT33qU/G6172uFOUBAAAAkEBNoVBI/0CiQ5ixRLXSExSjL5hMT1CMvmAyPUEx+oLJ9AQRKZqxBAAAAEC6CJYAAAAASESwBAAAAEAigiUAAAAAEhEsAQAAAJCIYAkAAACARARLAAAAACQiWAIAAAAgEcESAAAAAIkIlgAAAABIRLAEAAAAQCKCJQAAAAASESwBAAAAkIhgCQAAAIBEBEsAAAAAJCJYAgAAACARwRIAAAAAiQiWAAAAAEhEsAQAAABAIoIlAAAAABIRLAEAAACQiGAJAAAAgEQESwAAAAAkIlgCAAAAIBHBEgAAAACJCJYAAAAASESwBAAAAEAigiUAAAAAEhEsAQAAAJCIYAkAAACARARLAAAAACQiWAIAAAAgEcESAAAAAIkIlgAAAABIRLAEAAAAQCKCJQAAAAASESwBAAAAkIhgCQAAAIBEBEsAAAAAJCJYAgAAACARwRIAAAAAiQiWAAAAAEhEsAQAAABAIoIlAAAAABIRLAEAAACQiGAJAAAAgEQESwAAAAAkIlgCAAAAIBHBEgAAAACJCJYAAAAASESwBAAAAEAigiUAAAAAEhEsAQAAAJCIYAkAAACARARLAAAAACQiWAIAAAAgEcESAAAAAIkIlgAAAABIRLAEAAAAQCKCJQAAAAASESwBAAAAkIhgCQAAAIBEBEsAAAAAJCJYAgAAACARwRIAAAAAiQiWAAAAAEhEsAQAAABAInWl+oeeffbZuPLKK6O3tzdaW1ujq6srTj755An36enpid/7vd+L3bt3x4EDB+Id73hH/P7v/37U1ZWsTAAAAACmqGQrlq6++upYv3593H333bF+/fq46qqrXnOfG2+8MZYtWxZ33HFHfO9734uf/OQncc8995SqRAAAAACmoSTBUk9PT+zYsSPWrl0bERFr166NHTt2xJ49eybcr6amJvr7+2NkZCSGhoYin8/HokWLSlEiAAAAANNUkj1mu3fvjkWLFkUmk4mIiEwmEyeccELs3r072traxu+3cePG+M3f/M145zvfGfv27YtLL7003v72t0/r32pvXzCjtZdTR0dzuUugwugJitEXTKYnKEZfMJmeoBh9wWR6gqOpqOFFd911V6xYsSK+9rWvRX9/f2zYsCHuuuuuOP/886f8d/T09MXISGEWqyyNjo7m6O5+pdxlUEH0BMXoCybTExSjL5hMT1CMvmAyPUFERG1tzREX8ZRkK9zixYvjxRdfjOHh4YiIGB4ejpdeeikWL1484X433XRT/Mqv/ErU1tZGc3NznHPOOfHII4+UokQAAAAApqkkwVJ7e3t0dnbG1q1bIyJi69at0dnZOWEbXETESSedFD/4wQ8iImJoaCh++MMfxmmnnVaKEgEAAACYppKdCrd58+a46aab4rzzzoubbroprrnmmoiI2LBhQ2zfvj0iIj7zmc/Ev/7rv8aFF14Y73vf++Lkk0+Oiy66qFQlAgAAADANNYVCIf0DiQ5hxhLVSk9QjL5gMj1BMfqCyfQExegLJtMTRFTIjCUAAAAAqo9gCQAAAIBEBEsAAAAAJCJYAgAgPWoicvvysau7P3L7D0TUlLsgAJjb6spdAAAATElNxJO79sZ1tzwWg/nhaMhmYtNFZ0Tn0oUR6T+7BQBSyYolAABSITeQHw+VIiIG88Nx3S2PRW4gX+bKAGDuEiwBAJAKvX1D46HSmMH8cPT2D5WpIgBAsAQAQCq0NjdEQzYz4baGbCZa59eXqSIAQLAEAEAqtDTVxaaLzhgPl8ZmLLXMy5a5MgCYuwzvBgAgHQoRnUsXRtfGVdHbPxSt8+sPhkoGdwNA2QiWAABIj0JES1M2Wpqy438GAMrHVjgAAAAAEhEsAQAAAJCIYAkAAACARARLAAAAACQiWAIAAAAgEcESAAAAAIkIlgAAAABIRLAEAAAAQCKCJQAAAAASESwBAAAAkIhgCQAAAIBEBEsAAAAAJCJYAgAAACARwRIAAAAAiQiWAAAAAEhEsAQAAABAIoIlAAAAABIRLAEAAACQiGAJAAAAgEQESwAAAAAkIlgCAAAAIBHBEgAAAACJCJYAAAAASESwBAAAAEAigiUAAAAAEhEsAQAAAJCIYAkAAACARARLAAAAACQiWAIAAAAgEcESAAAAAIkIlgAAAABIRLAEAAAAQCLTCpZ+8YtfxG233RZf/vKXIyLixRdfjBdeeGFWCgMAAACgsk05WPrxj38c559/ftxxxx2xZcuWiIh47rnnYvPmzbNVGwAAAAAVbMrB0h//8R/HX/7lX8ZXvvKVqKuri4iIt7zlLbFt27ZZKw4AAKBi1ETk9uVjV3d/5PYfiKgpd0EA5Vc31Tv+13/9V5x11lkREVFTc/AdNJvNxvDw8OxUBgBUppqI3EA+evuGorW5IVqa6iIK5S4KYJbVRDy5a29cd8tjMZgfjoZsJjZddEZ0Ll3oPRCY06a8YmnZsmXx4IMPTrjt4YcfjuXLl894UQBAhRq9sLpiy8Ox+SuPxBXX/1M8uWuvb+2BqpcbyI+HShERg/nhuO6WxyI3kC9zZQDlNeUVS1deeWV8/OMfj7PPPjv2798fV111VTzwwAPj85YAgOp3uAurro2roqUpW+bqAGZPb9/Q+HvfmMH8cPT2D3n/A+a0Ka9YOuOMM+J73/tenHrqqfHBD34wTjrppPibv/mbOP3002ezPgCgghzpwgqgmrU2N0RDNjPhtoZsJlrn15epIoDKMOUVS08++WR0dnbGhg0bZrMeAKCCjV1YHRouubAC5oKWprrYdNEZr5mx1DIva8YSpWPOIRVoysHSZZddFm1tbbFmzZq48MIL43Wve91s1gUAVCAXVsCcVYjoXLowujauit7+oWidX++9j9IyQJ4KNeVg6aGHHooHH3wwtm7dGuvWrYvTTjst1q5dGxdccEG0t7fPZo0AQKVwYQXMZYWIlqbsqzOVvPdRQuYcUqmmHCxlMpk4++yzx4d333///fGtb30rurq64oknnpjNGgGASuLCCgBKzgB5KtWUh3ePGRwcjL//+7+PO++8M5544ok488wzZ6MuAAAAYJQB8lSqKa9Y+sd//Me444474oEHHohTTz01Lrjggti8eXN0dHTMZn0AAAAw55lzSKWacrDU1dUVa9asidtuuy2WLl06mzUBAAAAhzLnkAo15WDpzjvvnM06AADKx/HNAKSBOYdUoCkHS/l8Pm644Ya47bbboru7O0444YRYt25dfOITn4j6ens6gQrlYhE4Gsc3A3Pd6OelF57ujnkNdT4vAdMy5WDpc5/7XGzbti3+8A//MJYsWRLPP/98bNmyJfr6+uIzn/nMbNYIkIyLRWAKHN8MzGk+LwHHaMqnwt11111xww03xDvf+c445ZRT4p3vfGd88YtfjL/7u7+bzfoAEjvcxWJuIF/myoBKcqTjmwGqnc9LwLGacrBUKBSPqw93O0C5uVgEpsLxzcBc5vMScKymHCydf/758clPfjIefPDBeOaZZ+IHP/hBfOpTn4rzzz9/NusDSMzFIjAVY8c3j71fTDi+GaDK+bwEHKuawhSXHA0NDcUNN9wQW7dujZdeeikWLVoUF1xwQWzcuLGihnf39PTFyEj6V1F1dDRHd/cr5S6DCqInEpgDMwP0BZPpiYTGBv1X6fHN+oLJ9ATj5sDnJZLzXkFERG1tTbS3Lzjs/z9isPTDH/5wSv/IWWedNf3KZolgiWqlJxJyscgcoycoRl8wmZ5ggtHPSwP54ZiXzVTd5yWS815BxNGDpSOeCvfZz3626O01NTURcXC+Uk1NTdx///3HUCLALCpEtDRlXz3ZyYckAICJRj8vLVvadjBE8HkJmIYjBksPPPBAqeoAAAAAIGWmPLz7WD377LNx8cUXx3nnnRcXX3xx/OxnPyt6vzvvvDMuvPDCWLt2bVx44YXx8ssvl6pEAAAAAKbhiCuWZtLVV18d69evj3Xr1sXtt98eV111VXz961+fcJ/t27fHF7/4xfja174WHR0d8corr1TUYHAAAAAAXlWSFUs9PT2xY8eOWLt2bURErF27Nnbs2BF79uyZcL+//uu/jssuuyw6OjoiIqK5uTkaGhpKUSIAAAAA01SSYGn37t2xaNGiyGQyERGRyWTihBNOiN27d0+43zPPPBP/+Z//GZdeemm8//3vjy1btsQRDq0DAAAAoIxKthVuKoaHh+OnP/1p/NVf/VUMDQ3Fxz72sViyZEm8733vm/LfcaQj8NKmo6O53CVQYfQExegLJtMTFKMvmExPUIy+YDI9wdGUJFhavHhxvPjiizE8PByZTCaGh4fjpZdeisWLF0+435IlS+L888+P+vr6qK+vj3PPPTe2bds2rWCpp6cvRkbSv8qpo6P54FGfMEpPUIy+YDI9QTH6gsn0BMXoCybTE0RE1NbWHHERT0m2wrW3t0dnZ2ds3bo1IiK2bt0anZ2d0dbWNuF+a9eujYceeigKhULk8/n40Y9+FG984xtLUSIAAAAA01SSYCkiYvPmzXHTTTfFeeedFzfddFNcc801ERGxYcOG2L59e0RErFmzJtrb2+OCCy6I973vfXHqqafGhz70oVKVCAAAAMA01BSqbDq2rXBUKz1BMfqCyfQExegLJtMTFKMvmExPEFEhW+EAAAAAqD6CJQAAAAASESwBAAAAkIhgCQAAAIBEBEsAAAAAJCJY4shqInL78rGruz9y+w9E1JS7IAAAAKBS1JW7ACpYTcSTu/bGdbc8FoP54WjIZmLTRWdE59KFEYVyFwcAAACUmxVLHFZuID8eKkVEDOaH47pbHovcQL7MlQEAAACVQLDEYfX2DY2HSmMG88PR2z9UpooAAACASiJY4rBamxuiIZuZcFtDNhOt8+vLVBEAMC2jsxK3P91tViIAMCvMWOKwWprqYtNFZ7xmxlLLvKwZSwBQ6cxKBABKQLDE4RUiOpcujK6Nq6K3fyha59cLlUifmoPzwnr7hqK1uSFamur0MDAnHG5WYtfGVdHSlC1zdQBAtRAscWSFiJam7KsfQF2Qkya+rQfmsCPNShQsAQAzxYwloGo52RCYy8xKBABKQbAEVC0nGwJz2disxLFwacKsRACAGWIrHFC1xr6tPzRc8m09MGccMitxID8c87IZsxIBgBlnxRJQtXxbD8x5o7MSVy7rODhXSagEAMwwK5aA6uVkQwAAgFklWAKqm5MNAQAAZo2tcAAAAAAkIlgCAAAAIBHBEgAAAACJCJYAAAAASESwBAAAAEAigiUAAAAAEhEsAQAAAJCIYAkAAACARARLAAA1Ebl9+djV3R+5/QciaspdEABAOtSVuwAAgLKqiXhy19647pbHYjA/HA3ZTGy66IzoXLowolDu4o5RTURuIB8vPN0d8xrqoqWpLv2PCQCoKIIlAGBOyw3kx0OliIjB/HBcd8tj0bVxVbQ0Zctc3TGo5sAMAKgYtsIBAHNab9/QeKg0ZjA/HL39Q2WqaGYcLjDLDeTLXBkAUE0ESwDAnNba3BAN2cyE2xqymWidX1+mimZGtQZmAEBlESwBAHNaS1NdbLrojPFwaWzLWMu8FG+Di+oNzACAymLGEgAwtxUiOpcujK6Nq6K3fyha59cfDJVSPodoLDCbPGOpGh4bAFA5BEuQ1OhJO719Q9Ha3OCkHYA0K0S0NGVfHdZdDe/nhwRmA/nhmJfNCJUAgBknWIIknLQDQBqMBmbLlrZFd/crfkcBpJ0vt6lAgiVIoGqPpgYAACqTL7epUIZ3QwJO2gEAAErpcF9u5wbyZa6MuU6wBAk4aQcAACglX25TqQRLkEC1Hk0NAABUJl9uU6nMWIIkqvRoagAAoDKNfbk9ecaS6xDKTbAESVXj0dQAU+FEGgAoPV9uU6EESwDA1DmRBgDKx5fbVCAzlgCAKXMiDQAAhxIsAQBT5kQaAAAOJVgCAKbMiTQAABxKsAQATNnYiTRj4dKEE2kAAJhzDO8GAKbOiTQAABxCsAQATI8TaQAAGGUrHAAAAACJCJYAAAAASESwBAAAAEAigiUAAAAAEhEsAQAAAJCIYAkAAACARARLAAAAACQiWAIAAAAgEcESAAAAAIkIlgAAAABIRLAEAAAAQCKCJQAAgLmsJiK3Lx/bn+6O3P4DETXlLghIk7pyFwBAArURPbmh+PcXno+25oZob66PGCl3UQBA6tREPLlrb1x3y2MxmB+OhmwmNl10RnQuXRhRKHdxQBoIlgDSpjbi8Wf2xI3f3T7+AfATH1gZb1nWJlwCAKYlN5AfD5UiIgbzw3HdLY9F18ZV0dKULXN1QBrYCgeQMj25ofFQKeLgB8Abv7s9enJDZa4MAEib3r6h8c8UYwbzw9Hb73MFMDWCJWbf6J7tXd399mzDDOjJ7S/6AbAnt79MFQEAadXa3BAN2cyE2xqymWidX1+mioC0sRWO2WXPNsy49oWN0ZDNTAiXGrKZaG9pLGNVAEAatTTVxaaLznjN5/WWeVmf14EpESwxq+zZhpnX3lwfn/jAytfMWGpvMcAbAJimQkTn0oXRtXFVDOSHY142I1QCpqVkwdKzzz4bV155ZfT29kZra2t0dXXFySefXPS+//Ef/xHvf//7Y/369XHFFVeUqkRmwZH2bAuWIKGRiLcsa4trP35W/KJvMI5b0CBUAgCSK0S0NGVj2dK26O5+RagETEvJZixdffXVsX79+rj77rtj/fr1cdVVVxW93/DwcFx99dXxnve8p1SlMYvs2YZZMhLRvqA+zlq5JNoXCJUAgGMwOhN1+9PdZqIC01aSYKmnpyd27NgRa9eujYiItWvXxo4dO2LPnj2vue+XvvSlOPvssw+7mol0GduzPRYuTdizDQAAlNfoTNQrtjwcn7nh4bji+n+KJ3ftFS4BU1aSYGn37t2xaNGiyGQOhguZTCZOOOGE2L1794T7PfXUU/HQQw/Fr//6r5eiLErhkD3bmz/2jujauMrgbgCAyZyiS5kcbiZqbiBf5sqAtKiY4d35fD7+4A/+IP7kT/5kPIBKor19wQxWVV4dHc3lLmHGdJS7gCpRTT3BzNEXTKYnKEZfVK6RkUL8cPvu+Itv/dv4oQyX/9rb4qyVi6O2dvYSJj1BRMQLT3cXnYk6kB+OZUvbylQVlcR7BUdTkmBp8eLF8eKLL8bw8HBkMpkYHh6Ol156KRYvXjx+n+7u7ti1a1f8xm/8RkRE5HK5KBQK0dfXF3/0R3805X+rp6cvRkbSvxymo6P54OA8GKUnKEZfMJmeSKjm4Lf2vX1D0drcEC1NdVW1ulZfVLbcvvx4qBRx8KL+L771b3HicbN3iq6eYMy8hkLRuJcAACAASURBVLpoyGYmhEsN2UzMy2b0CN4riIiI2tqaIy7iKUmw1N7eHp2dnbF169ZYt25dbN26NTo7O6Ot7dUEfMmSJfHII4+M//kLX/hCDAwMOBUOAJhdNRHPPP9KPPN8LkYKhaitqYllS1pi2ZLmqgqXqFxO0aWcxmaijm2HmzAT1XsgMAUl2wq3efPmuPLKK2PLli3R0tISXV1dERGxYcOG2LRpU6xcubJUpQBQiap8xQiVq2//gfh5d1/87T88PX5Rdcnq5bGorSkWNFTM1ACq2NgpupNXjDhFl5I4ZCbqQH445mUzQiVgWmoKhUJVvWXYCke10hMUUzV9MXoizeRvSw37n76q6YkSer53f/zRVx55zUX9H/yvd8SS1sYyVjZz9EWFK8N7oJ6gGH3BZHqCiArZCgcAR3K4E2m6Ns7efBEYs3/wQNFtSPsHD5SpIuacQ1aM9PYPRev8eitGAEgNwRIAZWe+COV0/MLGotuQjm9pKGNVzDmFiJam7KvveUIlAFKittwFAMDYfJFDmS9CqYwNrh3rwQmDawEAOCIrlgAoOyfSUFa2IQEAJCZYAqD8XNhTbrYhAQAkIlgCXuW4d8rJhT0AAKSOYAmSqrYQxnHvAAAATJNgCZKowhDGce8AAABMl1PhIIHDhTC5gXyZK0vuSMe9U4FqInL78rH96e7I7T8QUVPugiDlRl9Tu7r7vaYAAKbBiiVI4OXcYNEQ5uXcYGpX94wd937o43Lce4WqwhVzUFZeUwAAiVmxBAk0NdRFQzYz4baGbCYaG9Kb1Y4d9z72uCYc905FqcYVc1BOXlMAAMml9yoYyqh5XjYuWb08vn3vzvFvty9ZvfzgAO+0ctx7ahxp22JaV8xBOXlNAQAkl+KrYCifBY2ZOKGtKd5/9qkxUihEbU1NnNDWFAua6iJGyl3dMajG496r7fS+sG0RZprXFABAcrbCQQK5/nzc9HdPxcjIwYRiZKQQN/3dU5HrT/m2iWobXjs6N+WKLQ/H5q88Eldc/0/x5K69qX9cti3CzPKaAgBIzoolSKC3byh29wzELffvnHh7mrdNVOHw2sPNTenauCq9z1PEhG2LA/nhmJfN2LYIx8JWYACAxKxYggTGtk0cKu3bJqpxeO2R5qak3ui2xZXLOg6GZC6A4diMvqaWHj/fawoAYBoES5BANW6bqMYQphoDQAAAgEpiKxwkUYXbJqpxeO1YADh5e1/anysouyocig8AQDKCJUiqyk5Qq8oQpgoDQCi7KpzHBgBAcoIl4KBqDWGqLACEcqvaofgAACQiWAJeJYQBjuJI89gESwAAc4/h3QBpVBOR25eP7U93R27/gYiachfEXGEoPgAAh7JiCSBtzLihjKpyHhsAAIkJlgBSxowbyqpa57EBAJCIYInZ51hqmFFm3FB25rGlx+jv4Bee7o55DXV+BwMAM06wxOyyZQdm3NiMm0PDJTNugNfwOxgAKAHDu5lVh9uykxvIl7kySK+xGTdjA5QnzLgBGOV3MABQClYsMats2YFZcMiMm4H8cMzLZsy4AV7D72CYBUY8ALyGYIlZZcsOzJLRGTfLlrZFd/crPtQCr+F3MMww20sBirIVjlllyw4w59VE5PblY1d3f+T2H4ioKXdBFFWFz5PfwTCzbC8FKM6KJWaXY6mBucy32+lQrc+TbbMwo2wvBSjOiiVm3+iWnaXHzz/4S9cHWmCO8O12OlT18zT6O3jlsg6/g+EYjW0vPZTtpQCCJQCYNUf6dpvK4XkCpsL2UoDibIUDXuWkE5hRhieng+cJmBIjHgCKsmIJOGh0xsgVWx6OzV95JK64/p/iyV170z/AtgoH8pIevt1OB88TMGXVOuJh9PPS9qe7fV4Cpq2mUChUy9thRET09PTFyEj6H1JHR/PBI8Rh1Gz3RG5fPq7Y8vBrvrHv2rgqvQMpq3Ug7yG8V6TA2ErAEn27rScSKvHzVGr6gsn0BOPmwOclkvNeQUREbW1NtLcvOPz/L2EtQAWrxhkjVT2Ql/So1m+3q43nCZijfF4CjpVgCYiI6jzppBrDMgCAmeTzEnCsBEtARFTnjJFqDMsAAGaSz0vAsXIqHCRVbSeoVeFJJ2Nh2eSZAWl/XAAAM8XnJeBYCZYgiWodcjg6Y2R8WHeaH0tEVYZlAAAz6pDPSwP54ZiXzfi8BEyLrXCQgCGHKWIgLwDAkY1+Xlq5rMPnJWDaBEuQwMu5waJDDl/ODZapIqBi1UTk9uVjV3d/5PYfiKgpd0EAADBzbIWDBOY11UVDNjMhXGrIZmJeo5cUcIhq3TYLAACjrFiCBLKZ2rhk9fIJJ6hdsnp5ZOu8pIBX2TYLAEC1s7wCEtiT2x/ff/jZWPfuZQe3tRQivv/ws7GkY0G0O5oVGNXbP1R022xv/9CrQ/IBACDFBEuQQFtLY7zSn49b7t85fltDNhNtzQ1lrIo5pebgapgXnu6OeQ110dJUZ2tVBZrfmC26bXZ+o1AJAIDqYN8OJNDeUh8ff//KCVvhPv7+ldG+0GolSmB0bs8VWx6Oz9zwcFxx/T/Fk7v2GgpdgQaHDsTFk7bNXrx6eQzmD5S5MgAAmBlWLEECub583Hr/zglb4W69f2ecsvjttrcw6w43t6dr4yr9V2EWzKuPex95bsJ7xb2PPBdvO+3t5S4NAABmhGAJEujtG4r88MirN9RE5IdHzE2hJHr7qnRuz+j2vt6+oWhtbqiK7X0tTXXx4fM7X3MqXMu8bOofGwAARAiWIJG2hY2xZtUb4tv37hy/WLxk9XIzliiJ1uaGonN7WtM8OH50e9/kAKZz6cJ0BzCFiM6lC6Nr46ro7R+K1vn1QiUAAKqKGUuQwMjISNwzur3lovcsj3X/fVnc88hzMVJwtcjsa2mqi00XnTFhbs/4KpiUOtz2vtxAvsyVzYBCREtTNpYeP//gijJvEwAAVBErliCBvf1Dsfodr4+bD1mxdPHq5bG3fyhanPbEbDtkFcxAfjjmZTOpXwVTtdv7AACgylmxBAlk6+rGQ6WIgxfAN9+7M7J1slpKZHQVzMplHVWxCmZse9+hUr+9DwAA5gDBEiSwbzBfdHXFvsEq2LYDZVCN2/sAAGAusLwCEmhvaSw6PLk97cO7ayN6ckPRk9sf7Qsbo725PmLk6D9W0arwpLGqZMg1AACkkmAJEmhpqovfWf+2eOb5XIwUClFbUxPLlrSk+0K4NuLxZ/bEjd/dPj436hMfWBlvWdaW3nCpWk8aq1aj2/vGZyp5jgAAoOLZCgdJ1ET0Dx6Iv/2Hp+OW+3bG3/7D09E/eCCiptyFJdeTGxoPlSIObu278bvboyc3VObKkqvqk8YAAAAqgGCJ2VcTkduXj13d/ZHbn+7wZUxPbihu+M62CYHFDd/ZluoQpie3v+jcqJ7c/jJVdOyOdNIYAAAAx85WOGZXlW5FOlII074gnadYtS88zNyohY1lrOrYjJ00NvkxOWkMAABgZlixxKyq1q1IYyHMoRqymWhvSW8I01BXG5esXj7hVK5LVi+Phrr0vk04aQwAAGB2WbHErOrtG4rm+dlY9/Zl41vgHviXXdHbP/TqgN4UaqzPxIZ1b44v3/7E+EqsDeveHI0NmaP/cIXakxuM7z/8bKx79+hzVYj4/sPPxhuWtMSChpS+VThpDAAAYFal9GqRtGhb2BhrVr0hvn3vzvEA5pLVy6OtuaHcpR2Tnt798aMnno/P/Pr/GbmBoWiZVx93PPhMHN/aGPOPn1/u8hJpbW6IV/rzccv9O8dvq4ptY04aAwAAmDWCJWbVyPDIeKgUcXAr3Lfv3RlvPe34Mld2bNoWNsbKU0+IP/7rfx4PzNaf98ZUB2Zj28Ymz8OywgeOUc3BbcG9fUPR2twQLU11XlMAAFQNwRKz6kincqV5K9zIyEh88+6nJgRm37z7qXjLqavKXNkxsG0MZl6VHmAAAABjBEvMqsOeypXSk9PGvLx3sOjsqJf3DkZLY3oDM9vGUmR0FcwLT3fHvIY6q2Aq1OEOMOjauCrV4ToAAIwRLDGrhkcKccnq5a+ZsTQ8Uu7Kjs2Cedmis6PmO22s8lTjNiSrYFKjWldtAgDAmJIFS88++2xceeWV0dvbG62trdHV1RUnn3zyhPtcf/31ceedd0ZtbW1ks9m4/PLL413velepSmQWdPfuK3rS2OLj58dxKQ5hMrU1cc8jz736uCLinkeeizcvay9vYUxUpQFM1a6CqcIQ8LCrNtM+FB8AAEaVLFi6+uqrY/369bFu3bq4/fbb46qrroqvf/3rE+5z+umnx2WXXRZNTU3x1FNPxYc//OF46KGHorGxsVRlMsPaFzZGNlP76g01EdlMbbS3pPs5HRw6EKvf8fq4+ZAVSxevXh6DQwciXDBWjGoNYKpyFUyVhoCG4gMAUO1qj36XY9fT0xM7duyItWvXRkTE2rVrY8eOHbFnz54J93vXu94VTU1NERGxYsWKKBQK0dvbW4oSmSXtLfVx6f98Y9TWHlzWU1tTE5f+zzdG+8J0hy8N2brxUCni4EX9zffujIZsyneX1kb09A3Fzudz0dM/VKJ3iNnzcm6waADzcm6wTBXNjLFVMIdK+yqYw4WAuYF8mSs7RocMxd/8sXdE18ZVqQ/LAADgUCW5Ct69e3csWrQoMpmDF0KZTCZOOOGE2L17d7S1tRX9mdtuuy2WLl0aJ554YilKpJgZ2JbSN3Ag+gcOTLitf+BA9A0ciAUN6Q1hcgPFV4zkBoaiPa2DyWsjHn9mT9z43e3jKys+8YGV8ZZlbREpnYnV1FBXdBtSY4p7L+LgKpjfWf+2eOb5XIwUClFbUxPLlrSkehVMVa7CGmMoPgAAVawir65+/OMfx+c///n46le/Ou2fbW9fMAsVlUdHR3PZ/u2RkUL8cPvu+Itv/dt4yHD5r70tzlq5eHz10VR0P/tyDOzPx9/+w9MThlzvyw/HG046bhYfwex6MTdYNLCY15id1edtNv/unbt+MR4qRRy8qL/xu9vjjzf+X7F8aTqfq3zUFB0e39HaFB0d6X2vGBkpxM7/emXC6+ryX3tbtLctmNbrs5IMFWqKvqZObF+Q6ueqXMr5+4PKpS+YTE9QjL5gMj0xfSMjhdj9cn/sye2LtpamWHz8/NR+Tp+KkgRLixcvjhdffDGGh4cjk8nE8PBwvPTSS7F48eLX3PfRRx+NT3/607Fly5Y45ZRTpv1v9fT0xchI+r8O7uhoju7uV8r27+f25cdDpYiDIcNffOvf4sTjpjebZjA/Mn5RP/b3fPvenfHZy/5bWR/fsRrMH4iLVy9/zYylofyBWXtcs90T3b8YiOb52Vj39lcHkj/wL7ui+xcDcVxTRWbQR5WtiTipY0G8/+xTx1f2nNSxILI1hVT330y9PitJfW0UnUVUX5vu56ocyv37g8qkL5hMT1CMvmAyPZFAFc4Ora2tOeIinpJcLba3t0dnZ2ds3bo11q1bF1u3bo3Ozs7XbIPbtm1bXH755XHdddfFm970plKUxmHM1LaUffsPFP179u0/cJifSIfGhrq499BT4QoR9z7yXPwfl7y13KUl1nFcU6xZ9Yaiq3tSqxCxbElzdLQ2Rm//ULTOr0/1drExVblt7JBZRNX0XAEAMLdU6wFCR1KyZQibN2+OK6+8MrZs2RItLS3R1dUVEREbNmyITZs2xcqVK+Oaa66J/fv3x1VXXTX+c3/6p38aK1asKFWZjJqpI7KPayn+9xzX0jBjtZbDyEgh3vuO178mhBkppPcqOFMTRVeXvXX58WWubIYUIqKmOpafVu0R9mYRAQCQclX5JfBRlCxYWrZsWdx6662vuf3LX/7y+H9/5zvfKVU5HMVMHZFdKBSKzrgppDiAiYh4pT8f33/42Qkrlr7/8LOxpGNBnNjSWO7yEuntGyq6Fa63byhaGlP6BliFy1AjqvgI+xk4MAAAAMqpar8EPoJ0Dk5h9s3QtpS+geIBzNITm6NjQXpXLbW1NMQr/fm45f6d47c1ZDPRluKVWM3z6+PCdy6Lb9791HhYsf68N0Zzit8Aq3YZ6iGvz4H8cMzLZqoiVKrGEBAAgLmlar8EPgLBEoc3eVtKHBwaPJ3VBPObskUDmHlpXQEzqr25Pj75wdPjhu9sG3+z+OQHT4/25vqIkXJXl0z+wMh4qBRxMIT55t1PxTW/8ctlriy53v4qXoY6+vpctrTt4EDFlP+SqtoQMMJKLJhpXlMAVLI5ODtUsMTUJFxN0DcwFOvPWxHfvPunh6yCWRH9+4YiUry6J0YiTj/luLj242dFT25/tLc0RntLekOliIi9h9kLvLdvKE5oTudzNb8xG4vb58W7zjhpfHvfg4/+POanPNiMiPELqxee7o55DXWpv7Cq2r3oVmLBzPKaAiAN5tjsUMESU5J0NUFrc0P07B2ccNx7Y31dLEzxNriiqmAm9PzGuqJ7gec1pvdt4sDwcHzgf5wW//v2J8YvQD627s1xYGT46D9cyarwwqpa96JX9UosKAOvKQCoPLXlLoB0ONJqgqP56h0/iW/f+9O45b6d8e17fxpfveMn6T+cqzbi8Wf2xO//fz+M//fr/xK/f+MP4/Fn9qT6FdXUWBeXrF4eDdlMRMT4oPV5DekNluoymfFQKeJgz/7v25+IutpMmSs7Noe7sMoN5MtcWXIt8+riEx9YOaH/PvGBldEyP90Xisfy3gm8ltcUAFSe9F4xUlJJVxPsyQ0W/QC4JzcYbfPSuxKhJzcUN353+4QL+xu/uz2u/fhZ0b4gnY/rlf6haFlQH//PxW+NfYMHoqmxLvYN5uOVfUNx3Lx0Xtz3788X7b/+/fnUPk8R1bltLNefj1vu2zlh0P8t9+2MN5z49tQ+pojqXYkF5eI1BQCVJ8XrKyilscn2h64mGJ9sH3Fw3su+fOzq7o/c/gPjW8MWzMuO/8yYhmwmFqT4QjEioie3v+iFfU9uf5kqOnbZbG30DRyIz9/8aHzh1sfi899+NPoGDkS2Lr1vE60LGor2X9ovQMYurA6V9sfV2zcU+eFDhpTVROSHR1K/CuGo753AtHhNAUDlsWKJqTnSZPvaiP/sHognf7YnRgoHhyN/+PzO6Hz9whjKD8fFq5fHzffuHJ8Fc/Hq5ZEfTveMm/aFjUWHQrcvbCxvYccgm8kUPRXujz5+VpkrS65aj/qsxsfVtrAx1qx6Q3z7kPeKS1Yvj7aUDo4fNwdPBYFZ5TUFABVHsMTUFZtsXxPxk5/1xhdvfXxCcLT1oWdipHBK1Gcz8c8/2R2bLj4j9g8NR2N9JrY++Ey8+ZT2sj6UY9VYn4kP/o/T4suHDIXesO7N0Vif3tk9A4fZNjawPx+R4m1j9XW1E4bH16d4Bda4QkTn6xfGtR8/K/b0DUbbgobUn0o4MjwyHipFHOy9b9+7M9562vFlrmwGzLFTQWDWeU0BQEURLDF9o8ec9/YNxfym7HioFHHwYvDme3fGpovPiOtufix+fW1nnPvfXh/X3fzqyooN73tz7B/KR0R6w4q9/fnxUCni4OP+8u1PxB/8r3fE/NZ0hkvzG7NF51bMb0zv9oLcQD7+7Jv/9prHlPrTg2oinnyuuk6F6+0biub52Vj39mXjqwAf+JddqZ4bBQAAc0EVfHXPYR1m7tGx/p1P7tobV2x5ODZ/5ZH415++VHSVy+DQcAzmh6NlfkN8+bZJAcxtT0S2Lt2Z5v7BA0Uf9/7BA2Wq6NgNDh2IiyedCnfx6uUxmE/vY6rW04Oq8VS4sa1wt//gmbjlvp1x+z8+E2tWvSH9W+EAAKDKpfvqnsMbDYBmekXD5AvakUIUXeWyqG1eNGQzsfvl/qIX9q8MDMWilvReMB6/sLHo4z5+YXof04J59XHvI89NOJXr3keei7ed9vZyl5ZYtZ4eVI2nwlX1VjgAAKhiVixVqdla0TD5gvaBf9n1mlUu//evviUWtzfG76z//9u78/ioqrt/4J/Z10wmO4mQAMGBlATDElFaECgR2RrAQiJKpa1stvK0/dmWUn9q3Sr2eXXRotTl19oHFVA2IYiETal5RFCQnQAGAiZAFpKZzD5z7++PIZdMMgENkOQOn/c/mpk7d86dOcyc853v+Z5BSEsyR9y9KsYo74m9UgHMHNcv7LpnjusHpeJ6pIV1DotBjZ9M7A+lMnQNSqUCP5nYX9Y77UTr7kHRuitcNGaXERERERFFO2YsRakbldHQMgOkpt6Dkl2n8czcO9Hg9EGvU0u7s/gCApZtOoIHJ2TB7vRLxZMtJg38gQAA+Wb32J0+KJWKsKLQSqUCdpcPZp18/1n5AgLW7DgRluUmayKQ1TsWT86+A3V2DxJi9UiO1wHyXTEGIDp3hYvW7DIiIiIiomgn3xkwXdEVJ2nNim9bY3SwGNTfeDIaaUL7wD1ZqHd4pSLJTVlLb394FP6ggKAghgUrZo7rB4NO3hkjOq0abxYfafX6PjP3zk5s1bVpK8tN1oWu1cC+Y3X4x5oDUv+bOyUHubZ4QL6lo8K223b5gzBqVLIOKgHRGSwjIiIiIroZMLAkV1cJDrU5STNprm03qWYT2nqnD1aTFkqlAr/++ydhAYm/v/slCkZkQqdVYtkHR8Pu+58PjuLJ2UNvwIvScZweP9K7mTH5rj7weIMw6FVYs+MEnB4/EszyzLCodXgjZrnVOryyDSydr/NKQSUgdD3/WHMAT86+Q9Y1vgBI221npsejutoh/+BLhM8WBpWIiIiIiLo+Bpbk6JsU5m5jkmZ3XoeslEsT2qbjK6ojF+hWKoFbkkyXi0EjVJOppt4DpzsAWK7Hi9E5Eqx6jB3aEy+uuPwezC7IRkKsvrOb1m5GgyZilptRL8+gEgDU2T0R++ZFh0f+gaVo1OKzhUElIiIiIqKuj8W7ZegbF+a+NElLTzSFJmrityyQqwDsbj8qqp2wewJScKjl/f6ggKL8vki0Xg6q6DQqZGcmwOsXwrYPHz+sF1ITjDDKNAOmiccTxGvrDoa9B6+tOwiPN3iVR3ZdoiiiqEUh9qJ8G0QZz+7jL+3e15xOo0JcjHwDgERERERERF0JM5Zk6BsV5m5jqVxbtZdMeg0qqp2Xj8VVsqIiZE0V5dtQXFoOh9OPBdNzYdar8fQb+8OCLytKyvDL+wbB5fYDMs4YqWmInAlTY/fIdimcyx1AcWn55QwzESguLUePlBjZZpcZdWrMnZLTqsaSUc+PPiIiIiIiouuBsysZuuruSVdYKhep9tLcqTn48ztfoKrWJR17S6LxikvmImVNLS8pw38V5iLJakBCjLbNJXJfVzvwnV4JHfNi3SBtvQexJvkGyxJj9dComiUxKgCNSolEGQcAL9o9KN3/NRbNyoPd5YPFqMX6nScRb9EhJtHU2c0jIiIiIiKSPQaWZOhquyddbXevptpLX9e6oIAC//PBYVTVusKO/fUDg6+YFdVW1tSpcw5YTBo0epQQgYjBl8zuVljM8u56FrMa86bmYOnqy5kw86bmIDZGvtdlMaoxfYyt1TVZTBpA6OzWtY/VrMOBk3XYc7Rauk2nUeGBsf06sVV007mGnTiJiIiIiLo6+c6Cb2ZX2T3pqkvlLh334op9KLgrUwoqNT/WoFNLQaFEqx6jB6dDqQRMeg2gaDtjR69V4aLDh4NfXcRHX5zBnCk5eLXZMqSHCrLhaPTAYtTAYAivfSMnHo8AjzeAKSP7QBBFKBUKeLwBeDwCDEZ5Xpfd6ZeCSkCoHyxdfeDbFXbvYriFPXW6b7LZAhERERGRjDGwJFdX2D0pPlaPovy+EMTQjdv2VMDh9EOhUEi1c5oHnyIFiGIuTciXbTqC/KEZWFFSBq8/iDU7ToYmRRmxrSbsRfk23JpuxdNvfCYFrFITDPj1/YNhd/mg06pQU+9GIKCE2xeEVabBCgBo9Pjx/s6vMDy3O6AABFHE+zu/wrx7ByDOKM/rqm/0IcakQcHg8F38wmp3yQ23sKdOdrUMUiIiIiIiuWNgKdoogDPnG7Fmx4mwgI9Oq8LS1fvx2wcGw2LQSBlH2/ZUoDDfJgWOmn5NN+vVyEqPxa/uG4TH/vG/ESdFTRP2GrsXep0aFoMadQ5vWMBKAHDmggPLm52/KN/Weoc5mQkKYljATadRoTDfhqAg34hFfKweE4b1avVexcfIt8YSAG5hT53qG222QEREREQkY8qrH0Jy0lZRbbc3gKpaF+qdPgCXlwg5nH5sLC3HlJF98NuZQ/DM3DsRa9LA7g4AAJxufxu7n3lRccEJKBTo3c2MNKseZp0aVnN4wEoQIAUqmrdHCMp7dm/UqaWgEnB5xzujTr6xWiEoRH6vZBwsAxCqb+P2o6LaCbsnIPugpuTSdR04UR1d1xVlmoL4zYVttkBEREREJHPynQXfjL5BAdi2fh33+oXwyUyLJUIJsXrU2b34/NgFCCKwc+9ZFN3dF4mxhohL5U6cbcDykmPQaVSYf+8A9E6zwKxThdW02VhajjmTcyK2x+0N3JCXqKM4PZEDbi6PH5Bphk9UZlZEa32baL2uKMQ6X0REREQU7RhYkotvOJFsq6i2UqFoPZlpWiJk1ODQ6Xr8/d0vw5Z1Ld98DHcPzUBRvq3V8qji0nIAocDDK6v2ozDfhpQ4I7LSY5GVEYtn5t6JWrsHZoMmYnvMcg1UXGLUR74ug06+19VW35FzZkW01reJ1uuKSqzzRURERERRjkvhurJmS3hqHT4s23Sk1UTS7vKHPaTp1/GmpRdNGUXDslPazGawu/xSUKnp3CtKyjA8tzvcviCKLy2Ve2RaLhYU5qK4tBw19R7p8V5/EHExeizbdASNngCOnG7AY//4Xzz/7z1QKBWhGk/N2lOUb4NSJe91O6IoYua4fmHXNXNcP4gyni1G6jtSMFKmrpSFJWfRel1R61IQPz3RFLYzJxERERFRNGDGUhclCGKrDKXCfBs2NgvqRFymr4Qg9wAAIABJREFUdKVfx1tOZi4trTt30R1xkqpUAoIA1NR7sLzkGKaPsQEAHM7wYJZOo8L5OheG53aH3R0Iy6SwN3pRXFqOghGZ0o50xaXl6JESg2SzPJeMAUAwKMBi0mLKyD4QRBFKhQIWkxZCUOjspl0Tk16N/yocCLcvAINWDaNOdfUHdWHRmIUFhK4rNcEo7UoIhJavyv26iIiIiIhIfhhY6qKqapytlrqsKClDwYhMrNxaBuAKE+RvsgtWs6V1BXdlRpx890yNxevvH5D+VioU2LL7NB4q6I/X1x1qFfAak5cOjzcQdh6LSQuH0y+1uelcZhlnwQCAWqXCkvf2t3rNnpx9Rye26to0egI4fb4Rb394VHpvZ4zth3iLDmaZFiVXKhBxKadSKe+MOYtRjeljbFi6+oB0XfOm5sBi0gDyjm0SEREREZHMyHO2eBOos7edRQS0WKbUjmUVzWu0NO3gtqLZ5Hve1AFY99Fx1NR7pOfqkWxCvwwrYoyXM3UgAhtLy+Fw+pHVMx6xJm1YkEqhBGYXZOO1dQelc88uyJb9Isz6Rm/kpUiNXqRY5JmJ1egJSEElIHQ9b394FLf2GCrbwFKdPXLGXK80i2yvCQDsTr8UVAJC79XS1QfkX2PpG2xQQEREREREXYt8Z1ZRLt5yeTe2RKseowenQ6kEBtqSkN07Hma95poKwDav0VJT78HGS5Pv3rdY0C3OAJVaiaRx34HHG0CiRSc9l1mnBhRAj2Qzlm06guG53TEmLx39MuLRI9kIiMDPp90m1Wzy+QSs2n48bGK/avtxzL/3NsB0/V6vjmY1R15iFSvj5X1OTyBisMzlCQCxndSoa2SN0UXMmJP7krF6J3fwI7ruGNgkIiIiahcGlrqo1EQTFkzPxbJNR5A/NEPKJlqz4+SlTCUtKi442z34bVl7pqbeg3UfnwzLeDDFqaRBNhSKy88jAlkZsZgxtl/YTnI/n3Yb9FoVahrcePT+QTh+tgEeXxBVta6wiT0AeHyB6/EydR6FgEem34azF5xSjaXuySYoFPJdh2RqYwc/o16mgQpE71bvpjZ2JTTJ+L2yu/xYtunI5SA0gGWbjuC3DwyWb7CM5IOBTSIiIqJ2Uz355JNPdnYjrie32wcxCgaBZrMORo0CubZkvLTy8o5tQUHE50cvwGzU4e/vfYntn59FZvc4JFn13+r8Oq0SPbpZsK+sGkFBlGq0ZKSYQ4PoS4PsZ/+1G1v3nMH2z88iIy0WWq0a1Q0eBILA8//eE9auL45eQFKcEau2nUBWr3h8+OkpDBuQiqOn6jB+WC/0z0xA/94JqGtwY3juLTDr5RvX9AREVJxrxLtby7D/RA2On6lHn+5xSI43wqi9MQWvTSYdXK4bt+tXrcOLW5LNOHrqotQnCvNtiDFpYDXKN8MnyarHiNxbcEdOKiZ9tye6JxplP1Gsb/QiNan1e2U1axEj0yBMrcMLq0WPVdtPYP+JGpw4U48fjMhEjEkj22vqLDf6syIa2d1+PPuv3a2+a0fk3iLtlCl37BfUEvsERcJ+QS2xTxAAKBQKGK8wJ5TvzP5mIAJOtz/ikhfhUvTM6w/ixZX7vnVtlUZ3ABcdXsyZnAODXoXztS6s3FKG7kmD4HT7YTJoWhUPf/m9/Zgysg+WlxxDUb4tYrtSEoyIMWmwZscJPPzD2+APCijM74tXVu0Pq7GkvUHBl47i9QUj1iN67Ce3y3aJn06jwu5DVVhQmAuPNwiDToX1O0+ib0ZcZzft2nyTYvYyYzZqUbLrdNgS05JdpzHo1sGd3bR202nVUmYmcHnDgmfm3tnJLaObQfPl4U1kv7yUiIiIqIMwsNTFtbVdevPJ8RUHv5dqRjR6/FCrVLjY6EWSVY+vq51hxboL820wGzWornfj1DkHUhNMkQNH8QZMH2ODVqOM2K7qi25M+l5vaNRKPPP/PkPBiEys+/hk2GTxtXUHQwEYGQ/W3b7I9YjcMl7ip9Oq8P3bM/DiistLQWZPzoZe5kHAaKRUAHcPzYiq3e6cnshBdKfHjwSzfDPmSB7a+q6Vez02IiIioo4g8725ol9TjZimVPymCeS2zyukY8IGv4pQSn9FtRN2TwAnKx1YvOxzlJ1pwBOvfYrF/96DPUeq8fJ7+1tlBhTl98PfVuzDyi1lOF/napX+r9OoUFXjwrqPTkKvVWPG2L5h7SrMt2HL7tN4+8NjsDsvTRIViFwQ2ivfAAwAxBi1EV+fGIN8JyFeXxCvrT0YHgRcexBeX/Aqj6SO1ny3u+ljbCgYkYni0nLUObyd3bR2ayqI3xwn9tRRIn3XSvXYiIiIiOiKmLHU1YlAVnosFj88DPVOH6wmLarrPXA4/QBaD36bFx/NyrDivrFZuP+eLCiVCqR3M+P4mQYIohgx2HP8zEXp9i27T6Mo3xaWEVGYb8PG0nJ4/UG8WXwEM8b2xe9/nIeDX9UBIrCxtBw19R4AkJbqNbWx5a/Acq+ZEgwE8VBBNl5fd1B6fR4qyEYwKN8gTNsZI/LdFS5aWWN00Kia/S6gADQqpayDMNFaaJ1kIsJ3LfseERER0TfDwJIctKgRYzFqIg5+7W6/NCm7tUcsRudl4Nl/fhYW+ABOAYgc7BGabWhWU+9BcWl5qN6OL4jzta6wwJHXH0ScRQ+fX8C6j062OpdSEVqSs21PBR6ckAW70y/tnhYXo4NGLe9kOZVKhdXbj4fVuFm9/TgWFA7s7Ka1W1u7wplkXGQ9WlmMakwfY8PS1Qekf9/zpubAYtIAct2YkBN76mxRWI+NiIiIqCPIe3Z/s2la5nbBCSgUSE8OVYmuuOBEoy+IGrtXCgpMvquPlE0DhAJBr687iMl39cG2PRUoyreFpfz/9Af9sXPf2bCnczj9UEABg06FdR+flIJKTY8x6tXQqBSYf++AsHPNGNsXFpNGus0fELFmxwms3FKGNTtOwOMLwOHy39jX6gZrdPtQVevCyq1lWLmlDCu3lqGq1oVGt3yvS61StuoXRfk2qGUeBIxGdqdfCioBoX/fS1cfgN0p3/4HQJrYpyeaQpP7aJnYt1iiDPmWwiIiIiIiaoWpCHKhuLzMLcakwZi8DHRPNqG63o3S/ZUYlpMGr1+QMk483mDEZU0eXxAalRJ9usfid7Py4PUFYTJo8NYHh5E/NCOsoPf8ewegut6F/3z5datlcXOnZMPl9qO2wYPNu05jQWEuzpx3QBCA9f/5CgAwZWQffKd3PJ79f5+12D3tGJ6cfUeHv4TXk1atipjdo9XINwjTlKXWPAuruLQc3RJMSJTxEqtoxB2sZEQRvkS5aYlfVnps9ATOiIiIiOimxsCSTNhdfimoNH5Yr7AA0E9/0B9rdpyAPyigMN+GFSVlMOgjBz5SE00oursvnvnn7rAA0sThmbhw0YWifBu8/iB6psZi1fYyVJxrRGG+DaUHKjFlZB/0SrPgXK0TJoMW5ZV2rNlxAl5/EP/ccKhVu7QaJTzeyLunNbr9SLHoOvplvG4MejVmTchCQ7MlfrEmDQw6+f6TiovRweH0Y+XWMuk2nUaFWLN83ycA0s6I9Y0+WGN0sBjUsp/QW2N0SE0wYnhudyn7Zefes7KusRStmj67mwfXX1y5D4sfHsYgIBERERFFBfmmV9xkmjIURg9Ol4I3QGiS8sb7hzA8tztq6j3YeCnjpKHRi7lTcsKWNT1UkA23N9BqR7hXVu3H6SoHlm8uQ5xFD4NOjdffP4DjZxqkHeMG2lKwvOQYAkEBTncA5ZXhRcCbP/cv7xuIX943CCW7TiPG1MbuabLfaUeApcUW6KG/5VrgBogxqVv1mblTcmAxyzdY1pQt8tuXS/HkG7vw2yWf4EhFg+yXIjXVWFr38Ums3FKGdR+dxPQxtlCNJepSrpRdRkQU9bgUmIjopiDjGePNxRpzaStuBSJOUnqmxuCRabkw6FVYs+MEKs41Ys6UbKn4tkmvRkOjt80MoqbzvrJqP6aPuTWsnlLT/TqNChq1EkolIIiAUqEIy4qqqfdg3ccn8ZsHBqOmwYX5996GoCC0WkZXlG9DUJBvAAYARFGBC3VuKWOr6boSrYbOblq7uT1B7DpYiUWz8mB3+WAxarHxk6/QI8UMo0l19RN0QdGaLdJWjSW5X1e0ZpdFyh5ldhkRRT0uBSYiumkwsCQTTVtxn7nQGHGScq7OBY83CKUSKMrvB7fXB5NBi+ff3IMYkwYThvXC8pIy/FdhbsTHN33Be/1BxFsMSLTqMXpwOqAIBZAMOhVmT85GbYMbvW+JxT/XH8Kk4b3xUEG2VCRcp1GhMN+G198/iOG53eHxNSA10YTSA5VSgEuvVWHtRydwS7JZ1lvY+/yCFCwDQq/b8pIyPPaT2zu5Ze3X6Pajb88EPPev3WHvZ6PbjwSZToKjtRZRVF5XlE5Amj67W14Xd7wjomgXrT/uEBFRawwsycWlrbh7JJuQEm8I22Z8xth+0KgVYfWN5k0dAEEQMW/qAMTH6vDcpZpK5y+6pDpMzWs0OT1+JFr1cDj9SIjVS4GopmNmT87Gh5+ekjKhpo66Fau3H8f9Y/uFFXveWFqOmnoP0ruZYXf6UNvgxrCcNLy4Yl9YZk+MTAMVTVxtZH65vIFOatG102vVrZZZrigpk3Wh9WjNFmnzuszyva6onYBc+uxe/PAw1Dt9sJq0DCoR0U0hKn8EISKiiBhYkhMREAQRK7eUScGcrIw4nKqy483i8IDA0tX78eTsO6BSKuHzBbGgMBdVNU6kxBux/uOT+OV9g+DxBXCu1oWVW8vgcPpRlG9DQqweWq2yVTbOa2sPomBEJo6facCraw7iidlD8eCE70ChUGDdxydbTXCVCiXeLD6C6WNuxZbPKi4HnwBs3nUaWb3iO/zlu57Mek3Eib1JL9+BUn2jN/IAsNEr20LrSgUiLsVUKuVd5CEoiG0sMe3slrVfVE9ARMBi0Fy+DgaVuqYoXIpJ1Jmi9ccdIiJqjYElOVEANXYvqi4FgxKtegy0JcHrD0ackJ2vdWHFlmPIH5oRns107wAolQq8smp/2OOWl5Rh0Y/z0GBvHWCIMWlgy7Di6Tl3QBABh9MPg04FtzfQaoJbmG9DZU0jvP5QbaeWz1+Yb4PbFwAgz2AFAOh1oUyxtz88GpY5ZtDJsxYRENoVLnIWjHzfpzq7F8WXiso3ZdUVl5ajV5oFZhnv4Fdd7454XamJJsTJtDA+JyDUqaJ0KSZRZ+JSYCKim4d8Z1Y3GwVwstIBhVKBH43PQlyMHhaTBv8uPoSCkbdGnJDVOTwYntu91fKmpav241f3D4oYjHK6A6g45wjbylyvVSI5zgCIQE2DF+frXNiy+zQcTj9mjO0n1VA6fc4Bg1YFQRSRlmSCTqNCjxQLnnpjV1QtrwIAjy8IrVqBKSP7QBBFKBUKaNUKeHxBQKbZFUqliLlTcvCPNZeXWc6dkgOVSr6jP2uMDg6nHyu3lkm3RUOwIiFWH/G6Eiz6TmzVteEEhDpT1C7FJOpMXApMRHTTYGBJJpy+IHQ6Fers3lb1kXYd+Bo//UF/vPH+obDsmbREI/xBATEmDbz1l4NIXn8Qeo0qYjBKqVTg86PnMO37NinAkJpgxA+/b8NLKz8PyzraWFqOtz88ioIRmTh9zoGde88if2gGVm45jhiTBjPG9kN9oxcxJg0KBl9eCrdtT4Wsl1cBQKPLj1U7TkgFzgVBxKodJzC7IAeIlefkPhAA3t1aFpYF8+7WMjwyPbezm9Zu0boULiFGi3lTc8Jqrc2bmoMEixaQ63I4TkCoE0X1UkyizsSlwERENwUGlroiBfD1hUacq3GG6jwY1Thb7YQC4cvXvP4g3nj/EH553yCs2h4KCKQkGFF90Q1BEHC+zoVGdwD3j83CRYcbG0tPoabeA51GBb8/GHEpV1V1Iwb36yYFlQBgeG53vLrmQKuso4IRmaGMCUUoWDR/6m04fqYeBXdlAgD+8+VZzJ6cg6kj++DN4iPS8zw4IQsJMg2+NImzRM6EiZNxsMzp8cPfvEiPAvAHBTg9Adnu4Heh3hNxyViPlBiYU8yd3bz2E4DbMuPxzNw7cbHRizizTt5BpSbROgFh7Z4uj0sxiYiIiNqPgaWupkWdh6wMK340oT+CQQEKhSLiL6qnqhpwR3Yq/AExVOBbFKFUArdmxOFigxdOtx/dEsy47+6+eG/rceQPzcCq7ccxblgvTBnZB2qVAmmJZkAh4nydC6mJRinLSKtR4tYeVhj0Kri9QWzbU4Gaek+oHYrQwNvWw4oBfRJQfdGNNTtOhGU1qZSQgkpN7X2z+Aiee/jOznh1rxtRBGZNyEKD0y8thYs1aSDKeLIYF6PDpO9ltgo2ynmnMYNOHTEAqJdxfSWJACSYtejXKwHV1Q75B5Wi1aVlzCcr7dJnRWaaBZlpMQwudSFciklERETUflEwu4ouzes83NojFt+/PQMvrtiL/KEZ8PmFiL+oCgKQYDHgldX7pQHx/HsHoLrOhZdWfindNmdKDn72wwFY8t5+3HNnT/iDAgw6FQw6Nf62Yq903O9/nIcJw3q1Ksi9c+9ZjB/WCxtLy+Fw+qFUKDB3Sg48Pj9OnG2QgkrA5aym7smRaznVNngRZ5BvwMLh9CEgiGGBtAfG9YPD6UOSTAMx/oAgBZWA0Pv09odH8eTsoZ3csvaLMWoiLoWzGPjR1yVFYWZPoyeAs9WNYZ8VRfk2pMQbZF1APupwKSYRERFRu3FU28U0r/Nw7ygb1n10HPOmDsCRU3XQapR4+N4cvLzqQFjAp2TXadw1qEdYQOCVVfsxZWSfsNteXXMAT865Aw9O6A+fPwC1WgWdWoWz1U6pDpPXH8SJsw0o2XX68vIhACW7TkuFwKeM7IOUeAPiY3RQKIFXVh3AA+OypCVwzbOadG3UctJp5bt7GgCYjRosWxYehFn2wVH8YY58i5I7XP6I9bAcLj9SZFoU2qxToXuSOazIevckM8x6+Qcsok6U7spldwekwCYQ+qxYXlKGW9PjGFjqaqJ1KSYRERHRDcZRbRfTVOchvZsZsWYNxgztief+tfty1tHkbPz2R0NQVnERghAK+BTm98WyTUfCzhNj0qBXmgXTx9gAhAIEAFBV7Qzb9asw34aPvjgjZSLV1HugUAD5QzPCioQX5tugUIQmRclxBqQmmfDfyz7HvKkDkD80Ay+u2Bd2bFNWk0GvjpgxYpD5hMru9LUZhEmOkWedJZNB3SpTrSjfBqOcs3tEIPOWGFhjdKi1e5Bg0UdHLaIoFK27cnm8gYhZmx5voJNaRERERER0fcl4xhidLAY1Hp0xCPVOH5yuABoavZgzOQcGvQrn61x4b9tx/GRSNrQaFWJNOtw1qAeS4gxwOP3SORKtekwY1gt/fvuLFvWOFGFFuZuWqxXl2+D1C7gvvx8anB7cmm7F069/1uq4BYW50GlUOFfrglKpCAWOtGopANX82Ckj+0CnUcLh9CApzhCWMZIUZ4BeL++MpTaDMDK+LrVKGTGzQs5ZWFAAR05HXxZMNKpvI1gr9125EmP1EbM2E2Vc6J+IiIiIqDllZzeAWhCBpDg9Vm8/DofbhxUlZXjp3X342/J9gAhMGt4blTUO9M2Ig1IJ9EyLgc8XQGG+DTpNKKgxJi+jVYBgRUkZMlItrX45jzFpYDJosGbHCbz07j6sKDmOqmoXYkzhEzmvP4hztc5QraV9Z6HXhgIpdlfkLZp7pJhRXFoOj0/Ezr1nkdUzDj1SzMjqGYede8+i3u67gS/ijadSRg7CqJTy/Sfl9rSRWeGTb2ZFW1kwdpf/Ko+kjhZj1GLCsF5Y9/FJrNxShnUfncSEYb0QY5RnzbImFqMa86bmSJ/POo0K86bmwGKSb7CMiIiIiKg5Zix1NQrg6xoXxn+3F5auPtAqcDFlZB/0SDHjwIkaLC8pk4pyHztVK9VESrIaIgYIfJd2mTtyuh6JVj1GD05Hz9QY/G1F+MT79XUHMWVkHywvOSY9XqdRoU93K5au3o/8oRmoqnWiuLQcjz4wOOKv8QDgcPrh8Qax6/AF7Dp8Iaw9o/MybsjL11EcbQTUHG4ZL4XTayK+lyadfCfAzWuWNfH6g7LPgolGTZ9xLT/z+mbEAZDve2V3+rFyS9nlmnUisHJLGXp1G8w+SERERERRQb7pFVHK7vKjpt4Nq1kXcUIsiCLO1TqhUSuRaNWjYEQmqi+6UDCyD3buO4uVW8pQXe+WgjtNdBoVvvrajvyhPTH0O8kYfykz4NQ5R8TnSUsyhf3CXpRvg88fxPDc7ijZdRpuTxAalRJ1dg/mTMkOO3b25Gx8/MUZ/PK+QVAqFSjK74tEqz6sLRaTvLMQzAZtxNfYpJfvRNHbIvOtaQml1y/fjKWmmmXN6TQqWGXe/6KRq42MOZdHvv0PCAU3q2pdWLm1DCu3lGHl1jJU1bpQ75R31iYRERERURNmLHUx9U4fdFoVvq52RsweUSoU6JsRD6fHj0em5WLp6v2oqnVhzY6TmH/vAJj1agiCiN/MHILjZy5CEIGde88if2iGVFD7idl34A+vfSqdu/nzJFr1GD+sFzQqJX7/49uhVIhQq1WwN/pw5oIDO/edxZSRfbBmxwk8OKE/3iw+hAcn9r9cB6rWhU8PVGJodhr+8s7lGk9F+TYUX3r+OZOzodHIO6bpdPtRmG9rVeDc5fEDMq2dYjZqsftQFRYU5sLjC0KvVWHDzpMYdGtiZzet3SwGNRZMz21VY4nbiHc90VqLqCm42fK6GNwkIiIiomjBwFIXYzFp0egO4L1txzFjbF+8/eGxsOBMYqweS97dh6paF3QaFWaM7Yv1//kKNfUevLJqP2aM7YugIIYFPObfOwBB4fLykot2jzTJ2banQgqQxJg0mPS9TLz94dGw59RrVRABlOyqwNRRtyLJqsddg3pAhID8oRn4S7Mi4T/9QX+MG9YLL/zP562WtPz2R0Pg8Qbh8/tRb/cgXsbLQMxGDUp2nQ5b3lKy6zQWFA7s7Ka1m8Woxt139Azb4U+qBSPXXdREICs9FosfHoZ6pw9WkzZ6gkqKUIbjuRPVMOrUsBjUsr6uaA0CRut1ERERERE1UYiiGFVD29raRgiCTC9JAZxvcEMQFHjqjV1I72bGtO/bIAgijHoNfL4g3lh/EFW1LukhOo0KBSMysXJrGQDg1w8MlgIDzY9p2hVu0/+ewrypA/Dcv3aHZSmNycuALd2Kxf/e0+qxU0b2AQAIgoh1H5/E72YNQfnXdmR2j8Wz/9zd6vhFP87DSyv3oabeE3Z5j0zPRfVFN2JNGmT2sCJRxr/Yn3e4UVXtlnbZ02lUmDslB6lJBqTEGG7IcyYlxaC62nFDzg0Adrcfv325tNX7Kfft3qOSAjhSEYW73V0KlkVrELCjrutGf1aQPLFfUEvsExQJ+wW1xD5BAKBUKpCQYG7zfmYsdSFOXxDnat3Y/Okp/J/7cqFUqXDibD0EETDpVXB6gmFBJSCUDdS0NbdOo4LHGwwLGI0enA4ogF6pFqzccgyzJ+dgz+Eq/PQH/fHG+4dCBaedfmg1Snz1dUObdZ0AAIrQ343uAG5JMuL4mfqIxx8pr8OEYb1QXFouBZd0mtAyuZVbQwXHn5l/5w14BTuOSqkCIOK/CgfC7QvAoFXD4/Nful2e6ht9SO9mxuS7+sDjDcKgV2HNjhPyL3StBGrtPtTaPUiI1SMhRivfDKxL2trtTvZBQBGwGDSXryEagkpAdF5XU7Cs0QdrjE72GXNERERE1H4MLHUhDpcfS1cfwKwJWXD7Bbz8zr6wJWaAIvIObCKkjBmTIbSzV4xJg/HDeoUtifvpD/qjweFBeqoVq7cfR8GITCiVQM/UWKzaXobB/bq1WdcJCGUs6TQqnD3fCFu6FZm3xEY8XhAg7WC3vOSYlDG1sbQcQGgSXGf3IkHG24i7vQH8Y83BiNlakGkmVkKcHmOHhi+Fm12QjYRY/dUf3FUpgS9P1kk7LDYt77stM17WwSXudkedKloz5oiIiIioXeRdQTnKNDhDGSOZPWKhUakwZ3IOfjNzMNK7mfHG+4eQ3i0GRS127ZozORs9U2MwZWQfvL35KP614RAeKsjGmLwMKagEhCadb7x/CCkJJry+7qC0S9HykjL85Z0vMLhfN8TFaFvt8FaUb0OsSQOLSYOd+86iMN+GLbtPo6ziIgIBsVV7CvNt2PZ5Bbz+IJLjDPj1A4MxZWQfbGyRvWSRcVAJADy+YMSJvccXbOMRXZ/HE8SqSwHH6WNsKLgrE6u2H4fHK99rqrX7pKASEHqPlq4+gFq7vHfk4m531Jnaypizu/yd3DIiIiIi6gzMWOpCkuIMmP/DHFRWu3Chzo1YU2g3pB+Ny8K2PRVwuv1ISzLh9z/Og8Plg1qlglGnwjMt6hyt3n4cD074TsTAh8Plj3h7eooZaz46gYsOLx77SR6cniAMOhUCAQGCIKKyphGzJvbHe9vK4HD6IQihQFjpgUosmpWHI6fqIAiQAkg6jQrnal3ofYsFCbF6OJyhCUdTsEqQ+c/acTE6pCYYMTy3u7QUcefes4gzy3cHK7vLh/yhGa12urO7fEgwyzNgUdusUH0Trz8YWhYn02sCWBCaOhcz5oiIiIioOQaWuhC1Sgl/IIjaem/Y5L4o34bbs1Nhb/ThldUHkJpgxJwpOfD6gnB6AogxaeCtvzzIr6p1Qa9TR1ympteqIgZEKs434s6cNJTsOg1AgVOVdqzZcSJiIe87c5Qo2XUaP53UH8Ny0rB09f6IAYmSXadxmy1XyoJp2j2tuLQcaUlmwCLfJVYmgwrTx9haLbEyGeVbY8lk0LTKcltRUoY/zLmjk1vWfgltbGGfIOO+ByBstzuXPwijRsWgEnWYpoy5lv+umDFHREREdHPqsMBSeXk5Fi5ciPr6elitVixevBg9e/YMOyYYDOKZZ57Bzp2X2QFwAAAXFElEQVQ7oVAoMGfOHEybNq2jmtjp/P4gBIhIshowZ3KOVDy5qV5R71ssSLTqkT80A8+/uScs8NSyUPZFuxsPFWTj9XUHpeMeKsiG3enBD79vw6vNdjN7qCAbm3edQsW5Rix8cAjKKi5CEMWIv0gnWQ14b1uoPVV1Liy/FIjYWFou1WzqkRKDZR8cQf7QDPx95T7cPTSjVftiZZwtAgANDn/EJVZPPDQUhlh5Bpc83kAby/sCAOSZiZUQo8W8qTmtAoAJFvkX8G4qCJ2ZHh/aqYNBJeogzJgjIiIiouY6LLD0xBNPYMaMGSgoKMC6devw+OOP49///nfYMevXr0dFRQU2b96M+vp6TJ48GXfeeSe6d+/eUc3sVBaLCsdPOXD2ghNqlQIGvRk/HHUrquvd8AcF+AMCRg9Ob5VV0rJQ9kMF2dBq1HB5PPjljEE4VdmAXmmxUCpEiFDg7+9+Efb419cdRMGITBw/0wC3NwCFAlAqIhcK1+tUGJ7bHU6PH95mdYZq6j1YubUMALBgei6G53aXlsW1bN+8qTnQ6+WdLOf0RF5S6PQEgNhOatQ1MrSZ5Sbj90oAbsuMxzNz7wwtf7PooyOoFK2405g8NMuYq3f6YDVpGVQiIiIiuol1SPHu2tpaHD58GBMnTgQATJw4EYcPH0ZdXV3YcRs3bsS0adOgVCoRHx+PMWPGYNOmTR3RxC6hwR5E9UU31uw4gWWbjuJvy/fi6xonij8ph9lwaeCuQMSARnKcAY/ePwi/mjEIVrMW/9xwCP/eeBRatRJZPeOhVingcPnx1dcNER8PRSiIEGPUwqBVI9akaVWYe8bYvvjnhkNY9/FJJMcZkZ4SE7GA8LlLhcGbMpS8/iB6plnwf+4fhEWz8vDJl1+j8kLjDXwlbzy9Vh3x2nVaeWYrAaFgWWGEYuwuT6CTW3aNBCDBrIUtzRKqq8SgUtd0aaex375ciiff2IXfLvkERyoapCW71MVcyphLTzSF6ioxqERERER00+qQVISqqiqkpKRApQpNWFUqFZKTk1FVVYX4+Piw49LS0qS/U1NTce7cuY5oYpfg9gSkpWXA5Ro3BSMy8fq6g3j0/sEAEDGrJDneiDeLD+H4mQZMH2ODw+lHUb4N52qdWL3jBGrqPUi06vHItNyIj1cqFCjKt8EfEPCv4iOIMWkwYVgvLCjMhdcXRIxRi3+s3S+d958bDkGjUmLOlJywZXXz7x2AFSXHwq5Lp1Hhq7MNUkaTTqPCvaNtN/rlvKGUSqAo3ya9X01LElVK+c6CTXoNSnadDquHVbLrNP6raGBnN41uAm3tNLb44WEsCE1ERERE1IXJeI1LZAkJ5s5uQrudOOdoM5vI6w9ChIhYkwbzfzgAr7y3PyyYc6HOieNnGqDTqJDdOx79MuJw5rxDCioBgMMZylhqGRD56Q/6w+0NIMGiQ6MrtNuPtz6INzcekdqxaFYexuSlQ6NWonuyGWPy0iEIwKb/vVxbKdeWBI1GifvG9sOSd7+Uzj93Sg7ebRZUmjslBzqdAklJMR334l5n5+we6LWhYuaCKEKpUECvVQEK3NDrupHnvuDwRizCfqOvia5dNLw/505UR/z8c/mDyEyPb+NR1JZo6BN0/bFfUEvsExQJ+wW1xD5BV9MhgaXU1FScP38ewWAQKpUKwWAQFy5cQGpqaqvjKisrMWDAAACtM5i+idraRgiCPHPyk+Ii77QDMfTf6osueP0C/lNajoUPDoHHG4RSqYDT7cPbmy/XVxIEEa+tPYCiu/vB4fRL55k3dQBcHh9SE834vz+9HXUNHqhVKpy/6ITXJ0CvUyPGpI3YhhijBt0STXjlvf1SNlNTcKriXCMWTM9FskUHiEBcTysWzcrDkVN16JESg9p6JxYUDkSd3YN4ix77j59H71tiQgWHZcrcRgZFjEF9w64rKenGvmZ6jSpixtKgWxNl/V5FuxvdLzqKsY0aX0aNKiquryNFS5+g64v9glpin6BI2C+oJfYJAgClUnHFJJ4OCSwlJCQgKysLGzZsQEFBATZs2ICsrKywZXAAcM899+Ddd9/F3Xffjfr6emzZsgVvvfVWRzSxS4g1a/FI4W14acWXYRkjJbtOY/4PByA1wQiXJ4Dbbk1AUAA8viBijBrUNrgxekj6pYLbSqwoOYZp37fhliQDnnhoKBqcPljNOnh9ASTE6qFUhWoEpSQY4fML0GpjEGvSQoQABRStMqJ+Nu02mA0apMTppSLISVYDBtoSQ0V2WxZuFYAeiUbEGjVo9PghCEY8+dqnl3cPKsyFRS/vmhxmrQqJVgMaLgXuACDRaoBZK99iwxaDGg/ck8WdnqhTcKcxIiIiIiJ5Uoii2CFD9pMnT2LhwoWw2+2wWCxYvHgxevfujdmzZ2PBggXIyclBMBjEU089hU8++QQAMHv2bBQWFn6r55FzxhIAQAOcr/WivtELq1mHoBCAWq2GSqlAo8sPnVYFg06NQEBAbYMHKfFG+PxB1Nq9iIvRISgEAShhMahh1qsBBVBr9327HbGadma6Xrv9XO/zdRUdfF0d8mtBtL5XUSyqfkVi/7suoqpP0HXDfkEtsU9QJOwX1BL7BAFXz1jqsMBSR5F9YOkS/gOmltgnKBL2C2qJfYIiYb+gltgnKBL2C2qJfYKAqweWlB3YFiIiIiIiIiIiiiIMLBERERERERERUbswsERERERERERERO3CwBIREREREREREbULA0tERERERERERNQuDCwREREREREREVG7MLBERERERERERETtwsASERERERERERG1CwNLRERERERERETULgwsERERERERERFRuzCwRERERERERERE7cLAEhERERERERERtQsDS0RERERERERE1C4MLBERERERERERUbswsERERERERERERO3CwBIREREREREREbULA0tERERERERERNQuDCwREREREREREVG7qDu7AdebUqno7CZcN9F0LXR9sE9QJOwX1BL7BEXC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\n",
"text/plain": [
"<Figure size 1440x720 with 1 Axes>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "-rxytFAPCOAk"
},
"source": [
"## T検定を使ってみよう!"
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 666
},
"id": "D8s4Fn5yBhSf",
"outputId": "032e8ddc-fa61-4dac-b4e3-c55b366d6f43"
},
"source": [
"df.head()"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"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>id</th>\n",
" <th>brand</th>\n",
" <th>category</th>\n",
" <th>name</th>\n",
" <th>size</th>\n",
" <th>rating</th>\n",
" <th>number_of_reviews</th>\n",
" <th>love</th>\n",
" <th>price</th>\n",
" <th>value_price</th>\n",
" <th>URL</th>\n",
" <th>MarketingFlags</th>\n",
" <th>MarketingFlags_content</th>\n",
" <th>options</th>\n",
" <th>details</th>\n",
" <th>how_to_use</th>\n",
" <th>ingredients</th>\n",
" <th>online_only</th>\n",
" <th>exclusive</th>\n",
" <th>limited_edition</th>\n",
" <th>limited_time_offer</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>2218774</td>\n",
" <td>Acqua Di Parma</td>\n",
" <td>Fragrance</td>\n",
" <td>Blu Mediterraneo MINIATURE Set</td>\n",
" <td>5 x 0.16oz/5mL</td>\n",
" <td>4.0</td>\n",
" <td>4</td>\n",
" <td>3002</td>\n",
" <td>66.0</td>\n",
" <td>75.0</td>\n",
" <td>https://www.sephora.com/product/blu-mediterran...</td>\n",
" <td>True</td>\n",
" <td>online only</td>\n",
" <td>no options</td>\n",
" <td>This enchanting set comes in a specially handc...</td>\n",
" <td>Suggested Usage:-Fragrance is intensified by t...</td>\n",
" <td>Arancia di Capri Eau de Toilette: Alcohol Dena...</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>2044816</td>\n",
" <td>Acqua Di Parma</td>\n",
" <td>Cologne</td>\n",
" <td>Colonia</td>\n",
" <td>0.7 oz/ 20 mL</td>\n",
" <td>4.5</td>\n",
" <td>76</td>\n",
" <td>2700</td>\n",
" <td>66.0</td>\n",
" <td>66.0</td>\n",
" <td>https://www.sephora.com/product/colonia-P16360...</td>\n",
" <td>True</td>\n",
" <td>online only</td>\n",
" <td>- 0.7 oz/ 20 mL Spray - 1.7 oz/ 50 mL Eau d...</td>\n",
" <td>An elegant timeless scent filled with a fresh-...</td>\n",
" <td>no instructions</td>\n",
" <td>unknown</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>1417567</td>\n",
" <td>Acqua Di Parma</td>\n",
" <td>Perfume</td>\n",
" <td>Arancia di Capri</td>\n",
" <td>5 oz/ 148 mL</td>\n",
" <td>4.5</td>\n",
" <td>26</td>\n",
" <td>2600</td>\n",
" <td>180.0</td>\n",
" <td>180.0</td>\n",
" <td>https://www.sephora.com/product/blu-mediterran...</td>\n",
" <td>True</td>\n",
" <td>online only</td>\n",
" <td>- 1oz/30mL Eau de Toilette - 2.5 oz/ 74 mL E...</td>\n",
" <td>Fragrance Family: Fresh Scent Type: Fresh Citr...</td>\n",
" <td>no instructions</td>\n",
" <td>Alcohol Denat.- Water- Fragrance- Limonene- Li...</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>1417617</td>\n",
" <td>Acqua Di Parma</td>\n",
" <td>Perfume</td>\n",
" <td>Mirto di Panarea</td>\n",
" <td>2.5 oz/ 74 mL</td>\n",
" <td>4.5</td>\n",
" <td>23</td>\n",
" <td>2900</td>\n",
" <td>120.0</td>\n",
" <td>120.0</td>\n",
" <td>https://www.sephora.com/product/blu-mediterran...</td>\n",
" <td>True</td>\n",
" <td>online only</td>\n",
" <td>- 1 oz/ 30 mL Eau de Toilette Spray - 2.5 oz/...</td>\n",
" <td>Panarea near Sicily is an an island suspended ...</td>\n",
" <td>no instructions</td>\n",
" <td>unknown</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>2218766</td>\n",
" <td>Acqua Di Parma</td>\n",
" <td>Fragrance</td>\n",
" <td>Colonia Miniature Set</td>\n",
" <td>5 x 0.16oz/5mL</td>\n",
" <td>3.5</td>\n",
" <td>2</td>\n",
" <td>943</td>\n",
" <td>72.0</td>\n",
" <td>80.0</td>\n",
" <td>https://www.sephora.com/product/colonia-miniat...</td>\n",
" <td>True</td>\n",
" <td>online only</td>\n",
" <td>no options</td>\n",
" <td>The Colonia Miniature Set comes in an iconic A...</td>\n",
" <td>Suggested Usage:-Fragrance is intensified by t...</td>\n",
" <td>Colonia: Alcohol Denat.- Water- Fragrance- Lim...</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" id brand ... limited_edition limited_time_offer\n",
"0 2218774 Acqua Di Parma ... 0 0\n",
"1 2044816 Acqua Di Parma ... 0 0\n",
"2 1417567 Acqua Di Parma ... 0 0\n",
"3 1417617 Acqua Di Parma ... 0 0\n",
"4 2218766 Acqua Di Parma ... 0 0\n",
"\n",
"[5 rows x 21 columns]"
]
},
"metadata": {
"tags": []
},
"execution_count": 10
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "GB4NAwpPQbgJ",
"outputId": "e6bcccac-70c5-4a38-8cf8-dc11cc3e5326"
},
"source": [
"df[\"MarketingFlags\"].value_counts()"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"False 4786\n",
"True 4382\n",
"Name: MarketingFlags, dtype: int64"
]
},
"metadata": {
"tags": []
},
"execution_count": 12
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "K5IwCncvQfLM",
"outputId": "467f1f65-e98c-4eb5-e0c5-7adf63e9ca60"
},
"source": [
"df.groupby(\"MarketingFlags\").mean()[\"rating\"]"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"MarketingFlags\n",
"False 4.094547\n",
"True 3.875856\n",
"Name: rating, dtype: float64"
]
},
"metadata": {
"tags": []
},
"execution_count": 15
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 268
},
"id": "ec350SAMQpqe",
"outputId": "7ef178e9-cee1-4d74-b751-166227cae5aa"
},
"source": [
"plt.hist(df[\"rating\"], bins=30)\n",
"plt.show()"
],
"execution_count": null,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "BJpRshdQRlcR"
},
"source": [
""
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "czw3Vl7qToNM"
},
"source": [
"# t検定をやってみよう!"
]
},
{
"cell_type": "code",
"metadata": {
"id": "R8wNnQSyU4_m"
},
"source": [
"import pandas as pd\n",
"import numpy as np\n",
"import scipy as sp"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "MhuiMcuETqhM"
},
"source": [
"data = np.array([205,198,197,208,204,202,207,199,207,203])"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "AOWAKvVhUY-O"
},
"source": [
"n = len(data) #サンプル数\n",
"var = np.var(data, ddof=1) #不偏分散\n",
"mean = np.mean(data) #標本平均"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "dM5b3mKLYbnh",
"outputId": "79211a7d-4d21-46b9-c9f9-48ca6d5fc8e9"
},
"source": [
"(mean - 200)/(np.sqrt(var/n))\n",
"#t分布と比較して確認"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"2.4053511772118195"
]
},
"metadata": {
"tags": []
},
"execution_count": 50
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "Y3n8l7EtUh7t"
},
"source": [
"t, p = sp.stats.ttest_1samp(data, popmean=200)"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "PxbUoDgTYG_g",
"outputId": "a3cb242b-f142-4a67-ede7-de27fc03a19b"
},
"source": [
"t"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"2.4053511772118195"
]
},
"metadata": {
"tags": []
},
"execution_count": 37
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "Xe_XtKPNYV90",
"outputId": "e4e60805-1204-4f4d-8fa5-1dfed0b16318"
},
"source": [
"p"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"0.03954935477242847"
]
},
"metadata": {
"tags": []
},
"execution_count": 51
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "KhoPXr47fyT-"
},
"source": [
""
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "Y15Acpr9gVQu"
},
"source": [
"# カイニ乗検定"
]
},
{
"cell_type": "code",
"metadata": {
"id": "aWT4yVwqhNyQ"
},
"source": [
"data = pd.DataFrame([[1000, 60], [400, 40]])"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 111
},
"id": "N-HmIEtjiO8H",
"outputId": "2993cde1-97ae-4e9a-a3f1-50c295f4ee39"
},
"source": [
"data"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"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>0</th>\n",
" <th>1</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>1000</td>\n",
" <td>60</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>400</td>\n",
" <td>40</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" 0 1\n",
"0 1000 60\n",
"1 400 40"
]
},
"metadata": {
"tags": []
},
"execution_count": 61
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "Qu1pe3cckRlO",
"outputId": "8dc70742-dd8d-4717-97cb-07a2e0092aea"
},
"source": [
"abs(60 - 1060/15) ** 2 /(1060/15) + abs(1000 - 1060*14/15) ** 2 /(1060*14/15)\\\n",
"+ abs(40 - 440/15) ** 2 /(440/15) + abs(400 - 440*14/15) ** 2 /(440*14/15)\n",
"# カイ二乗分布で確認"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"5.880911541288903"
]
},
"metadata": {
"tags": []
},
"execution_count": 75
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "efdPmglGhZzO",
"outputId": "26d85bf1-1901-46b0-b1e7-55294f2f7773"
},
"source": [
"sp.stats.chi2_contingency(data, correction=False)"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"(5.880911541288903,\n",
" 0.015305895674955605,\n",
" 1,\n",
" array([[989.33333333, 70.66666667],\n",
" [410.66666667, 29.33333333]]))"
]
},
"metadata": {
"tags": []
},
"execution_count": 74
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "kmOUHLbWkq_O"
},
"source": [
"# 回帰分析"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "7tc5jddZqZJ7"
},
"source": [
"# 単回帰"
]
},
{
"cell_type": "code",
"metadata": {
"id": "eQbQqD6RjVxx"
},
"source": [
"import pandas as pd\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"import seaborn as sns\n",
"from sklearn.linear_model import LinearRegression\n",
"from sklearn.datasets import load_boston\n",
"sns.set()"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "tsgkYZu8mQZN"
},
"source": [
"boston = load_boston()\n",
"df = boston.data\n",
"df = pd.DataFrame(df, columns = boston.feature_names)\n",
"df[\"MEDV\"] = boston.target"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 419
},
"id": "gYVz6ahrsXd-",
"outputId": "6dfc88a9-a90f-40af-cfb3-0bc4f443c0ea"
},
"source": [
"df"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"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>CRIM</th>\n",
" <th>ZN</th>\n",
" <th>INDUS</th>\n",
" <th>CHAS</th>\n",
" <th>NOX</th>\n",
" <th>RM</th>\n",
" <th>AGE</th>\n",
" <th>DIS</th>\n",
" <th>RAD</th>\n",
" <th>TAX</th>\n",
" <th>PTRATIO</th>\n",
" <th>B</th>\n",
" <th>LSTAT</th>\n",
" <th>MEDV</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>0.00632</td>\n",
" <td>18.0</td>\n",
" <td>2.31</td>\n",
" <td>0.0</td>\n",
" <td>0.538</td>\n",
" <td>6.575</td>\n",
" <td>65.2</td>\n",
" <td>4.0900</td>\n",
" <td>1.0</td>\n",
" <td>296.0</td>\n",
" <td>15.3</td>\n",
" <td>396.90</td>\n",
" <td>4.98</td>\n",
" <td>24.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>0.02731</td>\n",
" <td>0.0</td>\n",
" <td>7.07</td>\n",
" <td>0.0</td>\n",
" <td>0.469</td>\n",
" <td>6.421</td>\n",
" <td>78.9</td>\n",
" <td>4.9671</td>\n",
" <td>2.0</td>\n",
" <td>242.0</td>\n",
" <td>17.8</td>\n",
" <td>396.90</td>\n",
" <td>9.14</td>\n",
" <td>21.6</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>0.02729</td>\n",
" <td>0.0</td>\n",
" <td>7.07</td>\n",
" <td>0.0</td>\n",
" <td>0.469</td>\n",
" <td>7.185</td>\n",
" <td>61.1</td>\n",
" <td>4.9671</td>\n",
" <td>2.0</td>\n",
" <td>242.0</td>\n",
" <td>17.8</td>\n",
" <td>392.83</td>\n",
" <td>4.03</td>\n",
" <td>34.7</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>0.03237</td>\n",
" <td>0.0</td>\n",
" <td>2.18</td>\n",
" <td>0.0</td>\n",
" <td>0.458</td>\n",
" <td>6.998</td>\n",
" <td>45.8</td>\n",
" <td>6.0622</td>\n",
" <td>3.0</td>\n",
" <td>222.0</td>\n",
" <td>18.7</td>\n",
" <td>394.63</td>\n",
" <td>2.94</td>\n",
" <td>33.4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>0.06905</td>\n",
" <td>0.0</td>\n",
" <td>2.18</td>\n",
" <td>0.0</td>\n",
" <td>0.458</td>\n",
" <td>7.147</td>\n",
" <td>54.2</td>\n",
" <td>6.0622</td>\n",
" <td>3.0</td>\n",
" <td>222.0</td>\n",
" <td>18.7</td>\n",
" <td>396.90</td>\n",
" <td>5.33</td>\n",
" <td>36.2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>501</th>\n",
" <td>0.06263</td>\n",
" <td>0.0</td>\n",
" <td>11.93</td>\n",
" <td>0.0</td>\n",
" <td>0.573</td>\n",
" <td>6.593</td>\n",
" <td>69.1</td>\n",
" <td>2.4786</td>\n",
" <td>1.0</td>\n",
" <td>273.0</td>\n",
" <td>21.0</td>\n",
" <td>391.99</td>\n",
" <td>9.67</td>\n",
" <td>22.4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>502</th>\n",
" <td>0.04527</td>\n",
" <td>0.0</td>\n",
" <td>11.93</td>\n",
" <td>0.0</td>\n",
" <td>0.573</td>\n",
" <td>6.120</td>\n",
" <td>76.7</td>\n",
" <td>2.2875</td>\n",
" <td>1.0</td>\n",
" <td>273.0</td>\n",
" <td>21.0</td>\n",
" <td>396.90</td>\n",
" <td>9.08</td>\n",
" <td>20.6</td>\n",
" </tr>\n",
" <tr>\n",
" <th>503</th>\n",
" <td>0.06076</td>\n",
" <td>0.0</td>\n",
" <td>11.93</td>\n",
" <td>0.0</td>\n",
" <td>0.573</td>\n",
" <td>6.976</td>\n",
" <td>91.0</td>\n",
" <td>2.1675</td>\n",
" <td>1.0</td>\n",
" <td>273.0</td>\n",
" <td>21.0</td>\n",
" <td>396.90</td>\n",
" <td>5.64</td>\n",
" <td>23.9</td>\n",
" </tr>\n",
" <tr>\n",
" <th>504</th>\n",
" <td>0.10959</td>\n",
" <td>0.0</td>\n",
" <td>11.93</td>\n",
" <td>0.0</td>\n",
" <td>0.573</td>\n",
" <td>6.794</td>\n",
" <td>89.3</td>\n",
" <td>2.3889</td>\n",
" <td>1.0</td>\n",
" <td>273.0</td>\n",
" <td>21.0</td>\n",
" <td>393.45</td>\n",
" <td>6.48</td>\n",
" <td>22.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>505</th>\n",
" <td>0.04741</td>\n",
" <td>0.0</td>\n",
" <td>11.93</td>\n",
" <td>0.0</td>\n",
" <td>0.573</td>\n",
" <td>6.030</td>\n",
" <td>80.8</td>\n",
" <td>2.5050</td>\n",
" <td>1.0</td>\n",
" <td>273.0</td>\n",
" <td>21.0</td>\n",
" <td>396.90</td>\n",
" <td>7.88</td>\n",
" <td>11.9</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>506 rows × 14 columns</p>\n",
"</div>"
],
"text/plain": [
" CRIM ZN INDUS CHAS NOX ... TAX PTRATIO B LSTAT MEDV\n",
"0 0.00632 18.0 2.31 0.0 0.538 ... 296.0 15.3 396.90 4.98 24.0\n",
"1 0.02731 0.0 7.07 0.0 0.469 ... 242.0 17.8 396.90 9.14 21.6\n",
"2 0.02729 0.0 7.07 0.0 0.469 ... 242.0 17.8 392.83 4.03 34.7\n",
"3 0.03237 0.0 2.18 0.0 0.458 ... 222.0 18.7 394.63 2.94 33.4\n",
"4 0.06905 0.0 2.18 0.0 0.458 ... 222.0 18.7 396.90 5.33 36.2\n",
".. ... ... ... ... ... ... ... ... ... ... ...\n",
"501 0.06263 0.0 11.93 0.0 0.573 ... 273.0 21.0 391.99 9.67 22.4\n",
"502 0.04527 0.0 11.93 0.0 0.573 ... 273.0 21.0 396.90 9.08 20.6\n",
"503 0.06076 0.0 11.93 0.0 0.573 ... 273.0 21.0 396.90 5.64 23.9\n",
"504 0.10959 0.0 11.93 0.0 0.573 ... 273.0 21.0 393.45 6.48 22.0\n",
"505 0.04741 0.0 11.93 0.0 0.573 ... 273.0 21.0 396.90 7.88 11.9\n",
"\n",
"[506 rows x 14 columns]"
]
},
"metadata": {
"tags": []
},
"execution_count": 3
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "PQfjJn_bs0XB",
"outputId": "7c8717ad-fcff-4833-891d-006b7e83af0e"
},
"source": [
"print(boston.DESCR)"
],
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"text": [
".. _boston_dataset:\n",
"\n",
"Boston house prices dataset\n",
"---------------------------\n",
"\n",
"**Data Set Characteristics:** \n",
"\n",
" :Number of Instances: 506 \n",
"\n",
" :Number of Attributes: 13 numeric/categorical predictive. Median Value (attribute 14) is usually the target.\n",
"\n",
" :Attribute Information (in order):\n",
" - CRIM per capita crime rate by town\n",
" - ZN proportion of residential land zoned for lots over 25,000 sq.ft.\n",
" - INDUS proportion of non-retail business acres per town\n",
" - CHAS Charles River dummy variable (= 1 if tract bounds river; 0 otherwise)\n",
" - NOX nitric oxides concentration (parts per 10 million)\n",
" - RM average number of rooms per dwelling\n",
" - AGE proportion of owner-occupied units built prior to 1940\n",
" - DIS weighted distances to five Boston employment centres\n",
" - RAD index of accessibility to radial highways\n",
" - TAX full-value property-tax rate per $10,000\n",
" - PTRATIO pupil-teacher ratio by town\n",
" - B 1000(Bk - 0.63)^2 where Bk is the proportion of blacks by town\n",
" - LSTAT % lower status of the population\n",
" - MEDV Median value of owner-occupied homes in $1000's\n",
"\n",
" :Missing Attribute Values: None\n",
"\n",
" :Creator: Harrison, D. and Rubinfeld, D.L.\n",
"\n",
"This is a copy of UCI ML housing dataset.\n",
"https://archive.ics.uci.edu/ml/machine-learning-databases/housing/\n",
"\n",
"\n",
"This dataset was taken from the StatLib library which is maintained at Carnegie Mellon University.\n",
"\n",
"The Boston house-price data of Harrison, D. and Rubinfeld, D.L. 'Hedonic\n",
"prices and the demand for clean air', J. Environ. Economics & Management,\n",
"vol.5, 81-102, 1978. Used in Belsley, Kuh & Welsch, 'Regression diagnostics\n",
"...', Wiley, 1980. N.B. Various transformations are used in the table on\n",
"pages 244-261 of the latter.\n",
"\n",
"The Boston house-price data has been used in many machine learning papers that address regression\n",
"problems. \n",
" \n",
".. topic:: References\n",
"\n",
" - Belsley, Kuh & Welsch, 'Regression diagnostics: Identifying Influential Data and Sources of Collinearity', Wiley, 1980. 244-261.\n",
" - Quinlan,R. (1993). Combining Instance-Based and Model-Based Learning. In Proceedings on the Tenth International Conference of Machine Learning, 236-243, University of Massachusetts, Amherst. Morgan Kaufmann.\n",
"\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 325
},
"id": "jycZQr8YsT6v",
"outputId": "4819d555-8e88-4f13-cd4f-c66f89b1b412"
},
"source": [
"sns.heatmap(df.corr())\n",
"plt.show()"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x7f899be7e410>"
]
},
"metadata": {
"tags": []
},
"execution_count": 112
},
{
"output_type": "display_data",
"data": {
"image/png": "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enoiOTlZ7jLVhu21VccwDM6cOYN79+4BAD755BPY29vX+nesib29PebNmwdPT0/JvrKyMnz//fc4deoUjh8/rlDZgMr/DwzDoEWLFgrHEIlEOHbsGAwMDDBw4EDs3LkTFy5cgLm5Ofz8/NCqVSu5Y6Wnp7P+nNemT58+cHZ2hre3N2xtbTmJ+a6jWXyradGiBQwMDODt7Y3BgwdDS0vxitrnn38us+/Vq1dISEjAy5cvWcWaPHkygoOD0blzZzx58gTe3t7o2bMncnJycO/ePXzzzTdyx4qKisKOHTsAAJcuXcLWrVsRGhqKv//+G8uXL0dsbCyrso0bNw7R0dHo1KmT1P709HSsWLECv/32m9yxbG1tJV+kb/+24fF4+Pvvv+WKk5+fL3l848YNqWOK/GbasWMH7O3tYWFhAZFIhK+//hrnzp2DgYEBNmzYgN69e8sdq6ioCJMnT8bLly/RpUsXMAyDXbt2wdDQEAkJCXJ/ue7atQshISE4evQoIiIikJ2djSVLlmDAgAHYv38/62sEgIMHDyImJgY5OTkAADMzMwQEBGDUqFGsYy1duhR3796FUCiEmZkZysrK8Nlnn+GPP/5AaGgo1q5dK3es9evXc5ZEkpOTsX//fsyfPx/vvfcevLy84OHhgbZt23IS/53EECmXLl1igoKCGEdHRyYqKoq5e/dug2OWlZUx8fHxzKBBg5hly5Yxz58/Z/V6FxcXyePNmzczAQEBDMMwTGFhIePq6soqVvXzV6xYwaxatYphGIYRi8WsYzEMwxw4cICxt7dntm7dyojFYubly5fM3LlzmVGjRjG3b99mFevLL79kvL29mV27djEFBQWsy1LF3d29xscMwzAeHh6s440cOZIRCoUMwzBMSkoKM2LECOb58+fMqVOnmPHjx7OKFRkZySxZsoQpLy+X7BMKhcx3333HREZGsoolFouZ2NhYplevXszgwYOZixcvsnp9db/++iszcuRI5vTp00xhYSFTWFjInDp1inF1dWX27t3LOp6LiwsjFouZkpISplevXkxZWRnDMAwjEomYkSNHsoqlyP8zeVy4cIH59ttvmV69ejHffPMNk56erpT3aeqoJvKWfv36oV+/figtLcWhQ4cwceJE+Pv7w8fHh3UssViMxMREbNy4EX379sWePXtgZmbGOo6urq7k8dWrVyW/yvT19aGt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\n",
"text/plain": [
"<Figure size 432x288 with 2 Axes>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "nuHc7KFbqdcr"
},
"source": [
"df_y = df[\"MEDV\"]\n",
"df_x = df[[\"RM\"]]"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "rxHJVqIcmS1o"
},
"source": [
"lr = LinearRegression()"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "_jPJfhGir6vH",
"outputId": "3eb791da-239b-4c32-e370-bcf5989a188c"
},
"source": [
"lr.fit(df_x, df_y)"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None, normalize=False)"
]
},
"metadata": {
"tags": []
},
"execution_count": 62
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 419
},
"id": "CZdMFaemr6e5",
"outputId": "d81722a8-7b82-42ea-b4d3-fe96a12893d9"
},
"source": [
"lr.coef_\n",
"lr.intercept_\n",
"\n",
"#予測値を算出できる\n",
"lr.intercept_ + lr.coef_*df_x"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"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>RM</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>25.175746</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>23.774021</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>30.728032</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>29.025938</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>30.382152</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>501</th>\n",
" <td>25.339584</td>\n",
" </tr>\n",
" <tr>\n",
" <th>502</th>\n",
" <td>21.034286</td>\n",
" </tr>\n",
" <tr>\n",
" <th>503</th>\n",
" <td>28.825691</td>\n",
" </tr>\n",
" <tr>\n",
" <th>504</th>\n",
" <td>27.169108</td>\n",
" </tr>\n",
" <tr>\n",
" <th>505</th>\n",
" <td>20.215096</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>506 rows × 1 columns</p>\n",
"</div>"
],
"text/plain": [
" RM\n",
"0 25.175746\n",
"1 23.774021\n",
"2 30.728032\n",
"3 29.025938\n",
"4 30.382152\n",
".. ...\n",
"501 25.339584\n",
"502 21.034286\n",
"503 28.825691\n",
"504 27.169108\n",
"505 20.215096\n",
"\n",
"[506 rows x 1 columns]"
]
},
"metadata": {
"tags": []
},
"execution_count": 26
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 356
},
"id": "TLKsTdVSyTfb",
"outputId": "1580aab7-4084-4b77-a2a9-82f28ad2fe30"
},
"source": [
"#予測値とそのプロットと回帰式について\n",
"lr.predict(df_x)\n",
"\n",
"#散布図\n",
"sns.scatterplot(df_x[\"RM\"], df_y)\n",
"#回帰直線\n",
"plt.plot(df_x, lr.predict(df_x))\n",
"plt.show()\n"
],
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"text": [
"/usr/local/lib/python3.7/dist-packages/seaborn/_decorators.py:43: FutureWarning: Pass the following variables as keyword args: x, y. From version 0.12, the only valid positional argument will be `data`, and passing other arguments without an explicit keyword will result in an error or misinterpretation.\n",
" FutureWarning\n"
],
"name": "stderr"
},
{
"output_type": "execute_result",
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7f913db04550>]"
]
},
"metadata": {
"tags": []
},
"execution_count": 25
},
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": [],
"needs_background": "light"
}
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "VdXNrHaosgT_",
"outputId": "a04cc9ce-760d-45d6-a3fe-edaa990ce40d"
},
"source": [
"lr.score(df_x, df_y)\n",
"#寄与率"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"0.4835254559913343"
]
},
"metadata": {
"tags": []
},
"execution_count": 12
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "lGGZw7wHL0Sd",
"outputId": "3a91538e-5950-49aa-9fa4-b086e0ed6822"
},
"source": [
"from sklearn.metrics import mean_absolute_error as mae\n",
"mae(df_y, lr.predict(df_x))\n",
"#平均絶対誤差\n",
"# [1,2], [5,3] → (|1-2| + |5-3|)/2 = 1.5"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"4.4477729015322325"
]
},
"metadata": {
"tags": []
},
"execution_count": 63
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "mIMBkpXbL0H8",
"outputId": "a0e34b5f-2edf-4573-fea6-87292514a65b"
},
"source": [
"mae(df_y, (lr.coef_*df_x + lr.intercept_)[\"RM\"])"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"4.4477729015322325"
]
},
"metadata": {
"tags": []
},
"execution_count": 27
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "s3prPEAZtdub"
},
"source": [
"df_y = df[\"MEDV\"]\n",
"df_x = df[[\"ZN\"]]"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "vCRGeMCAvjDF",
"outputId": "48bfebcf-5774-4fd2-bb1a-a882edd6a59f"
},
"source": [
"lr.fit(df_x, df_y)"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None, normalize=False)"
]
},
"metadata": {
"tags": []
},
"execution_count": 14
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "kwPFgniRvi9T",
"outputId": "d05fcdbd-c236-41f4-9eec-d38a4a2dbb7e"
},
"source": [
"lr.score(df_x, df_y)\n",
"#寄与率\n",
"\n",
"mae(df_y, lr.predict(df_x))\n",
"#平均絶対誤差"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"0.12992084489428946"
]
},
"metadata": {
"tags": []
},
"execution_count": 15
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "AXB6QzPbtAT6"
},
"source": [
"# 学習データとテストデータに分類して精度検証"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "E-UmTcv4tABt"
},
"source": [
"from sklearn.model_selection import train_test_split"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "lyAuK9eMv7oO"
},
"source": [
"df_train, df_test = train_test_split(df, test_size=0.2)\n"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "qlpYwbqQv7mI"
},
"source": [
"train_y = df_train[\"MEDV\"] \n",
"train_x = df_train[[\"RM\"]]\n",
"\n",
"test_y = df_test[\"MEDV\"] \n",
"test_x = df_test[[\"RM\"]]"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "HUjxf0I2v7j8",
"outputId": "e806790a-83b6-47b3-cbfa-c3c30a2e2770"
},
"source": [
"lr.fit(train_x, train_y)"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None, normalize=False)"
]
},
"metadata": {
"tags": []
},
"execution_count": 39
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "GAndiEf_xqfI",
"outputId": "f2626e41-8aa7-4f25-f6fb-3f4a0d949199"
},
"source": [
"lr.score(train_x, train_y)\n",
"mae(train_y, lr.predict(train_x))"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"4.497800725771449"
]
},
"metadata": {
"tags": []
},
"execution_count": 41
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "tWlWWVjOv7h7",
"outputId": "f333a3dd-d19f-44ae-feb8-035e4407740b"
},
"source": [
"lr.score(test_x, test_y)\n",
"mae(test_y, lr.predict(test_x))"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"4.430938166604345"
]
},
"metadata": {
"tags": []
},
"execution_count": 42
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "QzfwEYNMqWc2"
},
"source": [
"## 重回帰"
]
},
{
"cell_type": "code",
"metadata": {
"id": "gAgHzi3ax1V9"
},
"source": [
"df_train, df_test = train_test_split(df, test_size=0.2)"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "buuHh9Y7nRls"
},
"source": [
"train_y = df_train[\"MEDV\"]\n",
"train_x = df_train.drop(\"MEDV\", axis=1)\n",
"\n",
"test_y = df_test[\"MEDV\"]\n",
"test_x = df_test.drop(\"MEDV\", axis=1)"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "8S0w9Ys5oPBI",
"outputId": "87606cd7-c884-48e3-850a-7bfa19c09658"
},
"source": [
"lr.fit(train_x, train_y)"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None, normalize=False)"
]
},
"metadata": {
"tags": []
},
"execution_count": 66
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "SQojYKpBoVrc",
"outputId": "01406e19-1ca1-4f4f-c8d0-7909506217ac"
},
"source": [
"lr.score(test_x, test_y)\n",
"mae(test_y, lr.predict(test_x))"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"3.549794278174213"
]
},
"metadata": {
"tags": []
},
"execution_count": 67
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 553
},
"id": "YfvK2gM8ovgP",
"outputId": "c7d58798-1fc5-4945-bec7-6a2f53408ca7"
},
"source": [
"# 複数回のシミュレーション\n",
"score_list = []\n",
"mae_list = []\n",
"for i in range(1000):\n",
" df_train, df_test = train_test_split(df, test_size=0.2)\n",
" train_y = df_train[\"MEDV\"]\n",
" train_x = df_train.drop(\"MEDV\", axis=1)\n",
"\n",
" test_y = df_test[\"MEDV\"]\n",
" test_x = df_test.drop(\"MEDV\", axis=1)\n",
"\n",
" lr.fit(train_x, train_y)\n",
" score = lr.score(test_x, test_y)\n",
" mae_num = mae(test_y, lr.predict(test_x))\n",
" score_list.append(score)\n",
" mae_list.append(mae_num)\n",
"\n",
"print(\"決定係数:\", sum(score_list)/len(score_list))\n",
"plt.hist(score_list)\n",
"plt.show()\n",
"\n",
"print(\"MAE:\", sum(mae_list)/len(mae_list))\n",
"plt.hist(mae_list)\n",
"plt.show()"
],
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"text": [
"決定係数: 0.7100747722384044\n"
],
"name": "stdout"
},
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": []
}
},
{
"output_type": "stream",
"text": [
"MAE: 3.4100067367150704\n"
],
"name": "stdout"
},
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "nnwGZHPkl45a"
},
"source": [
"# 判別分析"
]
},
{
"cell_type": "code",
"metadata": {
"id": "nb13G69PlvnG"
},
"source": [
"import pandas as pd\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"import seaborn as sns\n",
"from sklearn.linear_model import LinearRegression\n",
"from sklearn.datasets import load_breast_cancer\n",
"sns.set()"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "duFCiDWWmFjF"
},
"source": [
"data_breast_cancer = load_breast_cancer()\n",
"data_breast_cancer"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "Km4PeuO0mFhP"
},
"source": [
""
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "zmLs5vtXmFfA"
},
"source": [
""
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "xwUjnBZVmFcv"
},
"source": [
""
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "sp6-s2uwRTRM"
},
"source": [
"# クラスター分析"
]
},
{
"cell_type": "code",
"metadata": {
"id": "OIBQ3FfZRWvs"
},
"source": [
""
],
"execution_count": null,
"outputs": []
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment