{
  "nbformat": 4,
  "nbformat_minor": 0,
  "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.8.2"
    },
    "colab": {
      "provenance": []
    }
  },
  "cells": [
    {
      "cell_type": "code",
      "source": [
        "!python --version"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "0laTR9rlNGnK",
        "outputId": "e85cbbd7-532e-4cd6-d892-4c8a00811038"
      },
      "execution_count": 1,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Python 3.10.12\n"
          ]
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "7ScZhDqvHxWm"
      },
      "source": [
        "# 数値データに対する前処理コード例\n",
        "- ref.\n",
        "    - preprocess methods\n",
        "        - [機械学習のための特徴量エンジニアリング](https://www.oreilly.co.jp/books/9784873118680/)\n",
        "        - [5.3. Preprocessing data](https://scikit-learn.org/stable/modules/preprocessing.html#normalization)\n",
        "    - data: [YouTuberデータセット公開してみた](https://qiita.com/myaun/items/7e0dd7f3f9d9d2fef497)\n",
        "      - 2024年5月現在、Google Colab のPython 3.10.12 では quilt 周りで不具合あり。そこでquiltは使用せず、別途データセットをファイルとして用意して利用するように修正。以下は ``youtuber.xlsx`` を用意してから実行してください。\n",
        "- 全体の流れ\n",
        "    - データセットの準備。\n",
        "    - 数値データに対する前処理の例\n",
        "        - 手法1：バイナリ化\n",
        "        - 手法2：アドホックな離散化\n",
        "        - 手法3：統計的な離散化\n",
        "        - 手法4：ログスケール化\n",
        "            - デフォルトとログスケールとの比較\n",
        "        - 手法5：標準化\n",
        "        - 手法6：min-maxスケーリング\n",
        "    - 特徴ベクトルに対する前処理の例\n",
        "        - 手法7：正規化\n",
        "        - 手法8：正規分布への写像\n",
        "            - デフォルトとbox-cox写像との比較"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "1n_M-w2iHxWs"
      },
      "source": [
        "## 環境構築"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "RWL_14XPHxWs"
      },
      "source": [
        "#!pip install quilt\n",
        "#!quilt install haradai1262/YouTuber"
      ],
      "execution_count": 2,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "216bw7OVHxWt"
      },
      "source": [
        "## データセットの準備"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 311
        },
        "id": "nw8dF89KHxWt",
        "outputId": "04c84ae7-1bdb-43dd-dd38-2801c5105a52"
      },
      "source": [
        "#from quilt.data.haradai1262 import YouTuber\n",
        "import numpy as np\n",
        "import pandas as pd\n",
        "import matplotlib.pyplot as plt\n",
        "\n",
        "#df = YouTuber.channels.UUUM()\n",
        "#df = YouTuber.channel_videos.UUUM_videos()\n",
        "df = pd.read_excel(\"youtuber.xlsx\")\n",
        "\n",
        "# check the descriptive statistics of numerical data\n",
        "df.describe()"
      ],
      "execution_count": 3,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "          viewCount      likeCount  favoriteCount   dislikeCount  \\\n",
              "count  6.627900e+04   64256.000000        66289.0   64256.000000   \n",
              "mean   4.545539e+05    3233.703390            0.0     296.430014   \n",
              "std    1.328105e+06    9768.090605            0.0    1633.734833   \n",
              "min    0.000000e+00       0.000000            0.0       0.000000   \n",
              "25%    3.907100e+04     266.000000            0.0      23.000000   \n",
              "50%    1.214190e+05     776.000000            0.0      67.000000   \n",
              "75%    3.512260e+05    2260.000000            0.0     201.000000   \n",
              "max    8.664236e+07  630051.000000            0.0  213677.000000   \n",
              "\n",
              "        commentCount  TopicIds           idx  \n",
              "count   65997.000000       0.0  66289.000000  \n",
              "mean      533.418807       NaN    235.730136  \n",
              "std      2253.437482       NaN    142.868881  \n",
              "min         0.000000       NaN      1.000000  \n",
              "25%        55.000000       NaN    111.000000  \n",
              "50%       150.000000       NaN    229.000000  \n",
              "75%       394.000000       NaN    357.000000  \n",
              "max    227598.000000       NaN    501.000000  "
            ],
            "text/html": [
              "\n",
              "  <div id=\"df-b62cd4a6-c0ad-405f-bf51-3599aa6f5ed8\" class=\"colab-df-container\">\n",
              "    <div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>viewCount</th>\n",
              "      <th>likeCount</th>\n",
              "      <th>favoriteCount</th>\n",
              "      <th>dislikeCount</th>\n",
              "      <th>commentCount</th>\n",
              "      <th>TopicIds</th>\n",
              "      <th>idx</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>count</th>\n",
              "      <td>6.627900e+04</td>\n",
              "      <td>64256.000000</td>\n",
              "      <td>66289.0</td>\n",
              "      <td>64256.000000</td>\n",
              "      <td>65997.000000</td>\n",
              "      <td>0.0</td>\n",
              "      <td>66289.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>mean</th>\n",
              "      <td>4.545539e+05</td>\n",
              "      <td>3233.703390</td>\n",
              "      <td>0.0</td>\n",
              "      <td>296.430014</td>\n",
              "      <td>533.418807</td>\n",
              "      <td>NaN</td>\n",
              "      <td>235.730136</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>std</th>\n",
              "      <td>1.328105e+06</td>\n",
              "      <td>9768.090605</td>\n",
              "      <td>0.0</td>\n",
              "      <td>1633.734833</td>\n",
              "      <td>2253.437482</td>\n",
              "      <td>NaN</td>\n",
              "      <td>142.868881</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>min</th>\n",
              "      <td>0.000000e+00</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>NaN</td>\n",
              "      <td>1.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25%</th>\n",
              "      <td>3.907100e+04</td>\n",
              "      <td>266.000000</td>\n",
              "      <td>0.0</td>\n",
              "      <td>23.000000</td>\n",
              "      <td>55.000000</td>\n",
              "      <td>NaN</td>\n",
              "      <td>111.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>50%</th>\n",
              "      <td>1.214190e+05</td>\n",
              "      <td>776.000000</td>\n",
              "      <td>0.0</td>\n",
              "      <td>67.000000</td>\n",
              "      <td>150.000000</td>\n",
              "      <td>NaN</td>\n",
              "      <td>229.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>75%</th>\n",
              "      <td>3.512260e+05</td>\n",
              "      <td>2260.000000</td>\n",
              "      <td>0.0</td>\n",
              "      <td>201.000000</td>\n",
              "      <td>394.000000</td>\n",
              "      <td>NaN</td>\n",
              "      <td>357.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>max</th>\n",
              "      <td>8.664236e+07</td>\n",
              "      <td>630051.000000</td>\n",
              "      <td>0.0</td>\n",
              "      <td>213677.000000</td>\n",
              "      <td>227598.000000</td>\n",
              "      <td>NaN</td>\n",
              "      <td>501.000000</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>\n",
              "    <div class=\"colab-df-buttons\">\n",
              "\n",
              "  <div class=\"colab-df-container\">\n",
              "    <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-b62cd4a6-c0ad-405f-bf51-3599aa6f5ed8')\"\n",
              "            title=\"Convert this dataframe to an interactive table.\"\n",
              "            style=\"display:none;\">\n",
              "\n",
              "  <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n",
              "    <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n",
              "  </svg>\n",
              "    </button>\n",
              "\n",
              "  <style>\n",
              "    .colab-df-container {\n",
              "      display:flex;\n",
              "      gap: 12px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert {\n",
              "      background-color: #E8F0FE;\n",
              "      border: none;\n",
              "      border-radius: 50%;\n",
              "      cursor: pointer;\n",
              "      display: none;\n",
              "      fill: #1967D2;\n",
              "      height: 32px;\n",
              "      padding: 0 0 0 0;\n",
              "      width: 32px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert:hover {\n",
              "      background-color: #E2EBFA;\n",
              "      box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "      fill: #174EA6;\n",
              "    }\n",
              "\n",
              "    .colab-df-buttons div {\n",
              "      margin-bottom: 4px;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert {\n",
              "      background-color: #3B4455;\n",
              "      fill: #D2E3FC;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert:hover {\n",
              "      background-color: #434B5C;\n",
              "      box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
              "      filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
              "      fill: #FFFFFF;\n",
              "    }\n",
              "  </style>\n",
              "\n",
              "    <script>\n",
              "      const buttonEl =\n",
              "        document.querySelector('#df-b62cd4a6-c0ad-405f-bf51-3599aa6f5ed8 button.colab-df-convert');\n",
              "      buttonEl.style.display =\n",
              "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "\n",
              "      async function convertToInteractive(key) {\n",
              "        const element = document.querySelector('#df-b62cd4a6-c0ad-405f-bf51-3599aa6f5ed8');\n",
              "        const dataTable =\n",
              "          await google.colab.kernel.invokeFunction('convertToInteractive',\n",
              "                                                    [key], {});\n",
              "        if (!dataTable) return;\n",
              "\n",
              "        const docLinkHtml = 'Like what you see? Visit the ' +\n",
              "          '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
              "          + ' to learn more about interactive tables.';\n",
              "        element.innerHTML = '';\n",
              "        dataTable['output_type'] = 'display_data';\n",
              "        await google.colab.output.renderOutput(dataTable, element);\n",
              "        const docLink = document.createElement('div');\n",
              "        docLink.innerHTML = docLinkHtml;\n",
              "        element.appendChild(docLink);\n",
              "      }\n",
              "    </script>\n",
              "  </div>\n",
              "\n",
              "\n",
              "<div id=\"df-6a6c9d64-885e-44d7-907e-ec1e0a6cb707\">\n",
              "  <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-6a6c9d64-885e-44d7-907e-ec1e0a6cb707')\"\n",
              "            title=\"Suggest charts\"\n",
              "            style=\"display:none;\">\n",
              "\n",
              "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
              "     width=\"24px\">\n",
              "    <g>\n",
              "        <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n",
              "    </g>\n",
              "</svg>\n",
              "  </button>\n",
              "\n",
              "<style>\n",
              "  .colab-df-quickchart {\n",
              "      --bg-color: #E8F0FE;\n",
              "      --fill-color: #1967D2;\n",
              "      --hover-bg-color: #E2EBFA;\n",
              "      --hover-fill-color: #174EA6;\n",
              "      --disabled-fill-color: #AAA;\n",
              "      --disabled-bg-color: #DDD;\n",
              "  }\n",
              "\n",
              "  [theme=dark] .colab-df-quickchart {\n",
              "      --bg-color: #3B4455;\n",
              "      --fill-color: #D2E3FC;\n",
              "      --hover-bg-color: #434B5C;\n",
              "      --hover-fill-color: #FFFFFF;\n",
              "      --disabled-bg-color: #3B4455;\n",
              "      --disabled-fill-color: #666;\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart {\n",
              "    background-color: var(--bg-color);\n",
              "    border: none;\n",
              "    border-radius: 50%;\n",
              "    cursor: pointer;\n",
              "    display: none;\n",
              "    fill: var(--fill-color);\n",
              "    height: 32px;\n",
              "    padding: 0;\n",
              "    width: 32px;\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart:hover {\n",
              "    background-color: var(--hover-bg-color);\n",
              "    box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "    fill: var(--button-hover-fill-color);\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart-complete:disabled,\n",
              "  .colab-df-quickchart-complete:disabled:hover {\n",
              "    background-color: var(--disabled-bg-color);\n",
              "    fill: var(--disabled-fill-color);\n",
              "    box-shadow: none;\n",
              "  }\n",
              "\n",
              "  .colab-df-spinner {\n",
              "    border: 2px solid var(--fill-color);\n",
              "    border-color: transparent;\n",
              "    border-bottom-color: var(--fill-color);\n",
              "    animation:\n",
              "      spin 1s steps(1) infinite;\n",
              "  }\n",
              "\n",
              "  @keyframes spin {\n",
              "    0% {\n",
              "      border-color: transparent;\n",
              "      border-bottom-color: var(--fill-color);\n",
              "      border-left-color: var(--fill-color);\n",
              "    }\n",
              "    20% {\n",
              "      border-color: transparent;\n",
              "      border-left-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "    }\n",
              "    30% {\n",
              "      border-color: transparent;\n",
              "      border-left-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "      border-right-color: var(--fill-color);\n",
              "    }\n",
              "    40% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "    }\n",
              "    60% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "    }\n",
              "    80% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "      border-bottom-color: var(--fill-color);\n",
              "    }\n",
              "    90% {\n",
              "      border-color: transparent;\n",
              "      border-bottom-color: var(--fill-color);\n",
              "    }\n",
              "  }\n",
              "</style>\n",
              "\n",
              "  <script>\n",
              "    async function quickchart(key) {\n",
              "      const quickchartButtonEl =\n",
              "        document.querySelector('#' + key + ' button');\n",
              "      quickchartButtonEl.disabled = true;  // To prevent multiple clicks.\n",
              "      quickchartButtonEl.classList.add('colab-df-spinner');\n",
              "      try {\n",
              "        const charts = await google.colab.kernel.invokeFunction(\n",
              "            'suggestCharts', [key], {});\n",
              "      } catch (error) {\n",
              "        console.error('Error during call to suggestCharts:', error);\n",
              "      }\n",
              "      quickchartButtonEl.classList.remove('colab-df-spinner');\n",
              "      quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n",
              "    }\n",
              "    (() => {\n",
              "      let quickchartButtonEl =\n",
              "        document.querySelector('#df-6a6c9d64-885e-44d7-907e-ec1e0a6cb707 button');\n",
              "      quickchartButtonEl.style.display =\n",
              "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "    })();\n",
              "  </script>\n",
              "</div>\n",
              "    </div>\n",
              "  </div>\n"
            ],
            "application/vnd.google.colaboratory.intrinsic+json": {
              "type": "dataframe",
              "summary": "{\n  \"name\": \"df\",\n  \"rows\": 8,\n  \"fields\": [\n    {\n      \"column\": \"viewCount\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 30516553.4322789,\n        \"min\": 0.0,\n        \"max\": 86642355.0,\n        \"num_unique_values\": 8,\n        \"samples\": [\n          454553.940690113,\n          121419.0,\n          66279.0\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"likeCount\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 219767.34013593016,\n        \"min\": 0.0,\n        \"max\": 630051.0,\n        \"num_unique_values\": 8,\n        \"samples\": [\n          3233.703389566733,\n          776.0,\n          64256.0\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"favoriteCount\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 23436.700709037523,\n        \"min\": 0.0,\n        \"max\": 66289.0,\n        \"num_unique_values\": 2,\n        \"samples\": [\n          0.0,\n          66289.0\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"dislikeCount\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 75572.76695256456,\n        \"min\": 0.0,\n        \"max\": 213677.0,\n        \"num_unique_values\": 8,\n        \"samples\": [\n          296.4300143177291,\n          67.0\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"commentCount\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 80300.58998613172,\n        \"min\": 0.0,\n        \"max\": 227598.0,\n        \"num_unique_values\": 8,\n        \"samples\": [\n          533.4188069154659,\n          150.0\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"TopicIds\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": null,\n        \"min\": 0.0,\n        \"max\": 0.0,\n        \"num_unique_values\": 1,\n        \"samples\": [\n          0.0\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"idx\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 23357.520374911255,\n        \"min\": 1.0,\n        \"max\": 66289.0,\n        \"num_unique_values\": 8,\n        \"samples\": [\n          235.73013622169591\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    }\n  ]\n}"
            }
          },
          "metadata": {},
          "execution_count": 3
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "iIYWGb9ZHxWu",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 957
        },
        "outputId": "84e35ca6-8191-4f15-ee37-f50572bdc26b"
      },
      "source": [
        "# the description of data frame\n",
        "df.head()"
      ],
      "execution_count": 4,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "            id                                          title  \\\n",
              "0  R7V5d94XkGQ  【大食い】超高級寿司店で３人で食べ放題したらいくらかかるの!?【大トロ1カン2,000円】   \n",
              "1  2R9_bkcWNd4       【女王集結】女性YouTuberたちと飲みながら本音トークしてみたら爆笑www   \n",
              "2  EU8S-zxS9PI                【悪質】偽物ヒカキン許さねぇ…注意してください！【なりすまし】   \n",
              "3  5wnfkIfw0jE                ツイッターのヒカキンシンメトリーBotが面白すぎて爆笑www   \n",
              "4  -6duBsde_XM    【放送事故】酒飲みながら東海オンエア×ヒカキンで質問コーナーやったらヤバかったwww   \n",
              "\n",
              "                                         description liveBroadcastContent  \\\n",
              "0  提供：ポコロンダンジョンズ\\n\\n\\n\\niOS：https://bit.ly/2sGgOR...                 none   \n",
              "1  しばなんチャンネルの動画\\n\\n\\n\\nhttps://www.youtube.com/wa...                 none   \n",
              "2  ◆チャンネル登録はこちら↓\\n\\n\\n\\nhttp://www.youtube.com/us...                 none   \n",
              "3  ◆チャンネル登録はこちら↓\\n\\n\\n\\nhttp://www.youtube.com/us...                 none   \n",
              "4  提供：モンスターストライク\\n\\n\\n\\n▼キャンペーンサイトはこちら\\n\\n\\n\\nhtt...                 none   \n",
              "\n",
              "                                                tags  \\\n",
              "0  ['ヒカキン', 'ヒカキンtv', 'hikakintv', 'hikakin', 'ひか...   \n",
              "1  ['ヒカキン', 'ヒカキンtv', 'hikakintv', 'hikakin', 'ひか...   \n",
              "2  ['ヒカキン', 'ヒカキンtv', 'hikakintv', 'hikakin', 'ひか...   \n",
              "3  ['ヒカキン', 'ヒカキンtv', 'hikakintv', 'hikakin', 'ひか...   \n",
              "4  ['ヒカキン', 'ヒカキンtv', 'hikakintv', 'hikakin', 'ひか...   \n",
              "\n",
              "                publishedAt                                      thumbnails  \\\n",
              "0  2018-06-30T04:00:01.000Z  https://i.ytimg.com/vi/R7V5d94XkGQ/default.jpg   \n",
              "1  2018-06-29T08:00:01.000Z  https://i.ytimg.com/vi/2R9_bkcWNd4/default.jpg   \n",
              "2  2018-06-27T08:38:55.000Z  https://i.ytimg.com/vi/EU8S-zxS9PI/default.jpg   \n",
              "3  2018-06-25T07:46:07.000Z  https://i.ytimg.com/vi/5wnfkIfw0jE/default.jpg   \n",
              "4  2018-06-21T08:00:00.000Z  https://i.ytimg.com/vi/-6duBsde_XM/default.jpg   \n",
              "\n",
              "   viewCount  likeCount  favoriteCount  ...  commentCount  caption  \\\n",
              "0  2244205.0    27703.0              0  ...        8647.0    False   \n",
              "1  1869268.0    30889.0              0  ...        8859.0    False   \n",
              "2  1724625.0    33038.0              0  ...       11504.0    False   \n",
              "3  1109029.0    25986.0              0  ...        6852.0    False   \n",
              "4  1759797.0    33923.0              0  ...        4517.0    False   \n",
              "\n",
              "   definition dimension  duration   projection TopicIds  \\\n",
              "0          hd        2d  PT21M16S  rectangular      NaN   \n",
              "1          hd        2d  PT18M38S  rectangular      NaN   \n",
              "2          hd        2d   PT6M12S  rectangular      NaN   \n",
              "3          hd        2d   PT6M31S  rectangular      NaN   \n",
              "4          hd        2d   PT27M7S  rectangular      NaN   \n",
              "\n",
              "                                    relevantTopicIds idx  \\\n",
              "0  ['/m/02wbm', '/m/019_rr', '/m/019_rr', '/m/02w...   1   \n",
              "1               ['/m/04rlf', '/m/02jjt', '/m/02jjt']   2   \n",
              "2               ['/m/04rlf', '/m/02jjt', '/m/02jjt']   3   \n",
              "3               ['/m/04rlf', '/m/02jjt', '/m/02jjt']   4   \n",
              "4  ['/m/098wr', '/m/019_rr', '/m/02wbm', '/m/019_...   5   \n",
              "\n",
              "                         cid  \n",
              "0  UCZf__ehlCEBPop___sldpBUQ  \n",
              "1  UCZf__ehlCEBPop___sldpBUQ  \n",
              "2  UCZf__ehlCEBPop___sldpBUQ  \n",
              "3  UCZf__ehlCEBPop___sldpBUQ  \n",
              "4  UCZf__ehlCEBPop___sldpBUQ  \n",
              "\n",
              "[5 rows x 21 columns]"
            ],
            "text/html": [
              "\n",
              "  <div id=\"df-02a5af1e-b969-4180-bc81-d1fefa505e18\" class=\"colab-df-container\">\n",
              "    <div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>id</th>\n",
              "      <th>title</th>\n",
              "      <th>description</th>\n",
              "      <th>liveBroadcastContent</th>\n",
              "      <th>tags</th>\n",
              "      <th>publishedAt</th>\n",
              "      <th>thumbnails</th>\n",
              "      <th>viewCount</th>\n",
              "      <th>likeCount</th>\n",
              "      <th>favoriteCount</th>\n",
              "      <th>...</th>\n",
              "      <th>commentCount</th>\n",
              "      <th>caption</th>\n",
              "      <th>definition</th>\n",
              "      <th>dimension</th>\n",
              "      <th>duration</th>\n",
              "      <th>projection</th>\n",
              "      <th>TopicIds</th>\n",
              "      <th>relevantTopicIds</th>\n",
              "      <th>idx</th>\n",
              "      <th>cid</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>R7V5d94XkGQ</td>\n",
              "      <td>【大食い】超高級寿司店で３人で食べ放題したらいくらかかるの!?【大トロ1カン2,000円】</td>\n",
              "      <td>提供：ポコロンダンジョンズ\\n\\n\\n\\niOS：https://bit.ly/2sGgOR...</td>\n",
              "      <td>none</td>\n",
              "      <td>['ヒカキン', 'ヒカキンtv', 'hikakintv', 'hikakin', 'ひか...</td>\n",
              "      <td>2018-06-30T04:00:01.000Z</td>\n",
              "      <td>https://i.ytimg.com/vi/R7V5d94XkGQ/default.jpg</td>\n",
              "      <td>2244205.0</td>\n",
              "      <td>27703.0</td>\n",
              "      <td>0</td>\n",
              "      <td>...</td>\n",
              "      <td>8647.0</td>\n",
              "      <td>False</td>\n",
              "      <td>hd</td>\n",
              "      <td>2d</td>\n",
              "      <td>PT21M16S</td>\n",
              "      <td>rectangular</td>\n",
              "      <td>NaN</td>\n",
              "      <td>['/m/02wbm', '/m/019_rr', '/m/019_rr', '/m/02w...</td>\n",
              "      <td>1</td>\n",
              "      <td>UCZf__ehlCEBPop___sldpBUQ</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>2R9_bkcWNd4</td>\n",
              "      <td>【女王集結】女性YouTuberたちと飲みながら本音トークしてみたら爆笑www</td>\n",
              "      <td>しばなんチャンネルの動画\\n\\n\\n\\nhttps://www.youtube.com/wa...</td>\n",
              "      <td>none</td>\n",
              "      <td>['ヒカキン', 'ヒカキンtv', 'hikakintv', 'hikakin', 'ひか...</td>\n",
              "      <td>2018-06-29T08:00:01.000Z</td>\n",
              "      <td>https://i.ytimg.com/vi/2R9_bkcWNd4/default.jpg</td>\n",
              "      <td>1869268.0</td>\n",
              "      <td>30889.0</td>\n",
              "      <td>0</td>\n",
              "      <td>...</td>\n",
              "      <td>8859.0</td>\n",
              "      <td>False</td>\n",
              "      <td>hd</td>\n",
              "      <td>2d</td>\n",
              "      <td>PT18M38S</td>\n",
              "      <td>rectangular</td>\n",
              "      <td>NaN</td>\n",
              "      <td>['/m/04rlf', '/m/02jjt', '/m/02jjt']</td>\n",
              "      <td>2</td>\n",
              "      <td>UCZf__ehlCEBPop___sldpBUQ</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2</th>\n",
              "      <td>EU8S-zxS9PI</td>\n",
              "      <td>【悪質】偽物ヒカキン許さねぇ…注意してください！【なりすまし】</td>\n",
              "      <td>◆チャンネル登録はこちら↓\\n\\n\\n\\nhttp://www.youtube.com/us...</td>\n",
              "      <td>none</td>\n",
              "      <td>['ヒカキン', 'ヒカキンtv', 'hikakintv', 'hikakin', 'ひか...</td>\n",
              "      <td>2018-06-27T08:38:55.000Z</td>\n",
              "      <td>https://i.ytimg.com/vi/EU8S-zxS9PI/default.jpg</td>\n",
              "      <td>1724625.0</td>\n",
              "      <td>33038.0</td>\n",
              "      <td>0</td>\n",
              "      <td>...</td>\n",
              "      <td>11504.0</td>\n",
              "      <td>False</td>\n",
              "      <td>hd</td>\n",
              "      <td>2d</td>\n",
              "      <td>PT6M12S</td>\n",
              "      <td>rectangular</td>\n",
              "      <td>NaN</td>\n",
              "      <td>['/m/04rlf', '/m/02jjt', '/m/02jjt']</td>\n",
              "      <td>3</td>\n",
              "      <td>UCZf__ehlCEBPop___sldpBUQ</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>3</th>\n",
              "      <td>5wnfkIfw0jE</td>\n",
              "      <td>ツイッターのヒカキンシンメトリーBotが面白すぎて爆笑www</td>\n",
              "      <td>◆チャンネル登録はこちら↓\\n\\n\\n\\nhttp://www.youtube.com/us...</td>\n",
              "      <td>none</td>\n",
              "      <td>['ヒカキン', 'ヒカキンtv', 'hikakintv', 'hikakin', 'ひか...</td>\n",
              "      <td>2018-06-25T07:46:07.000Z</td>\n",
              "      <td>https://i.ytimg.com/vi/5wnfkIfw0jE/default.jpg</td>\n",
              "      <td>1109029.0</td>\n",
              "      <td>25986.0</td>\n",
              "      <td>0</td>\n",
              "      <td>...</td>\n",
              "      <td>6852.0</td>\n",
              "      <td>False</td>\n",
              "      <td>hd</td>\n",
              "      <td>2d</td>\n",
              "      <td>PT6M31S</td>\n",
              "      <td>rectangular</td>\n",
              "      <td>NaN</td>\n",
              "      <td>['/m/04rlf', '/m/02jjt', '/m/02jjt']</td>\n",
              "      <td>4</td>\n",
              "      <td>UCZf__ehlCEBPop___sldpBUQ</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>4</th>\n",
              "      <td>-6duBsde_XM</td>\n",
              "      <td>【放送事故】酒飲みながら東海オンエア×ヒカキンで質問コーナーやったらヤバかったwww</td>\n",
              "      <td>提供：モンスターストライク\\n\\n\\n\\n▼キャンペーンサイトはこちら\\n\\n\\n\\nhtt...</td>\n",
              "      <td>none</td>\n",
              "      <td>['ヒカキン', 'ヒカキンtv', 'hikakintv', 'hikakin', 'ひか...</td>\n",
              "      <td>2018-06-21T08:00:00.000Z</td>\n",
              "      <td>https://i.ytimg.com/vi/-6duBsde_XM/default.jpg</td>\n",
              "      <td>1759797.0</td>\n",
              "      <td>33923.0</td>\n",
              "      <td>0</td>\n",
              "      <td>...</td>\n",
              "      <td>4517.0</td>\n",
              "      <td>False</td>\n",
              "      <td>hd</td>\n",
              "      <td>2d</td>\n",
              "      <td>PT27M7S</td>\n",
              "      <td>rectangular</td>\n",
              "      <td>NaN</td>\n",
              "      <td>['/m/098wr', '/m/019_rr', '/m/02wbm', '/m/019_...</td>\n",
              "      <td>5</td>\n",
              "      <td>UCZf__ehlCEBPop___sldpBUQ</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "<p>5 rows × 21 columns</p>\n",
              "</div>\n",
              "    <div class=\"colab-df-buttons\">\n",
              "\n",
              "  <div class=\"colab-df-container\">\n",
              "    <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-02a5af1e-b969-4180-bc81-d1fefa505e18')\"\n",
              "            title=\"Convert this dataframe to an interactive table.\"\n",
              "            style=\"display:none;\">\n",
              "\n",
              "  <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n",
              "    <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n",
              "  </svg>\n",
              "    </button>\n",
              "\n",
              "  <style>\n",
              "    .colab-df-container {\n",
              "      display:flex;\n",
              "      gap: 12px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert {\n",
              "      background-color: #E8F0FE;\n",
              "      border: none;\n",
              "      border-radius: 50%;\n",
              "      cursor: pointer;\n",
              "      display: none;\n",
              "      fill: #1967D2;\n",
              "      height: 32px;\n",
              "      padding: 0 0 0 0;\n",
              "      width: 32px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert:hover {\n",
              "      background-color: #E2EBFA;\n",
              "      box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "      fill: #174EA6;\n",
              "    }\n",
              "\n",
              "    .colab-df-buttons div {\n",
              "      margin-bottom: 4px;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert {\n",
              "      background-color: #3B4455;\n",
              "      fill: #D2E3FC;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert:hover {\n",
              "      background-color: #434B5C;\n",
              "      box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
              "      filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
              "      fill: #FFFFFF;\n",
              "    }\n",
              "  </style>\n",
              "\n",
              "    <script>\n",
              "      const buttonEl =\n",
              "        document.querySelector('#df-02a5af1e-b969-4180-bc81-d1fefa505e18 button.colab-df-convert');\n",
              "      buttonEl.style.display =\n",
              "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "\n",
              "      async function convertToInteractive(key) {\n",
              "        const element = document.querySelector('#df-02a5af1e-b969-4180-bc81-d1fefa505e18');\n",
              "        const dataTable =\n",
              "          await google.colab.kernel.invokeFunction('convertToInteractive',\n",
              "                                                    [key], {});\n",
              "        if (!dataTable) return;\n",
              "\n",
              "        const docLinkHtml = 'Like what you see? Visit the ' +\n",
              "          '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
              "          + ' to learn more about interactive tables.';\n",
              "        element.innerHTML = '';\n",
              "        dataTable['output_type'] = 'display_data';\n",
              "        await google.colab.output.renderOutput(dataTable, element);\n",
              "        const docLink = document.createElement('div');\n",
              "        docLink.innerHTML = docLinkHtml;\n",
              "        element.appendChild(docLink);\n",
              "      }\n",
              "    </script>\n",
              "  </div>\n",
              "\n",
              "\n",
              "<div id=\"df-f61cf683-f792-4820-9d3c-65195a2cb53d\">\n",
              "  <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-f61cf683-f792-4820-9d3c-65195a2cb53d')\"\n",
              "            title=\"Suggest charts\"\n",
              "            style=\"display:none;\">\n",
              "\n",
              "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
              "     width=\"24px\">\n",
              "    <g>\n",
              "        <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n",
              "    </g>\n",
              "</svg>\n",
              "  </button>\n",
              "\n",
              "<style>\n",
              "  .colab-df-quickchart {\n",
              "      --bg-color: #E8F0FE;\n",
              "      --fill-color: #1967D2;\n",
              "      --hover-bg-color: #E2EBFA;\n",
              "      --hover-fill-color: #174EA6;\n",
              "      --disabled-fill-color: #AAA;\n",
              "      --disabled-bg-color: #DDD;\n",
              "  }\n",
              "\n",
              "  [theme=dark] .colab-df-quickchart {\n",
              "      --bg-color: #3B4455;\n",
              "      --fill-color: #D2E3FC;\n",
              "      --hover-bg-color: #434B5C;\n",
              "      --hover-fill-color: #FFFFFF;\n",
              "      --disabled-bg-color: #3B4455;\n",
              "      --disabled-fill-color: #666;\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart {\n",
              "    background-color: var(--bg-color);\n",
              "    border: none;\n",
              "    border-radius: 50%;\n",
              "    cursor: pointer;\n",
              "    display: none;\n",
              "    fill: var(--fill-color);\n",
              "    height: 32px;\n",
              "    padding: 0;\n",
              "    width: 32px;\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart:hover {\n",
              "    background-color: var(--hover-bg-color);\n",
              "    box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "    fill: var(--button-hover-fill-color);\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart-complete:disabled,\n",
              "  .colab-df-quickchart-complete:disabled:hover {\n",
              "    background-color: var(--disabled-bg-color);\n",
              "    fill: var(--disabled-fill-color);\n",
              "    box-shadow: none;\n",
              "  }\n",
              "\n",
              "  .colab-df-spinner {\n",
              "    border: 2px solid var(--fill-color);\n",
              "    border-color: transparent;\n",
              "    border-bottom-color: var(--fill-color);\n",
              "    animation:\n",
              "      spin 1s steps(1) infinite;\n",
              "  }\n",
              "\n",
              "  @keyframes spin {\n",
              "    0% {\n",
              "      border-color: transparent;\n",
              "      border-bottom-color: var(--fill-color);\n",
              "      border-left-color: var(--fill-color);\n",
              "    }\n",
              "    20% {\n",
              "      border-color: transparent;\n",
              "      border-left-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "    }\n",
              "    30% {\n",
              "      border-color: transparent;\n",
              "      border-left-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "      border-right-color: var(--fill-color);\n",
              "    }\n",
              "    40% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "    }\n",
              "    60% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "    }\n",
              "    80% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "      border-bottom-color: var(--fill-color);\n",
              "    }\n",
              "    90% {\n",
              "      border-color: transparent;\n",
              "      border-bottom-color: var(--fill-color);\n",
              "    }\n",
              "  }\n",
              "</style>\n",
              "\n",
              "  <script>\n",
              "    async function quickchart(key) {\n",
              "      const quickchartButtonEl =\n",
              "        document.querySelector('#' + key + ' button');\n",
              "      quickchartButtonEl.disabled = true;  // To prevent multiple clicks.\n",
              "      quickchartButtonEl.classList.add('colab-df-spinner');\n",
              "      try {\n",
              "        const charts = await google.colab.kernel.invokeFunction(\n",
              "            'suggestCharts', [key], {});\n",
              "      } catch (error) {\n",
              "        console.error('Error during call to suggestCharts:', error);\n",
              "      }\n",
              "      quickchartButtonEl.classList.remove('colab-df-spinner');\n",
              "      quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n",
              "    }\n",
              "    (() => {\n",
              "      let quickchartButtonEl =\n",
              "        document.querySelector('#df-f61cf683-f792-4820-9d3c-65195a2cb53d button');\n",
              "      quickchartButtonEl.style.display =\n",
              "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "    })();\n",
              "  </script>\n",
              "</div>\n",
              "    </div>\n",
              "  </div>\n"
            ],
            "application/vnd.google.colaboratory.intrinsic+json": {
              "type": "dataframe",
              "variable_name": "df"
            }
          },
          "metadata": {},
          "execution_count": 4
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "8pXoHSC0HxWv",
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "outputId": "304d11b4-739e-4796-c0ca-7a510f033ea0"
      },
      "source": [
        "# column 'viewCount''\n",
        "df['viewCount'].sort_values()"
      ],
      "execution_count": 5,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "24466    0.0\n",
              "45995    0.0\n",
              "45994    0.0\n",
              "65508    0.0\n",
              "45993    0.0\n",
              "        ... \n",
              "45854    NaN\n",
              "45856    NaN\n",
              "45860    NaN\n",
              "45864    NaN\n",
              "45865    NaN\n",
              "Name: viewCount, Length: 66289, dtype: float64"
            ]
          },
          "metadata": {},
          "execution_count": 5
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "ebMtSjgbHxWv",
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "outputId": "51ec8e24-9884-44b5-dae2-841c5cf493d6"
      },
      "source": [
        "# drop samples including NaN & 0 on 'viewCount'\n",
        "\n",
        "print('orig_num = ', len(df))\n",
        "print('num of NaN = ', len(df.query('viewCount == \"NaN\"')))\n",
        "df = df[df['viewCount'].notnull()]\n",
        "print('after_num = ', len(df))\n",
        "\n",
        "df = df[df['viewCount'] != 0]\n",
        "print('after_num2 = ', len(df))"
      ],
      "execution_count": 6,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "orig_num =  66289\n",
            "num of NaN =  0\n",
            "after_num =  66279\n",
            "after_num2 =  66231\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "4C0kWvqkHxWw",
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "outputId": "9189c61a-eaf1-46c6-8904-8d2c6e884e1f"
      },
      "source": [
        "df['viewCount'].describe()"
      ],
      "execution_count": 7,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "count    6.623100e+04\n",
              "mean     4.548834e+05\n",
              "std      1.328530e+06\n",
              "min      2.000000e+00\n",
              "25%      3.919150e+04\n",
              "50%      1.215850e+05\n",
              "75%      3.515195e+05\n",
              "max      8.664236e+07\n",
              "Name: viewCount, dtype: float64"
            ]
          },
          "metadata": {},
          "execution_count": 7
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "B-jBw8yDHxWw",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 638
        },
        "outputId": "7a62e0cd-d733-46c7-970d-ac3417fc728c"
      },
      "source": [
        "# histgram of viewCount\n",
        "\n",
        "%matplotlib inline\n",
        "fontsize = 16\n",
        "\n",
        "fig, (ax1, ax2) = plt.subplots(2, 1, figsize=(10,10))\n",
        "fig.subplots_adjust(hspace=0.4)\n",
        "\n",
        "# default values\n",
        "df['viewCount'].hist(ax=ax1, bins=100)\n",
        "ax1.tick_params(labelsize=fontsize)\n",
        "ax1.set_title('histgram of viewCount', fontsize=fontsize)\n",
        "ax1.set_xlabel('ViewCount', fontsize=fontsize)\n",
        "ax1.set_ylabel('Frequency', fontsize=fontsize)\n",
        "\n",
        "# log\n",
        "df['viewCount'].hist(ax=ax2, bins=100, log=True)\n",
        "ax2.tick_params(labelsize=fontsize)\n",
        "ax2.set_title('histgram of viewCount', fontsize=fontsize)\n",
        "ax2.set_xlabel('ViewCount', fontsize=fontsize)\n",
        "ax2.set_ylabel('Frequency (log)', fontsize=fontsize)"
      ],
      "execution_count": 8,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "Text(0, 0.5, 'Frequency (log)')"
            ]
          },
          "metadata": {},
          "execution_count": 8
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 1000x1000 with 2 Axes>"
            ],
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAA4UAAANlCAYAAADLlFwiAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAADUjUlEQVR4nOzdeVxV1f7/8dcBERFFVFScGNKcZ1EqpDQcckwlh6wU817tehtMK6Ey9WqSNjpUZpnD/WZOOKaZgormlCYOaKYlCmrmlICgiLB/f/g753o6BwRBoc77+Xicx+WstT57rbNZp+uHtffaJsMwDERERERERMQhORX1AERERERERKToKCkUERERERFxYEoKRUREREREHJiSQhEREREREQempFBERERERMSBKSkUERERERFxYEoKRUREREREHJiSQhEREREREQempFBERERERMSBKSkUEXEQJpMJk8mU77i2bdtiMpnYvHlz4Q9KCtX27dvp2LEjFSpUwMnJCZPJxNy5c+9KX2FhYXf1+IUhKSmJN998kwceeIBKlSrh4uKCp6cnLVq04KWXXmL37t1FPUQRkWKhRFEPQEREHIOfnx8nT54kISEBPz+/oh7O386ZM2fo2rUrycnJtGnTBj8/P5ycnKhdu3ZRD61ITJkyhTFjxnD9+nXKlClDYGAglStXJjU1lYMHDzJt2jSmTZvGq6++ypQpU4p6uPly4sQJ/P398fX15cSJE0U9HBH5G1BSKCIiuZo/fz7p6en4+PgU9VAkF+vXr+fy5csMGDCAr7766q73FxkZSXh4OFWrVr3rfeVXeHg4kydPxsXFhffee4/nn38eV1dXqzY7d+7kjTfe4OjRo0U0ShGR4kNJoYiI5ErJ4F9DYmIiAPfff/896a9q1arFMiGMiYlh8uTJACxatIhevXrZbffAAw8QHR3N999/fy+HJyJSLOmeQhERBxQVFUWbNm3w8PDA3d2doKAg1q5da7dtTvcUZmRk8O6779KyZUvKli1LyZIl8fb2plWrVrz22mtcunQJgLlz52IymTh58iQA/v7+lvsb7R135cqVBAcHU7ZsWcqVK8cjjzzCmjVrOHHiBCaTyebS01vLs7Ky+OCDD2jevDllypSxuofy8OHDjB07lqCgIKpXr07JkiWpWLEi7du3Z/HixXY/++bNmzGZTLRt25aMjAzGjx9P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liuF/v7+fPjhh3cc37JlS6KiovId5+3tzYwZM5gxY0a+4kqWLEl4eDjh4eH57rNv37707ds333EiIiIiIiKFoViuFIqIiIiIiMi9oaRQRERERETEgSkpFBERERERcWBKCkVERERERByYkkIREREREREHpqRQRERERETEgSkpFBERERERcWBKCkVERERERByYkkIREREREREHpqRQRERERETEgSkpFBERERERcWBKCkVERERERByYkkIREREREREHpqRQRERERETEgSkpFBERERERcWBKCkVERERERByYkkIREREREREHpqRQRERERETEgSkpFBERERERcWBKCkVERERERByYkkIREREREREHpqRQRERERETEgSkpFBERERERcWBKCkVERERERByYkkIREREREREHpqRQRERERETEgSkpFBERERERcWBKCkVERERERByYkkIREREREREHpqRQRERERETEgSkpFBERERERcWBKCkVERERERByYkkIREREREREHpqRQRERERETEgSkpFBERERERcWB/qaTwtddew2QyYTKZmDhxYo7toqOj6dKlC15eXri5uVGvXj3eeOMNrly5kuvxf/nlF8LCwqhRowaurq7UqFGDsLAwjh8/nmtcamoqr7/+OnXr1sXNzQ0vLy+6du3Kxo0bc43Lzs7ms88+IzAwkLJly1K2bFkCAwOZNWsWhmHkGisiIiIiIlIY/jJJ4fbt23n//fcxmUy5tvvwww/p0KED69ato2HDhnTv3p3k5GQmTZpEQEAAFy5csBu3bds2mjZtyrx58/D09KRXr154enoyb948mjRpws6dO+3GnTt3joCAACIjI0lNTaV79+40bNiQb7/9lvbt2zN9+nS7cVlZWfTp04fnnnuO+Ph42rVrR7t27Th48CDDhg2jX79+ZGdn5+8kiYiIiIiI5NNfIilMT08nLCyMqlWr8vjjj+fYLi4ujlGjRuHs7MyaNWuIjY1l8eLF/Prrr4SEhPDzzz/z3HPP2T1+3759SU9PJyIigvj4eBYuXEh8fDwRERGkpaXRt29frl69ahM7dOhQjh49SkhICL/88guLFy8mNjaWb775BicnJ0aMGMGBAwds4qZPn86yZcuoXr068fHxrFq1ilWrVnHo0CGqVavGkiVL+OSTTwp24kRERERERG6jQEnhH3/8UVjjyFVERATH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kXusQElh+/bt2bVrV64bzIiIiIiIiEjxVaCkcMKECVy6dIlx48YV0nBERERERETkXirQRjNbtmxh8ODBTJw4kXXr1tG1a1d8fHxwcrKfaw4cOLAg3YmIiIiIiEghK1BSGBYWhslkwjAMdu/ezZ49e3Jtr6RQRERERESkeClQUjhw4EBMJlNhjUVERERERETusQIlhXPnzi2kYYiIiIiIiEhRKNBGMyIiIiIiIvLXVqCVwj/75ZdfOH/+PBUrVqROnTqFeWgRERERERG5Cwq8UpiVlcXEiRPx9vambt26tGnThnfeecdS/9VXX/HQQw9x6NChgnYlIiIiIiIihaxASWFWVhbdunVj7Nix/PHHH9SvX9/mQfZBQUHs3LmTZcuWFWigIiIiIiIiUvgKlBTOnDmT7777jnbt2pGQkEB8fLxNGz8/P2rVqsX69esL0pWIiIiIiIjcBQVKCufNm0eFChVYsmQJ1apVy7Fd/fr1SUxMLEhXIiIiIiIichcUKCk8cuQIrVu3pnz58rm2K1euHOfOnStIVyIiIiIiInIXFPieQldX19u2++233/LUTkRERERERO6tAiWFvr6+HDhwINc2mZmZxMfHc//99xekKxEREREREbkLCpQUPvbYY5w4cYJZs2bl2Gb69OmcP3+erl27FqQrERERERERuQsK9PD6V199lblz5zJ8+HAOHz5M3759AUhLS2Pv3r0sXryYDz74AC8vL55//vlCGbCIiIiIiIgUngKtFFatWpUVK1bg6enJtGnTCA4OxmQysXTpUlq1asWUKVMoU6YMUVFReHl55evYX331FQMHDqRp06ZUrlwZFxcXypUrR+vWrYmMjOTKlSs5xkZHR9OlSxe8vLxwc3OjXr16vPHGG7nGAPzyyy+EhYVRo0YNXF1dqVGjBmFhYRw/fjzXuNTUVF5//XXq1q2Lm5sbXl5edO3alY0bN+Yal52dzWeffUZgYCBly5albNmyBAYGMmvWLJvnPYqIiIiIiNwNBUoKAR5++GEOHTrEa6+9RsOGDXFzc8PV1ZXatWvz4osvcvDgQdq0aZPv43766af83//9Hzdu3KBFixb06dOHgIAA4uPjef3112nevDlnzpyxifvwww/p0KED69ato2HDhnTv3p3k5GQmTZpEQEAAFy5csNvftm3baNq0KfPmzcPT05NevXrh6enJvHnzaNKkCTt37rQbd+7cOQICAoiMjCQ1NZXu3bvTsGFDvv32W9q3b8/06dPtxmVlZdGnTx+ee+454uPjadeuHe3atePgwYMMGzaMfv36kZ2dne/zJiIiIiIikh8FunzUrEqVKrzzzju88847hXE4AN5//33uv/9+KlSoYFV+8eJFevbsyffff8+oUaP4+uuvLXVxcXGMGjUKZ2dnVq9eTefOnQFIT0+nR48exMTE8Nxzz7F06VKrY6anp9O3b1/S09OJiIhg0qRJlrrXX3+dyMhI+vbty88//4ybm5tV7NChQzl69CghISGsWrWK0qVLA7B27Vp69OjBiBEjeOSRR2jSpIlV3PTp01m2bBnVq1dn69at+Pv7A5CQkECbNm1YsmQJDz/8sC67FRERERGRu6rAK4V3S2BgoE1CCFCxYkVL0rZ+/XqrusjISAzDYPDgwZaEEKB06dLMnj0bJycnoqKiOHLkiFXc3LlzOXPmDHXq1GHixIlWdRMnTqROnTokJSUxf/58q7rDhw+zcuVKnJ2dmT17tiUhBOjSpQthYWFkZ2cTGRlpFZednc3kyZMBmDx5siUhBPD397fURUZGarVQRERERETuqmKbFOamRImbC5y3Pvvw+vXrrFmzBoABAwbYxPj6+hIUFATA8uXLrerM7/v374+Tk/UpcXJyol+/fgAsW7bMblxQUBC+vr42fZrHsXr1ajIzMy3lO3bs4OzZs7i6uhIaGmoTFxoaSsmSJTlz5gy7du2yqRcRERERESksBbp89NFHH81zW5PJRExMTEG6A25u6jJu3DgAevToYSk/evQo6enpAAQEBNiNDQgIYOvWrcTFxVmVm9/nFndru/zGpaWlcezYMRo0aGAV17BhQ0qVKmUT5+bmRsOGDYmLiyMuLo4HH3zQ7vFFREREREQKqkBJ4ebNm2/bxmQyYRgGJpPpjvpYv349CxYsIDs7m99//50dO3aQmprKY489ZrnMEm7eiwfg6elJ2bJl7R6rZs2aVm3hZpJ58eJFAHx8fHKNO3/+PGlpabi7u1sdJ6c4Dw8PPDw8SElJISEhwZIU3i7O3GdcXJzVWO3JyMggIyPD8j4lJQWAzMxMq9XJomDu39XJ/k6qRT0+cQzmeab5JkVNc1GKC81FKQ40D++NvJ7fAiWFmzZtsluenZ3NyZMn+eabb1i2bBkRERF07Njxjvo4fPgw8+bNsyobMGAAH3zwAeXKlbOUpaamAlgSNnvKlCkD/C9xujUut1hznDnW3C6vfaakpNjtM79jtScyMpLx48fblK9fv97qHseiNCHA/n2Ra9euvccjEUe2YcOGoh6CCKC5KMWH5qIUB5qHd5f5SsrbKVBS+Mgjj+RaHxYWxrRp03jttdcsD7bPrxEjRjBixAgyMzNJTExk5cqVTJw4kXXr1rF8+XIefvjhOzru30VERAQjR460vE9JSaFmzZp07NgRDw+PIhzZzb9MbNiwgTF7nMjItl0pjh/XqQhGJY7GPA87dOiAi4tLUQ9HHJjmohQXmotSHGge3hu3W2AyK5RHUuTmxRdfZPr06YwbN85mg5f8cHFxoVatWowcOZKgoCAefPBBnn76actjIsyXjKalpeV4DPPD629Nlm691DSn2Fsfem8v9k77zG+cPa6urlYb7pi5uLgUmy9YRraJjCzbpLC4jE8cQ3H6Tohj01yU4kJzUYoDzcO7K6/n9p7sPtq0aVO+//77QjteYGAgDRo0ICkpiT179gDg5+cHwOXLl60uCb1VUlKSVVu4maCZH32RmJiYa5yXl5fVJZ/m4+QUd+tlo7f2ebu4nMYqIiIiIiJS2O5JUnjp0iWr1bbCYE7Ozp07B0DdunUt99CZE8U/M5e3aNHCqtz8/m7Fubu7U6dOHZu4Q4cOce3aNZu4q1evcujQIbt9ioiIiIiIFKa7nhRu2bKFrVu3UqtWrUI75oULF9i/fz+AJdkqWbIkXbt2BWDBggU2MSdPnmT79u0A9OrVy6rO/H7hwoU2D4vPzs5m0aJFAPTu3duqrmfPngBs27bN7qqfeRzdu3e3Wrp98MEH8fb2JiMjg6ioKJu4qKgorl+/TrVq1QgMDLR3CkRERERERApFge4p/M9//pNjXWpqKj/99BPfffcd2dnZ/OMf/8jzcQ8fPkxcXByhoaE2z/E7evQow4YNIyMjgwceeIDGjRtb6sLDw1m6dClz5swhNDSUxx57DLi5686QIUPIysoiNDSUevXqWR0zLCyMt99+m6NHjzJmzBjefvttS92YMWM4evQoNWrUYODAgVZxDRs25PHHH2flypUMGTKEVatW4ebmBsC3337L3LlzcXJyIiIiwirOycmJ0aNH8/LLLzN69Ggeeugh/P39gZuPqwgPDwdubiLj5HRPFnNFRERERMRBFSgpHDdunOU5hDlxcnLipZdeYsSIEXk+7rlz53j66acZNmwYzZs3p0aNGly/fp3ExET27t1LdnY29evXt6zgmbVo0YL333+fkSNH0qVLFx555BEqV67M1q1b+e2336hbty4zZ8606a906dIsXryYjh07MmnSJFatWkWjRo2Ij48nPj4ed3d3lixZYkn4bjVr1iwOHz5MdHQ0tWrVIjg4mHPnzhEbG4thGEydOpUmTZrYxL3wwgts2bKF5cuX06hRI9q3bw9AdHQ06enpPPHEEwwfPjzP50xEREREROROFCgpHDt2bI51JUuWpHr16jz66KPUqFEjX8dt2LAhb7/9Nlu3buXIkSPExcWRmZlJhQoVCAkJoXfv3gwePNjurpsvv/wyjRs35v333+eHH34gLS0NHx8fIiIiiIiIyPHB9kFBQezfv58JEyYQHR1NVFQUlSpVYuDAgbz11ls5Xv5auXJl9uzZQ2RkJFFRUaxcuRJ3d3c6derEK6+8QkhIiN04Z2dnli5dyueff84XX3xBTEyM5bMPGTKEoUOHYjLZ7tgpIiIiIiJSmExGbst88peTkpJCuXLlSE5OLhbPKVy7di2v/eBs95EUJ97pWgSjEkdjnoddunTRltdSpDQXpbjQXJTiQPPw3shrbqAb1kRERERERByYkkIREREREREHVqB7Cp999tk7jjWZTMyePbsg3YuIiIiIiEgBFSgpnDt3LoBlQ5Q/356YU7m5TkmhiIiIiIhI0SpQUjhnzhx2797NJ598gre3N3379rU8b+/EiRMsWbKEM2fOMHz4cFq1alUoAxYREREREZHCU6CksGXLlvzrX/9i+PDhvP/++zaPiJg8eTKjRo3iyy+/ZNiwYVYPmhcREREREZGiV6CNZsaNG0fVqlWZNm2a3WcGlixZkqlTp+Lt7c24ceMK0pWIiIiIiIjcBQVKCrds2UJgYCBOTjkfxsnJicDAQLZu3VqQrkREREREROQuKFBSmJqayh9//HHbdn/88QdXrlwpSFciIiIiIiJyFxQoKaxduzabN2/m6NGjObb5+eef2bRpE7Vq1SpIVyIiIiIiInIXFCgpHDJkCBkZGbRt25bPP/+c9PR0S116ejpffPEFISEhZGZmMmTIkAIPVkRERERERApXgXYffeGFF4iNjWXlypU899xzPPfcc3h5eQFw4cIF4OYzCnv06MGLL75Y8NGKiIiIiIhIoSrQSqGzszPLli1j+vTp3HfffRiGwfnz5zl//jyGYeDv78+0adNYvnx5rpvRiIiIiIiISNEo0EohgMlk4t///jf//ve/OXPmDKdOnQKgevXqVK9evcADFBERERERkbunwEnhrapVq0a1atUK85AiIiIiIiJyFxVaUpicnMzu3bs5f/48vr6+PPTQQ4V1aBEREREREblLCnyjX2pqKv/4xz+oXLkynTp14umnn+aLL76w1H/xxRdUq1aNXbt2FbQrERERERERKWQFSgqvXr1K27Zt+fLLLylfvjydO3fGMAyrNt26deP3339nxYoVBelKRERERERE7oICJYUffPABcXFxPPnkk/z666988803Nm28vb2pX78+mzZtKkhXIiIiIiIichcUKClctGgR3t7ezJ49G3d39xzb1alTx7IrqYiIiIiIiBQfBUoKf/31V1q3bk2pUqVybVe6dGnLw+xFRERERESk+Cjww+szMzNv2+7UqVO5riSKiIiIiIhI0ShQUlirVi3279/PjRs3cmxz5coVDhw4QP369QvSlYiIiIiIiNwFBUoKe/TowW+//cbEiRNzbDNx4kSSk5Pp1atXQboSERERERGRu6BASeHLL79M9erVmTBhAj179mTBggUA/P777yxbtoz+/fvz7rvv4ufnx3PPPVcoAxYREREREZHCU6IgwZ6enqxbt44ePXqwatUqVq9ejclkYt26daxbtw7DMPD19WX16tW6p1BERERERKQYKlBSCNCgQQPi4+OZO3cua9eu5fjx42RnZ1OzZk06d+7M0KFDKV26dGGMVURERERERApZgZLCLVu24OzsTFBQEM8995wuERUREREREfmLKdA9hW3btmXMmDGFNRYRERERERG5xwqUFJYvX55q1aoV1lhERERERETkHitQUtisWTOOHTtWWGMRERERERGRe6xASeGLL77I7t27WbNmTWGNR0RERERERO6hAm0007x5c55//nl69epFWFgYoaGh+Pn54ebmZre9j49PQboTERERERGRQlagpNDf3x8AwzCYPXs2s2fPzrGtyWTixo0bBelOREREREREClmBksKaNWtiMpkKaywiIiIiIiJyj+XrnsJp06YRHR1teX/ixAkSEhLy/MqrzMxMYmJiePXVV2nVqhWenp64uLjg7e1Njx49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Y8ZY1Y0ZM4ajR49So0YNm41yGjZsyOOPP05WVhZDhgzh6tWrlrpvv/2WuXPn4uTkREREhFWck5MTo0ePBmD06NFWj51ISEggPDwcuLmJjJNTsf0ViYiIiIjI30CxfE7hqlWrePvttwGoXbs2H3/8sd12Xl5evPfee5b3LVq04P3332fkyJF06dKFRx55hMqVK7N161Z+++036taty8yZM22OU7p0aRYvXkzHjh2ZNGkSq1atolGjRsTHxxMfH4+7uztLlizBzc3NJnbWrFkcPnyY6OhoatWqRXBwMOfOnSM2NhbDMJg6dSpNmjSxiXvhhRfYsmULy5cvp1GjRrRv3x6A6Oho0tPTeeKJJxg+fPgdnT8REREREZG8KpZJ4aVLlyw/79mzJ8d79nx9fa2SQoCXX36Zxo0b8/777/PDDz+QlpaGj48PERERRERE5Phg+6CgIPbv38+ECROIjo4mKiqKSpUqMXDgQN566y1q1aplN65y5crs2bOHyMhIoqKiWLlyJe7u7nTq1IlXXnmFkJAQu3HOzs4sXbqUzz//nC+++IKYmBjg5urjkCFDGDp0aJHt9CoiIiIiIo6jWCaFYWFhhIWF3XF8+/btLStv+VG7dm3mzZuX7zgPDw8iIyOJjIzMV5yTkxPDhg1j2LBh+e5TRERERESkMOiGNREREREREQempFBERERERMSBKSkUERERERFxYEoKRUREREREHJiSQhEREREREQempFBERERERMSBKSkUERERERFxYEoKRUREREREHJiSQhEREREREQempFBERERERMSBKSkUERERERFxYEoKRUREREREHJiSQhEREREREQempFBERERERMSBKSkUERERERFxYEoKRUREREREHJiSQhEREREREQempFBERERERMSBKSkUERERERFxYEoKRUREREREHJiSQhEREREREQempFBERERERMSBKSkUERERERFxYEoKRUREREREHJiSQhEREREREQempFBERERERMSBKSkUERERERFxYEoKRUREREREHJiSQhEREREREQempFBERERERMSBKSkUERERERFxYEoKRUREREREHJiSQhEREREREQempFBERERERMSBKSkUERERERFxYMU2Kfz555+ZPn06YWFhNG7cmBIlSmAymZg4ceJtY6Ojo+nSpQteXl64ublRr1493njjDa5c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j48PERERRERE5Phg+6CgIPbv38+ECROIjo4mKiqKSpUqMXDgQN566y1q1aplN65y5crs2bOHyMhIoqKiWLlyJe7u7nTq1IlXXnmFkJAQu3HOzs4sXbqUzz//nC+++IKYmBjg5urjkCFDGDp0KCaT7Y6dIiIiIiIihanYJoVt27bFMIw7im3fvr1l5S0/ateuzbx58/Id5+HhQWRkJJGRkfmKc3JyYtiwYQwbNizffYqIiIiIiBQG3bAmIiIiIiLiwJQUioiIiIiIODAlhSIiIiIiIg5MSaGIiIiIiIgDU1IoIiIiIiLiwJQUioiIiIiIODAlhSIiIiIiIg5MSaGIiIiIiIgDU1IoIiIiIiLiwJQUioiIiIiIODAlhSIiIiIiIg5MSaGIiIiIiIgDU1IoIiIiIiLiwJQUioiIiIiIODAlhSIiIiIiIg5MSaGIiIiIiIgDU1IoIiIiIiLiwJQUioiIiIiIODAlhSIiIiIiIg5MSaGIiIiIiIgDU1IoIiIiIiLiwJQUioiIiIiIODAlhSIiIiIiIg6sRFEPQByXX/iaHOtOvNP1Ho5ERERERMRxaaVQRERERETEgSkpFBERERERcWBKCkVERERERByYkkIREREREREHpqRQRERERETEgSkpFBERERERcWBKCkVERERERByYkkIREREREREHpqRQRERERETEgSkpFBERERERcWAlinoAIvb4ha/Jse7EO13v4UhERERERP7etFJYDCxZsoS2bdtSvnx53N3dadq0KVOmTCEzM7OohyYiIiIiIn9zSgqL2IgRI+jbty/btm2jdevWPPbYYyQmJjJ69GgeffRRrl69WtRDFBERERGRvzElhUVoxYoVTJ06lTJlyrBr1y6+++47oqKiOHbsGI0bN+b7779nzJgxRT1MERERERH5G9M9hUVo0qRJAISHh9OiRQtLuZeXF5988gnBwcHMmDGDMWPGUK5cuaIaZrGj+w1FRERERAqPVgqLyOnTp9m9ezcAAwYMsKlv06YNNWvWJCMjg7Vr197r4YmIiIiIiIPQSmERiYuLA6BChQr4+/vbbRMQEEBSUhJxcXE8+eST93J4f1laRRQRERERyR8lhUUkISEBAB8fnxzb1KxZ06qtFIwSRhERERERW0oKi0hqaioA7u7uObYpU6YMACkpKTm2ycjIICMjw/I+OTkZgEuXLhX5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hr+/PwAnT560+i7dyT3DIiKglUIREYczduxYJkyYwEMPPUSXLl04cuQI27dvp1u3bkRFRd32H9IA2dnZdO3alZiYGDw8PAgODsbT05Pz589z7Ngx3n33XQYMGECFChWoXbs2gwYNYunSpaSlpREaGkqZMmUsx/L29rb8PGXKFEaPHg1AYGAg9913H7/88gvdunWzmxTcyjAMevfuzbp16wgODqZ+/focOnTIUv/BBx8we/Zs6tWrR+PGjfH09CQxMZFNmzYRExPDzp07+eCDD+we+/r163Tq1Im4uDjatm1L3bp12bp1K1OmTOHw4cPMmzePhx56iEuXLvHwww9z//33s2XLFsaPH8/vv//Op59+ettzeuvnCAsLY/78+ZQoUYKHH36YypUrs3fvXubMmcOiRYuIioriscceA7Cc33379rF//36aNm1Ks2bNAPDy8sq1L09PT3r16sXXX3/Nf//7X8LDw23aXLx4kdWrV1OyZEmefvrpPH2GqVOnMnLkSLKzs2nWrBmBgYGcPXuWzZs3s379esaPH89bb71lad++fXvi4uKIjo6mRYsWlvLo6GgMw7D8fKurV6+yfft23NzcCAoKAm4muVu2bAFg0KBBeRrrn61Zs4YnnniCa9euUbduXXr37s25c+eIjY1l48aNfPfdd8yePfuOjp2T5ORkHnroIRITEwkODqZRo0bs2LGD+fPnExsby/79+ylXrhwAbdq04cqVK0RFReHu7s4TTzxRqGMREQdliIiIQwAMwPD09DR27txpVTd27FgDMOrUqWMT98gjjxiAsWnTJktZbGysARjNmzc3UlJSbGJ2795tXLhwwarM19fXAIyEhAS749u7d6/h7OxsODs7G8uWLbOqW7x4seHk5GQAhq+vr1VdQkKC5bPVqFHD+Pnnn+0ef/Pmzcavv/5qU37kyBGjRo0aBmDs2rXLqm7Tpk2WY7du3drqM504ccIoX768ARiNGzc2unfvbqSlpVmdgxIlShhOTk7GyZMn7Y7Jnk8//dQADC8vLyMuLs5Snp2dbfk9eXp6GufOnbOKM9eNHTs2z30ZhmFs2LDBAIx69erZrZ86daoBGKGhoVblgwYNMgBjzpw5VuXr1q0zTCaT4eXlZcTGxlrVHThwwHKuN2/ebCn/7rvvDMDo0KGDVfvBgwcbgNGkSRPDZDIZ58+fzzUmJibG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y9M//vGPQoue2Nq4ceMkSbGxsdq3b59lu9ls1tSpU7V3717VqVPHMjtrLTVq1NAjjzyi/Px8zZw5Uxs2bFDNmjX197///aaOU/Dw+Keeekpr1qwp0m42m5WUlGS5j/N6BSFv7ty5klQoFNavX19333231q9fr/T0dAUHBxe7mmz37t01duxYSdIjjzyit956q9CKpgX27Nmjv/71r5bVXiXpmWeeUe3atZWSkqJp06YVupw4NTXV8t5efPHFYuv++OOPlZaWZtmem5ur8ePHW/1S1ltuuUXu7u46ceKE5QceAPBnEArtRGJiYrE35Be32h0A2Nq3336r3r17y9fXV126dNGjjz6qv/3tbwoODtb7778vb29vvfbaa4X2KVgZ9LHHHtPAgQM1bNgwDRs2zLLiZ9u2bTV16lTl5eVpwIABuueee/Too4+qQ4cOGjhwoEaNGiXp91mSm9G3b1+1bdtWWVlZuuOOO9SnTx/9/e9/V0hIiGbOnGmZ3bQHzz77rB5//HGdOnVK7dq10/33368hQ4aoWbNm+sc//qEaNWpo6dKlhRZVsZaCWUGj0airV6/qoYceKvaRI6Xp27ev4uLidObMGfXr10+33367+vTpo0cffVQ9evRQgwYN1LFjR23ZsqXIvgXh6rffflONGjXUqVOnIu0Fi66UturoG2+8oX/+858ym80aO3asbrnlFnXv3l2PPvqo+vfvr+DgYLVr104JCQlq2rSpZb/69etryZIlql69ul555RWFhoZqyJAhuv/++9W+fXudOXNGTz31VJFAHh4erv79++vChQtq166devToof79++u2227TggUL9MILL9zUZ3gjbm5u6tevn/Ly8tSqVSsNGTLE8n0CgPLgnkI78/777+uuu+6yvC5tJT0AsJW+ffvq/Pnz2rFjhw4fPqyvv/5aNWrUUEBAgGJiYhQVFWWZGSzwf//3f8rJydG///1vrV+/3vKf+8cee8xyz9qECRPUtGlTvfnmm9q7d6++++47tWzZUqtXr1bdunX15ptvytfX96brdXV1VWJioqZPn64VK1Zo8+bNql27tu69916tWLFCOTk5xd5raAsGg0EfffSRevbsqffee0979uzRxYsX1aBBA0VGRiomJqbM9/jdrA4dOuiuu+6yzObezKWj14uOjlbXrl01Z84cbd26VZs3b5aLi4saNGig1q1bq3fv3sU+PqRgldHMzEx16tRJHh4ehdrvv/9+vf3225bfl+bll1/Wo48+qgULFmjTpk1KTU3V+fPn5enpqdtuu039+/fXk08+WWj1Uknq06ePUlJSNHPmTG3evFnLly+Xp6enOnfurGeffbbEmdPPPvtMU6dO1dKlS5WYmCgfHx9169ZNsbGx2rFjx818fGWyYMEC1atXT1988YWWL19umbV///33rX4uAFWfwVzSUmuoVImJierSpYu++uordezY0dblAIDdee211/Tqq6/q+eef1+zZs21dDgAAVQaXjwIA7Mbhw4d19uzZIts///xzTZ8+vdCD1gEAgHUQCktx6NAhzZkzR5GRkWrevLlcXV1lMBgsN5rfyLJlyxQRESEfHx95enqqZcuWmjVrVpGFGa7Xv39/VatWTfXr19fw4cO5gRyAU1myZInq16+vDh066KGHHlL//v3VtGlT9e/fX7/99pteffVVtW3b1tZlAgBQpXBPYSneffddxcXFlWvfUaNGKS4uTq6ururatau8vLy0ZcsWjR8/XmvWrFF8fHyhBy17e3tr7NixioiIkJeXl5KSkjR9+nR99dVX2r17d5H7KgCgKnrggQcs9ygePHhQv/32m+rVq6e+fftqxIgReuCBB2xdIgAAVQ73FJbi/fff16FDh9S6dWu1adNG06ZN08cff6zY2FhNnDixxP1Wr16tBx98UF5eXtq2bZvatGkjSTp16pS6du2q/fv3a+zYsYWWwS5OQkKCevToocWLFysyMtKabw0AAAAAJHH5aKmGDRum119/XUOGDFHTpk3l4lK2j2vatGmSpJiYGEsglCRfX1/NmzdP0rVnMJ0/f77U43Tv3l1169a1+vONAAAAAKAAodDKjh8/bglxQ4YMKdLeqVMnBQQEyGQyaf369WU6psFgsGqNAAAAAFCAewqtLDU1VZJUt25dBQcHF9unXbt2yszMVGpqqgYPHlzisTZu3KgzZ86offv2JfYxmUwymUyW1/n5+Tpz5ozq1atHmAQAAACcmNlsVk5Ojho2bFjqVY+EQitLT0+XJAUGBpbYJyAgoFBf6drDm4ODg9W2bVvVqlVLSUlJmjlzplq1aqVHHnmkxGNNnz5dU6ZMsVL1AAAAAKqazMxMNWrUqMR2QqGV5eTkSJI8PT1L7OPl5SVJys7Otmy76667tHTpUsXF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7NmqU6eO4uPjLauPAhVp1apVcnV11bx58yyP5Cnw/fffS5IWLlyoTZs2qUGDBszQoMLcdtttxf6+uD4///xzpdQE57Ru3TqdPHlSISEh6tChQ5H22267TR06dNDWrVu1adMmdenSxQZVOi9CIayi4D/ap0+fVnp6erErkO7evVuSCj3DEKhIL730kt566y15e3srPj7esgIuUBmuXr2qbdu2ldiekZGhjIwMNW7cuBKrgrNp06aNDAaDzGazTp06VeyqjqdOnZL0+73/QEU4duyYpNKvGCt4juuZM2cqpSb8jstHYRWNGjVSWFiYJGnp0qVF2nfu3KnMzEx5eHjwnC5UipiYGL3++uvy9vZWQkKCZXwCleHcuXMym83F/nryySclSbGxsTKbzcrIyLBtsajSGjRooE6dOkkq/vLQ3Nxcyw8v2rdvX6m1wbn4+/tLuna1xPnz54u05+bmKiUlRZJKfLwZKg6hEFbz8ssvS5JmzJhh+VJL12YPR4wYIUkaOXKk5adAQEWZOHGiZs6cqTp16hAIATi9V199VZI0ffp0ff3115btV69e1dixY3X06FHVqlVLTz31lK1KhBPo2bOnPD09dfnyZT3zzDOWtSYk6cqVKxo9erSOHTsmNzc3PfTQQzas1Dlx+SisZsCAAYqOjtbs2bPVsWNHdevWTZ6entq8ebPOnTun8PBwxcbG2rpMVHGff/65/vnPf0qSmjRpIqPRWGw/X19fvfHGG5VZGgDYRLdu3RQbG6tJkyapc+fOat++vRo0aKCUlBRlZGSoRo0a+uSTT1S/fn1bl4oq7JZbbtH8+fP11FNPadmyZUpMTFRYWJjc3Ny0e/duHT9+XC4uLpo9e3aJ97+i4hjM1z/BFLCC//znPzIajdq7d69yc3MVEhKixx57TKNHj+YxAKhwH3zwQZl+2t24cWMu24NNREZG6sMPP1RsbKwmTpxo63LgROLj4/XOO+8oKSlJOTk5atCggbp166bx48eradOmti4PTmLfvn165513tH37dh0/flxms1l+fn7q1KmToqOjuYzZRgiFAAAAAODEuKcQAAAAAJwYoRAAAAAAnBihEAAAAACcGKEQAAAAAJwYoRAAAAAAnBihEAAAAACcGKEQAAAAAJwYoRAAAAAAnBihEAAAAABsYPv27erbt68aNmwog8Gg1atX39T+kydPlsFgKPLL09Pzpo5DKAQAOI0nnnhCBoNBjzzySJn6v/322zIYDAoNDVVGRoYMBoOCgoIqtsg/wWw2a/ny5Ro8eLCCg4Pl6emp6tWrKyAgQH369NF7772nnJwcW5cJAPj/Ll68qJYtW8poNJZr/3Hjxunnn38u9Cs0NFQPP/zwTR2HUAgAcBpDhw6VJK1evVpnz569Yf/FixcX2s+eHT16VG3bttXDDz+sTz/9VDVq1FCPHj00YMAABQUFKSEhQc8++6xuu+02/fjjj7Yu96ZFRkbKYDDogw8+sHUpAGA1PXv21NSpU/Xggw8W224ymTRu3Dj5+/vL09NTHTp0UGJioqXdy8tLDRo0sPz65ZdflJaWdtP/bhEKAQBO4y9/+YuaNGkik8mkJUuWlNo3OTlZ+/fvl5ubmx5//HH5+/vr4MGD2rx5cyVVW3bHjh3TPffco9TUVN1zzz3at2+f0tLStGrVKn366afasWOHTp06pZkzZ+rKlStlCsQAANsbOXKkvvrqK3366af69ttv9fDDD+uBBx7Q4cOHi+3//vvv64477lDnzp1v6jyEQgCA0zAYDHr66acl/T4LWJKC9j59+ujWW2+Vm5ubmjZtqpCQkAqv82Y99thj+vXXX9W+fXtt2bJFLVq0KNKnVq1aeumll7Rnzx7Vr1/fBlUCAG7GsWPHtHjxYi1btkydO3dWSEiIxo0bp06dOhX7b9hvv/2mJUuWlOvqFkIhAMCpREZGqlq1akpJSdG3335bbJ/ffvtNn3zyiaTfLx290T2Fly9f1ptvvqmOHTuqTp06ql69uu6880699NJLOn36dKG+n3/+uQwGg/r161fkOCNGjJDBYJCbm5uys7MLtW3fvl0Gg0F/+ctfLNu2bdumHTt2SJLmz5+v6tWrl/r+mzRpIj8/v0Lbrl69qvnz5+vee++Vt7e3qlevrttvv13R0dE6fvx4kWOU5f7KoKAgGQwGZWRklLh969at6tGjh3x8fFSjRg21adNGH330UbHn+vDDDyVJTz31VKHFFCZPnlzq+wUAR7V//37l5eXpjjvukJeXl+XXtm3bdOTIkSL9V61apZycHD355JM3fS5XaxQMAICj8PPzU69evbRmzRotXLhQcXFxRfqsXLlS586dU8OGDfXAAw/c8Jg//fSTHnjgAe3fv19169ZVWFiYatWqpZSUFL3++utatmyZEhMT1bhxY0lSRESEXF1dtW3bNl29elWurr//c7xp0yZJ14JaYmJioeBY0Hb//fdbtv33v/+VJDVv3lytW7e+6c/DZDKpT58+2rRpk6pXr64uXbqodu3a2rVrl+bMmaNPPvlEGzduVJs2bW762KVZtGiRpk6dqjZt2uiBBx5QRkaGvv76az355JM6c+aMRo0aJena/TJPPvmkdu7cqSNHjig8PFxNmjSxHKdVq1ZWrQsA7MWFCxdUrVo17dmzR9WqVSvU5uXlVaT/+++/rz59+pTvahAzAABOZvXq1WZJ5nr16plNJlOR9vvvv98syfzyyy9btqWnp5slmRs3blyob35+vjk8PNwsyTx06FBzdna2pS03N9c8duxYsyRzly5dCu13zz33mCWZv/zyS8u2H3/80SzJ3KJFC7Mk8/PPP3/DfTp37myWZH766afL9VmMHz/eLMkcEhJiTk9Pt2y/cuWKeejQoWZJ5uDg4EKfU0mfxfUaN25sllTomNdvd3NzM69Zs6ZQ2+LFi82SzN7e3uZLly4VanvyySfNksyLFy8u1/sEAHsnybxq1SrL60OHDpklmbdv337DfY8ePWo2GAxF/l4tKy4fBQA4nd69e6tBgwY6ffq0Pv/880Jtx44d05YtWyRdu1TxRjZu3Kgvv/xSrVq10vz581WrVi1Lm6urq2bNmqW7775bW7du1YEDByxtBbN9CQkJlm0FM4GjRo3SrbfeWqgtOztbycnJql27ttq3b2/ZfvLkSUnSrbfeWub3X+C3336zLIP+9ttvF7oc1M3NTbNnz1b9+vWVnp6u5cuX3/TxS/P888+rT58+hbZFRkaqadOmOn/+vHbv3m3V8wGAPbpw4YL27t2rvXv3SpLS09O1d+9eHTt2THfccYceffRRPfHEE1q5cqXS09P1zTffaPr06Vq3bl2h4yxatEh+fn7q2bNnueogFAIAnI6rq6vlnotFixYValu8eLHy8/N13333FbpMsSQF/zAPHDiw0GWgBVxcXCz3AO7atcuyvSAUFgTB63/fo0cPdevWTd9//73lnr7ExERdvXpV9913X7HnKY/du3frwoULqlu3rvr27VukvWbNmpZnOm7dutUq5yxQ3PkkqVmzZpJU7L2MAFDV7N69W61bt7Zc/j9mzBi1bt1a//jHPyRd+zfpiSee0NixY3XnnXdqwIABSk5OVmBgoOUY+fn5+uCDDyz3zJcHoRAA4JQKViGNj4+3BBCz2Wx5Dl5ZV287evSoJGnSpEmFFkC5/te8efMk/T6rJ0n33HOPPD09lZSUpAsXLshsNmvLli1q1qyZ/P39i4TG4u4nlKRbbrlFkvTrr7/e9GdQ8L6Dg4NL7FOw2qq1Q9r1/6G5Xu3atSVdm8UEgKouIiJCZrO5yK+Cf4vc3Nw0ZcoUpaen68qVK/rpp5+0cuVKNW/e3HIMFxcXZWZm6p///Ge562ChGQCAUyp4jtOOHTv00UcfacKECdq6dasyMjLk7e2thx56qEzHyc/PlyR16tTpho+ruOuuuyy/d3Nz01/+8hd98cUXSkxMVGBgoH755Rf9/e9/l1T48tInn3yyxFDYtm1b7dixQ8nJyWV745Wk4HMpiYsLP5cGAHtBKAQAOK2hQ4dqx44dWrx4sSZMmGC5lPSRRx5RjRo1ynSMgIAASVL//v01bty4mzr//fffry+++EKbNm2yzJwVhL7AwEDdfvvt2rx5s44fP66DBw+qYcOGCg0NLXSM/v3765133tH+/fuVmpp6UyuQ+vv7S7p2D0tJCmZCC/pKkru7uyQpJyen2H1yc3P1888/l7kOAIBt8WM6AIDTevjhh1W7dm0dPnxYa9eu1cqVKyWV/dJRSZab+pctW6Zri8eV3fWzgZs2bZKrq6siIiIKtZ84cULvvPOOJKlbt25FjhEREaHw8HBJ0v/93//JZDKVes4jR45YAlu7du3k5eWlM2fOFFlwR7r27MVPP/1UktSlSxfL9ltuuUXu7u46c+ZMsZetbty4UVevXi21jptVEEStfVwAAKEQAODEatasqcGDB0u6do/h5cuX1bx5c4WFhZX5GP3791dYWJi++eYbPfXUU4XuGyxw9uxZzZ8/v0igad68uW699ValpaVp69at6tixY6HVSwtC49y5cwu9/qN///vf8vX1VVJSkrp27ar9+/cX6XPx4kW99dZbatu2rX755RdJUvXq1RUVFSVJGjt2rH788UdL/9zcXL3wwgs6ceKEgoODC11OW3DpqyRNnDix0KWi+/bt08iRI0v5xMqnUaNGkqTvvvvO6scGAGfH5aMAAKc2dOhQLViwwBLmbmaWULp2b9zq1avVu3dvffjhh1q+fLlatmypwMBAXblyRUePHtX+/fuVl5enyMjIQiuHGgwGdevWTZ988ol+++03de/evdCxu3btKhcXF8uiKyWFwqCgIH311VcaOHCgdu3apRYtWig0NFRNmzaVu7u7jh8/rm+++UYmk0n169dX3bp1LftOmTJFu3fv1ubNm9WsWTN16dJFtWrV0ldffaVjx46pXr16WrZsmWWmrsDUqVO1fft2/etf/9K2bdvUokULHT9+XLt379aQIUOUmJhYKGT+WQMGDNCUKVM0e/ZsHThwQAEBAXJxcVG/fv3Ur18/q50HAJwRM4UAAKcWFhZmWcXN3d1djz322E0fo2HDhvr66681f/58tW/fXocOHdLy5cu1c+dOSdJzzz2njRs3qnr16kX2vT7o/TH01alTR23btpV07VENDRs2LLGGJk2aKDU1VZ999pkGDRqkixcv6osvvtCqVauUnp6u7t2761//+peOHj1aaOVPDw8PbdiwQfPmzVPLli21Y8cOrVq1Sm5ubnr++ee1b98+Sw3X69Chg7Zt26YePXroxIkTWrdunS5duqS4uDgtXrz45j7AMmjRooVWrFihe+65R0lJSfrggw+0cOFCpaSkWP1cAOBsDOabvQECAAAAAFBlMFMIAAAAAE6MUAgAAAAAToxQCAAAAABOjFAIAAAAAE6MUAgAAAAAToxQCAAAAABOjFAIAAAAAE6MUAgAAAAAToxQCAAAAABOjFAIAAAAAE6MUAgAAAAAToxQCAAAAABO7P8Bvng5TIkmaz8AAAAASUVORK5CYII=\n"
          },
          "metadata": {}
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "AKATkO81HxWx"
      },
      "source": [
        "## 数値データに対する前処理の例"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "WMW474nmHxWx"
      },
      "source": [
        "### 手法1：バイナリ化(binarization)"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "scrolled": true,
        "id": "gUB5uZw0HxWx",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 201
        },
        "outputId": "18b54757-d21c-497c-c9cf-5ccb90acd0ac"
      },
      "source": [
        "# preprocess method 1: binarization by mean value\n",
        "\n",
        "THRESHOLD = df['viewCount'].mean()\n",
        "new_column = df['viewCount'] > THRESHOLD\n",
        "new_column = np.where(new_column == True, 1, 0)\n",
        "temp = pd.DataFrame(df['viewCount'])\n",
        "temp['binary'] = new_column\n",
        "temp.head()"
      ],
      "execution_count": 9,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "   viewCount  binary\n",
              "0  2244205.0       1\n",
              "1  1869268.0       1\n",
              "2  1724625.0       1\n",
              "3  1109029.0       1\n",
              "4  1759797.0       1"
            ],
            "text/html": [
              "\n",
              "  <div id=\"df-4e853ec2-b48f-4361-95d4-f1ee75075c65\" class=\"colab-df-container\">\n",
              "    <div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>viewCount</th>\n",
              "      <th>binary</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>2244205.0</td>\n",
              "      <td>1</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>1869268.0</td>\n",
              "      <td>1</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2</th>\n",
              "      <td>1724625.0</td>\n",
              "      <td>1</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>3</th>\n",
              "      <td>1109029.0</td>\n",
              "      <td>1</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>4</th>\n",
              "      <td>1759797.0</td>\n",
              "      <td>1</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>\n",
              "    <div class=\"colab-df-buttons\">\n",
              "\n",
              "  <div class=\"colab-df-container\">\n",
              "    <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-4e853ec2-b48f-4361-95d4-f1ee75075c65')\"\n",
              "            title=\"Convert this dataframe to an interactive table.\"\n",
              "            style=\"display:none;\">\n",
              "\n",
              "  <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n",
              "    <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n",
              "  </svg>\n",
              "    </button>\n",
              "\n",
              "  <style>\n",
              "    .colab-df-container {\n",
              "      display:flex;\n",
              "      gap: 12px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert {\n",
              "      background-color: #E8F0FE;\n",
              "      border: none;\n",
              "      border-radius: 50%;\n",
              "      cursor: pointer;\n",
              "      display: none;\n",
              "      fill: #1967D2;\n",
              "      height: 32px;\n",
              "      padding: 0 0 0 0;\n",
              "      width: 32px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert:hover {\n",
              "      background-color: #E2EBFA;\n",
              "      box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "      fill: #174EA6;\n",
              "    }\n",
              "\n",
              "    .colab-df-buttons div {\n",
              "      margin-bottom: 4px;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert {\n",
              "      background-color: #3B4455;\n",
              "      fill: #D2E3FC;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert:hover {\n",
              "      background-color: #434B5C;\n",
              "      box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
              "      filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
              "      fill: #FFFFFF;\n",
              "    }\n",
              "  </style>\n",
              "\n",
              "    <script>\n",
              "      const buttonEl =\n",
              "        document.querySelector('#df-4e853ec2-b48f-4361-95d4-f1ee75075c65 button.colab-df-convert');\n",
              "      buttonEl.style.display =\n",
              "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "\n",
              "      async function convertToInteractive(key) {\n",
              "        const element = document.querySelector('#df-4e853ec2-b48f-4361-95d4-f1ee75075c65');\n",
              "        const dataTable =\n",
              "          await google.colab.kernel.invokeFunction('convertToInteractive',\n",
              "                                                    [key], {});\n",
              "        if (!dataTable) return;\n",
              "\n",
              "        const docLinkHtml = 'Like what you see? Visit the ' +\n",
              "          '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
              "          + ' to learn more about interactive tables.';\n",
              "        element.innerHTML = '';\n",
              "        dataTable['output_type'] = 'display_data';\n",
              "        await google.colab.output.renderOutput(dataTable, element);\n",
              "        const docLink = document.createElement('div');\n",
              "        docLink.innerHTML = docLinkHtml;\n",
              "        element.appendChild(docLink);\n",
              "      }\n",
              "    </script>\n",
              "  </div>\n",
              "\n",
              "\n",
              "<div id=\"df-5cf6c90e-3783-4c52-9cd0-0ba6d16f7c99\">\n",
              "  <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-5cf6c90e-3783-4c52-9cd0-0ba6d16f7c99')\"\n",
              "            title=\"Suggest charts\"\n",
              "            style=\"display:none;\">\n",
              "\n",
              "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
              "     width=\"24px\">\n",
              "    <g>\n",
              "        <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n",
              "    </g>\n",
              "</svg>\n",
              "  </button>\n",
              "\n",
              "<style>\n",
              "  .colab-df-quickchart {\n",
              "      --bg-color: #E8F0FE;\n",
              "      --fill-color: #1967D2;\n",
              "      --hover-bg-color: #E2EBFA;\n",
              "      --hover-fill-color: #174EA6;\n",
              "      --disabled-fill-color: #AAA;\n",
              "      --disabled-bg-color: #DDD;\n",
              "  }\n",
              "\n",
              "  [theme=dark] .colab-df-quickchart {\n",
              "      --bg-color: #3B4455;\n",
              "      --fill-color: #D2E3FC;\n",
              "      --hover-bg-color: #434B5C;\n",
              "      --hover-fill-color: #FFFFFF;\n",
              "      --disabled-bg-color: #3B4455;\n",
              "      --disabled-fill-color: #666;\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart {\n",
              "    background-color: var(--bg-color);\n",
              "    border: none;\n",
              "    border-radius: 50%;\n",
              "    cursor: pointer;\n",
              "    display: none;\n",
              "    fill: var(--fill-color);\n",
              "    height: 32px;\n",
              "    padding: 0;\n",
              "    width: 32px;\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart:hover {\n",
              "    background-color: var(--hover-bg-color);\n",
              "    box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "    fill: var(--button-hover-fill-color);\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart-complete:disabled,\n",
              "  .colab-df-quickchart-complete:disabled:hover {\n",
              "    background-color: var(--disabled-bg-color);\n",
              "    fill: var(--disabled-fill-color);\n",
              "    box-shadow: none;\n",
              "  }\n",
              "\n",
              "  .colab-df-spinner {\n",
              "    border: 2px solid var(--fill-color);\n",
              "    border-color: transparent;\n",
              "    border-bottom-color: var(--fill-color);\n",
              "    animation:\n",
              "      spin 1s steps(1) infinite;\n",
              "  }\n",
              "\n",
              "  @keyframes spin {\n",
              "    0% {\n",
              "      border-color: transparent;\n",
              "      border-bottom-color: var(--fill-color);\n",
              "      border-left-color: var(--fill-color);\n",
              "    }\n",
              "    20% {\n",
              "      border-color: transparent;\n",
              "      border-left-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "    }\n",
              "    30% {\n",
              "      border-color: transparent;\n",
              "      border-left-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "      border-right-color: var(--fill-color);\n",
              "    }\n",
              "    40% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "    }\n",
              "    60% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "    }\n",
              "    80% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "      border-bottom-color: var(--fill-color);\n",
              "    }\n",
              "    90% {\n",
              "      border-color: transparent;\n",
              "      border-bottom-color: var(--fill-color);\n",
              "    }\n",
              "  }\n",
              "</style>\n",
              "\n",
              "  <script>\n",
              "    async function quickchart(key) {\n",
              "      const quickchartButtonEl =\n",
              "        document.querySelector('#' + key + ' button');\n",
              "      quickchartButtonEl.disabled = true;  // To prevent multiple clicks.\n",
              "      quickchartButtonEl.classList.add('colab-df-spinner');\n",
              "      try {\n",
              "        const charts = await google.colab.kernel.invokeFunction(\n",
              "            'suggestCharts', [key], {});\n",
              "      } catch (error) {\n",
              "        console.error('Error during call to suggestCharts:', error);\n",
              "      }\n",
              "      quickchartButtonEl.classList.remove('colab-df-spinner');\n",
              "      quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n",
              "    }\n",
              "    (() => {\n",
              "      let quickchartButtonEl =\n",
              "        document.querySelector('#df-5cf6c90e-3783-4c52-9cd0-0ba6d16f7c99 button');\n",
              "      quickchartButtonEl.style.display =\n",
              "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "    })();\n",
              "  </script>\n",
              "</div>\n",
              "    </div>\n",
              "  </div>\n"
            ],
            "application/vnd.google.colaboratory.intrinsic+json": {
              "type": "dataframe",
              "variable_name": "temp",
              "summary": "{\n  \"name\": \"temp\",\n  \"rows\": 66231,\n  \"fields\": [\n    {\n      \"column\": \"viewCount\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 1328529.7898147278,\n        \"min\": 2.0,\n        \"max\": 86642355.0,\n        \"num_unique_values\": 60505,\n        \"samples\": [\n          527058.0,\n          47011.0,\n          61966.0\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"binary\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 0,\n        \"min\": 0,\n        \"max\": 1,\n        \"num_unique_values\": 2,\n        \"samples\": [\n          0,\n          1\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    }\n  ]\n}"
            }
          },
          "metadata": {},
          "execution_count": 9
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "QrH0ZlFIHxWx"
      },
      "source": [
        "### 手法2：アドホックな離散化(ad-hoc discretization)"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "p_yNE_bPHxWy",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 201
        },
        "outputId": "94665a53-5725-4d69-f551-8c3a102f7e7f"
      },
      "source": [
        "# preprocess method 2: discretization 1, ad-hoc division\n",
        "floor = 10000\n",
        "new_column = np.floor_divide(df['viewCount'], floor)\n",
        "temp['discret_floor'] = new_column\n",
        "temp.head()"
      ],
      "execution_count": 10,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "   viewCount  binary  discret_floor\n",
              "0  2244205.0       1          224.0\n",
              "1  1869268.0       1          186.0\n",
              "2  1724625.0       1          172.0\n",
              "3  1109029.0       1          110.0\n",
              "4  1759797.0       1          175.0"
            ],
            "text/html": [
              "\n",
              "  <div id=\"df-4b2846a4-3f01-4c16-b5c3-faa067b38584\" class=\"colab-df-container\">\n",
              "    <div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>viewCount</th>\n",
              "      <th>binary</th>\n",
              "      <th>discret_floor</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>2244205.0</td>\n",
              "      <td>1</td>\n",
              "      <td>224.0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>1869268.0</td>\n",
              "      <td>1</td>\n",
              "      <td>186.0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2</th>\n",
              "      <td>1724625.0</td>\n",
              "      <td>1</td>\n",
              "      <td>172.0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>3</th>\n",
              "      <td>1109029.0</td>\n",
              "      <td>1</td>\n",
              "      <td>110.0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>4</th>\n",
              "      <td>1759797.0</td>\n",
              "      <td>1</td>\n",
              "      <td>175.0</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>\n",
              "    <div class=\"colab-df-buttons\">\n",
              "\n",
              "  <div class=\"colab-df-container\">\n",
              "    <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-4b2846a4-3f01-4c16-b5c3-faa067b38584')\"\n",
              "            title=\"Convert this dataframe to an interactive table.\"\n",
              "            style=\"display:none;\">\n",
              "\n",
              "  <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n",
              "    <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n",
              "  </svg>\n",
              "    </button>\n",
              "\n",
              "  <style>\n",
              "    .colab-df-container {\n",
              "      display:flex;\n",
              "      gap: 12px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert {\n",
              "      background-color: #E8F0FE;\n",
              "      border: none;\n",
              "      border-radius: 50%;\n",
              "      cursor: pointer;\n",
              "      display: none;\n",
              "      fill: #1967D2;\n",
              "      height: 32px;\n",
              "      padding: 0 0 0 0;\n",
              "      width: 32px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert:hover {\n",
              "      background-color: #E2EBFA;\n",
              "      box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "      fill: #174EA6;\n",
              "    }\n",
              "\n",
              "    .colab-df-buttons div {\n",
              "      margin-bottom: 4px;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert {\n",
              "      background-color: #3B4455;\n",
              "      fill: #D2E3FC;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert:hover {\n",
              "      background-color: #434B5C;\n",
              "      box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
              "      filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
              "      fill: #FFFFFF;\n",
              "    }\n",
              "  </style>\n",
              "\n",
              "    <script>\n",
              "      const buttonEl =\n",
              "        document.querySelector('#df-4b2846a4-3f01-4c16-b5c3-faa067b38584 button.colab-df-convert');\n",
              "      buttonEl.style.display =\n",
              "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "\n",
              "      async function convertToInteractive(key) {\n",
              "        const element = document.querySelector('#df-4b2846a4-3f01-4c16-b5c3-faa067b38584');\n",
              "        const dataTable =\n",
              "          await google.colab.kernel.invokeFunction('convertToInteractive',\n",
              "                                                    [key], {});\n",
              "        if (!dataTable) return;\n",
              "\n",
              "        const docLinkHtml = 'Like what you see? Visit the ' +\n",
              "          '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
              "          + ' to learn more about interactive tables.';\n",
              "        element.innerHTML = '';\n",
              "        dataTable['output_type'] = 'display_data';\n",
              "        await google.colab.output.renderOutput(dataTable, element);\n",
              "        const docLink = document.createElement('div');\n",
              "        docLink.innerHTML = docLinkHtml;\n",
              "        element.appendChild(docLink);\n",
              "      }\n",
              "    </script>\n",
              "  </div>\n",
              "\n",
              "\n",
              "<div id=\"df-cbd36be8-9373-4421-9596-5dc49ec3b56c\">\n",
              "  <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-cbd36be8-9373-4421-9596-5dc49ec3b56c')\"\n",
              "            title=\"Suggest charts\"\n",
              "            style=\"display:none;\">\n",
              "\n",
              "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
              "     width=\"24px\">\n",
              "    <g>\n",
              "        <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n",
              "    </g>\n",
              "</svg>\n",
              "  </button>\n",
              "\n",
              "<style>\n",
              "  .colab-df-quickchart {\n",
              "      --bg-color: #E8F0FE;\n",
              "      --fill-color: #1967D2;\n",
              "      --hover-bg-color: #E2EBFA;\n",
              "      --hover-fill-color: #174EA6;\n",
              "      --disabled-fill-color: #AAA;\n",
              "      --disabled-bg-color: #DDD;\n",
              "  }\n",
              "\n",
              "  [theme=dark] .colab-df-quickchart {\n",
              "      --bg-color: #3B4455;\n",
              "      --fill-color: #D2E3FC;\n",
              "      --hover-bg-color: #434B5C;\n",
              "      --hover-fill-color: #FFFFFF;\n",
              "      --disabled-bg-color: #3B4455;\n",
              "      --disabled-fill-color: #666;\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart {\n",
              "    background-color: var(--bg-color);\n",
              "    border: none;\n",
              "    border-radius: 50%;\n",
              "    cursor: pointer;\n",
              "    display: none;\n",
              "    fill: var(--fill-color);\n",
              "    height: 32px;\n",
              "    padding: 0;\n",
              "    width: 32px;\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart:hover {\n",
              "    background-color: var(--hover-bg-color);\n",
              "    box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "    fill: var(--button-hover-fill-color);\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart-complete:disabled,\n",
              "  .colab-df-quickchart-complete:disabled:hover {\n",
              "    background-color: var(--disabled-bg-color);\n",
              "    fill: var(--disabled-fill-color);\n",
              "    box-shadow: none;\n",
              "  }\n",
              "\n",
              "  .colab-df-spinner {\n",
              "    border: 2px solid var(--fill-color);\n",
              "    border-color: transparent;\n",
              "    border-bottom-color: var(--fill-color);\n",
              "    animation:\n",
              "      spin 1s steps(1) infinite;\n",
              "  }\n",
              "\n",
              "  @keyframes spin {\n",
              "    0% {\n",
              "      border-color: transparent;\n",
              "      border-bottom-color: var(--fill-color);\n",
              "      border-left-color: var(--fill-color);\n",
              "    }\n",
              "    20% {\n",
              "      border-color: transparent;\n",
              "      border-left-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "    }\n",
              "    30% {\n",
              "      border-color: transparent;\n",
              "      border-left-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "      border-right-color: var(--fill-color);\n",
              "    }\n",
              "    40% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "    }\n",
              "    60% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "    }\n",
              "    80% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "      border-bottom-color: var(--fill-color);\n",
              "    }\n",
              "    90% {\n",
              "      border-color: transparent;\n",
              "      border-bottom-color: var(--fill-color);\n",
              "    }\n",
              "  }\n",
              "</style>\n",
              "\n",
              "  <script>\n",
              "    async function quickchart(key) {\n",
              "      const quickchartButtonEl =\n",
              "        document.querySelector('#' + key + ' button');\n",
              "      quickchartButtonEl.disabled = true;  // To prevent multiple clicks.\n",
              "      quickchartButtonEl.classList.add('colab-df-spinner');\n",
              "      try {\n",
              "        const charts = await google.colab.kernel.invokeFunction(\n",
              "            'suggestCharts', [key], {});\n",
              "      } catch (error) {\n",
              "        console.error('Error during call to suggestCharts:', error);\n",
              "      }\n",
              "      quickchartButtonEl.classList.remove('colab-df-spinner');\n",
              "      quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n",
              "    }\n",
              "    (() => {\n",
              "      let quickchartButtonEl =\n",
              "        document.querySelector('#df-cbd36be8-9373-4421-9596-5dc49ec3b56c button');\n",
              "      quickchartButtonEl.style.display =\n",
              "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "    })();\n",
              "  </script>\n",
              "</div>\n",
              "    </div>\n",
              "  </div>\n"
            ],
            "application/vnd.google.colaboratory.intrinsic+json": {
              "type": "dataframe",
              "variable_name": "temp",
              "summary": "{\n  \"name\": \"temp\",\n  \"rows\": 66231,\n  \"fields\": [\n    {\n      \"column\": \"viewCount\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 1328529.7898147278,\n        \"min\": 2.0,\n        \"max\": 86642355.0,\n        \"num_unique_values\": 60505,\n        \"samples\": [\n          527058.0,\n          47011.0,\n          61966.0\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"binary\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 0,\n        \"min\": 0,\n        \"max\": 1,\n        \"num_unique_values\": 2,\n        \"samples\": [\n          0,\n          1\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"discret_floor\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 132.85438744806694,\n        \"min\": 0.0,\n        \"max\": 8664.0,\n        \"num_unique_values\": 985,\n        \"samples\": [\n          56.0,\n          624.0\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    }\n  ]\n}"
            }
          },
          "metadata": {},
          "execution_count": 10
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "wyhMEa831Aqa",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 657
        },
        "outputId": "da2dfe03-eaeb-4d61-d9a9-8677cc7702be"
      },
      "source": [
        "fig, (ax1, ax2) = plt.subplots(2, 1, figsize=(10,10))\n",
        "fig.subplots_adjust(hspace=0.4)\n",
        "\n",
        "# default values\n",
        "temp['viewCount'].hist(ax=ax1, bins=100, log=True)\n",
        "ax1.tick_params(labelsize=fontsize)\n",
        "ax1.set_title('default', fontsize=fontsize)\n",
        "ax1.set_xlabel('viewCounts', fontsize=fontsize)\n",
        "ax1.set_ylabel('Freqency (log)', fontsize=fontsize)\n",
        "\n",
        "# discret_floor\n",
        "temp['discret_floor'].hist(ax=ax2, bins=100, log=True)\n",
        "ax2.set_title('discret_floor', fontsize=fontsize)\n",
        "ax2.set_xlabel('discret_floor', fontsize=fontsize)\n",
        "ax2.set_ylabel('Freqency (log)', fontsize=fontsize)"
      ],
      "execution_count": 11,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "Text(0, 0.5, 'Freqency (log)')"
            ]
          },
          "metadata": {},
          "execution_count": 11
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 1000x1000 with 2 Axes>"
            ],
            "image/png": "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+uKLL7RlyxZt2bJFixcv1uLFizVlyhR9++23qlu3rt3HBYDKEB0dLYvFUmq7p6enXnrppTIXY3Jzc1N6enqF6iCUAQAqlclk0vDhwzVp0iR9+OGHuuOOO/TJJ5/o8uXLGjRokGrUqHHVYxQuHlG7du0SF6AoS7du3WQymbRx40YdP35cu3bt0oABA6yBpXv37tq4caM2b95caihr1aqV9TbIjz766JpDWf369XXw4EH98ssvatGiRbH2wiuB1apVU61atazbvby8JElnz54t8biHDx++pjrsJTg4WE888YSeeOIJSVdef1C4qEtcXJw++ugjQ+oCgOsVty8CACrd8OHD5ebmps8++0znz5+/plsXJSkyMlJBQUHas2eP/u///u+axq5du7batGmjU6dOaebMmbJYLEVWOCwMYKtWrdKWLVvk7e1d7KWfJpNJzz//vCRp7ty5+uGHH8oc8/Lly/r++++tnwufdystUH7wwQeSriyg8ceFROrXry9J2rt3b7F9zp8/r40bN5ZZx7UqDIGXL1++pv2aNWum5557TpKsz2UAAMqPUAYAqHQNGjRQjx49lJ2dreeff14//fSTQkND1bVr13Lt7+npqSlTpshisWjAgAHasmVLsT75+fnasGFDkTBUqDB4zZkzR5KKhLKIiAjVqFFD8+fP14ULF3THHXeoevXqxY7x+OOPa+DAgcrLy1OPHj300UcfFXu+rHChkDvuuEOLFy+2bn/66afl4eGhFStWWFecLJSUlGRdMXLChAkl1m02m4ssypGTk6ORI0dW+HaZP2vQoIEk6cCBA0XeYVZow4YNWrNmTbE2i8WiVatWSZIaNmxo15oAoCrg9kUAgEM8+uijSkxMVHx8vKT/XT0rr7Fjx+rIkSOaOXOmOnfurNtuu01NmzZV9erV9fvvv2vXrl3KysrS3Llz1bFjxyL7du/eXTNnztTFixfVqFEj68Ia0pVnAbp06aKEhARr39IsWrRIderUkdls1vDhw/Xss88qMjJStWrV0pkzZ5SSkqLffvtN7u7uRVZabNmypcxms0aPHq2hQ4fqn//8p5o1a6bDhw9r69atslgsmjp1qnr27FlkvEGDBmnWrFlKTk7WbbfdpqioKBUUFCg5OVleXl4aMWKE9SqbPYSGhioiIkLJyclq2bKlIiIiVK1aNQUFBWn69On6z3/+o/HjxysgIEDh4eGqV6+eLly4oJSUFB0+fFiBgYF6+eWX7VYPAFQVXCkDADhE//79rc9LFT5ndq1mzJih7777Tn/5y1907tw5rV27VqtXr9avv/6q6OhozZs3Tw899FCx/QpXWZRKDl1/3FZWKPP09NTbb7+tn376SU8//bQaNGig77//Xp999pm2bt2q0NBQPf/889q7d6/GjBlTZN+RI0dq69atGjhwoH799Vd99tln2rdvn/r27aukpCRNmTKlxPHWrVunsWPHyt/fX0lJSfrPf/6jAQMGKCUlpVJe1Lx8+XINGTJE2dnZWrJkiebPn2+96nfvvfdq6tSpioyM1C+//KLPP/9cmzZtUmBgoOLi4vTTTz+pTZs2dq8JAFydyVLWciMAAAAAgErFlTIAAAAAMBChDAAAAAAMRCgDAAAAAAMRygAAAADAQIQyAAAAADAQoQwAAAAADEQoAwAAAAADEcoAAAAAwECEMgAAAAAwEKEMAAAAAAxEKAMAAAAAAxHKAAAAAMBAhDIAAAAAMBChDAAAAAAMRCgDAAAAAAMRygAAAADAQIQyAAAAADAQoQwAAAAADEQoAwAAAAADEcoAAAAAwECEMgAAAAAwEKEMAAAAAAxEKAMAAAAAAxHKAAAAAMBAhDIAAAAAMBChDAAAAAAMRCgDAAAAAAMRygAAAADAQIQyAAAAADAQoQwAAAAADEQoAwAAAAADEcoAAAAAwECEMgAAAAAwEKEMAAAAAAxEKAMAAAAAAxHKAAAAAMBAhDIAAAAAMBChDAAAAAAMRCgDAAAAAAMRygAAAADAQIQyAAAAADAQoQwAAAAADEQoAwAAAAADEcoAAAAAwECEMgAAAAAwEKEMAAAAAAxEKAMAAAAAAxHKAAAAAMBAhDIAAAAAMBChDAAAAAAMRCgDAAAAAAMRygAAAADAQIQyAIBDhYWFyWQy6dChQ9Zt0dHRMplM2rRpk2F1ObujR49q6NChqlevnjw8PGQymTR8+HBJ0vDhw2UymbRgwQJDawQA2IZQBgCAnW3atEkmk0nR0dF2OZ7FYtH999+vTz75RDVr1tRDDz2kYcOGKSoqyi7HBwAYy8PoAgAA+Pjjj3X+/HmFhoYaXYpTOnz4sH744QeFhoZq9+7d8vDgr28AcCX8qQ4AMBxhrGxHjhyRJDVq1IhABgAuiNsXAQB2t2fPHj344IMKCgpS9erV1aJFC7355pvKz88vsX9pz5Tl5uZq5syZateunfz9/eXl5aU6deooMjJSf//733Xq1Klixzp//rxmzZqlqKgo1axZU97e3mrYsKHuvfdeLVq0qNRxv/32W91777264YYb5ObmVuT5rAsXLugf//iHOnbsqBo1aqhatWq65ZZb9Pe//10nT54sdswuXbpIkr755huZTCbrT1hY2DV9j4cOHZLJZNJdd91V4vH++FxeWRYvXqxu3bqpVq1a1u9jxIgR+u9//1vqPqdOndLzzz+v2267TT4+PvL391e7du00Y8YMXbhwoVj/P96yef78eU2ePFm33nqrfHx8rvm8AaCq4T+3AQDsasuWLerdu7dycnLUuHFj9ejRQydOnNDzzz+v77//vtzHKSgo0N13363169crICBAnTt3Vo0aNZSZmakDBw5o5syZGjJkiGrVqmXdJz09Xb1799aePXvk4+OjTp06qXbt2jp69Ki+/fZb/fjjjxoyZEixsZYuXap3331XzZo1U/fu3XXq1Cl5e3tLkn799Vf17t1bP/74o2rVqqXIyEj5+/srJSVFM2fO1NKlS7Vp0yY1bNhQktS7d29Vq1ZNiYmJCg4OVu/eva3jBAUFXdN36efnp2HDhun3338v8Xh+fn5l7m+xWDR8+HB9/PHH8vDw0J133qkbb7xRKSkp+vDDD7VkyRItX768yDEl6ZdfflHXrl11+PBh3XDDDerbt6/y8vK0ceNGPffcc1qyZIm+/vpr1axZs9iYFy9eVHR0tPbs2aM777xTrVu3LhZcAQB/YgEAwE4uXLhgCQkJsUiyPPPMM5bLly9b23bv3m0JCgqySLJIsqSlpVnb7rrrLosky8aNG63bvvnmG4skS9u2bS3Z2dnFxtqxY4flxIkT1s/5+fmWiIgIiyRLz549LcePHy9W2+rVq4tsKxxXksVsNhcbo6CgwNKpUyeLJMtjjz1WpI68vDzLs88+a5Fk6dKlS5H9Nm7caJFkueuuu8r8vsrrascbNmyYRZLlww8/LLJ97ty5FkmWoKAgS2pqapHzmjJlikWSpUaNGsW+qw4dOlgkWfr162c5d+6cdfvx48ct4eHhFkmWIUOGlFijJEurVq0sv/32W4XOGQCqEm5fBADYzfLly5Wenq6QkBDNmDFD7u7u1rZWrVrphRdeKPexjh07Jknq3Lmz/P39i7VHRESodu3a1s9ffvmlkpOTVbduXS1fvlw33HBDkf7VqlVT3759Sxyra9euGjNmTLHtiYmJ+u6779SmTRu9++67Rerw8PDQjBkz1KJFC23cuFE//fRTuc/NUd58801J0uTJk9WmTRvrdpPJpClTpqhVq1bKysrS+++/b23bsmWLtm/fLh8fH/3rX/+Sr6+vte2GG27Qv/71L0lXbonMyMgocdw5c+aoTp06lXBGAOCaCGUAALspfCZs0KBB8vT0LNY+bNiwch8rPDxc7u7u+uCDD2Q2m/Xbb7+V2X/t2rWSpCFDhlz1tr4/GzhwYInbV69eLUl64IEHSlxgw83NTXfeeackaevWrdc0ZmXLyMjQwYMHJZX8vZtMJj366KOSpI0bN1q3F/477N27t4KDg4vt165dO7Vu3VoFBQX65ptvirXfeOON6ty5sz1OAQCqDEIZAMBuCq+cNGrUqMT2mjVrKjAwsFzHatKkif75z38qLy9PY8eOVb169RQWFqbBgwdr4cKFunTpUpH+hw8fliQ1a9bsmusubSGKX375RZI0adKkIgts/PHnnXfekSRlZmZe87iV6ejRo5Kk2rVrKyAgoMQ+TZo0KdL3j/9c2r/D0vYrxKIeAHDtWOgDAOC0nnrqKQ0aNEhffPGFtmzZoi1btmjx4sVavHixpkyZom+//VZ169at8DjVq1cvcXtBQYEkKSoqyhpESnPbbbdVuA5XUNp3CQAoHaEMAGA39evXl6RSl2rPysrSmTNnrumYwcHBeuKJJ/TEE09Ikvbt26cRI0Zo27ZtiouL00cffSTpf+8627dvn43VFxcSEiJJuu+++zRhwgS7HdcRCv9dnDx5UtnZ2SVeLSu8EljY94//XNhWkpL2AwDYjtsXAQB2U/g+rc8++0x5eXnF2j/++OMKj9GsWTM999xzkqRdu3ZZtxcu6/7pp58qJyenwuNIUp8+fSRdWTLfYrGUez8vLy9J0uXLl+1Shy0aNGhgvbr3x3euFbJYLNbthe9Vk668Z0268oxe4WIrf5Samqpdu3YVeZ4OAFAxhDIAgN0MHDhQ9evX15EjRzRx4kTr7X+S9NNPP+mVV14p97E2bNigNWvWFAt3FotFq1atkiTru8EkqV+/fmrbtq1+/fVXPfjgg8XejXXx4kV99dVX13Q+9913nyIjI/XDDz/o0UcfLfG5sdOnT+vdd98tEsAaNGggSTpw4ECJ4dRRCq/uTZs2Tbt377Zut1gseuWVV7Rr1y7VqFHDehVSunKrZocOHXThwgU9+eSTOn/+vLXtxIkTevLJJyVJDz/8sPVKIgCgYrh9EQBgN9WrV9fChQvVt29f/eMf/9CKFSsUGRmpkydPatOmTbr33nu1c+dO66IcZfnPf/6j8ePHKyAgQOHh4apXr54uXLiglJQUHT58WIGBgXr55Zet/d3c3JSQkKBevXrpq6++UmhoqKKioqwvj969e7dq1KhR6q2VJXFzc9OKFSt0991366OPPtKyZcvUunVrhYaG6tKlS/rll1/0448/Kj8/X8OHD7eu0BgaGqqIiAglJyerZcuWioiIULVq1RQUFKTp06df8/dqqyeffFJbt27Vv//9b0VEROiuu+6yvjx6//79ql69uhYtWlTs9QGLFi1S165dtXLlSjVq1Eh33nmn9eXR2dnZCg8P15w5cxx2HgDg6rhSBgCwq7vuukvbt2/X/fffr9OnTyshIUEZGRl6+eWXtWTJknIf595779XUqVMVGRmpX375RZ9//rk2bdqkwMBAxcXF6aeffiry7i3pypWz5ORkvfHGG7rtttu0bds2ff755zp8+LDuuusuvfHGG9d8PvXq1dP333+vd999V+3bt9f+/fu1bNkybdmyRZI0atQoJSYmqlq1akX2W758uYYMGaLs7GwtWbJE8+fP1+LFi695/IowmUz6+OOPtWjRIkVFRWnnzp1atmyZzp8/r+HDhys1NdV6i+YfNW7cWCkpKZo4caJq166tVatWad26dWrSpImmT5+uLVu2qGbNmg49FwBwZSbLtdwkDwAAAACwK66UAQAAAICBCGUAAAAAYCAW+ihBWFiYAgIC5Obmppo1a2rjxo1GlwQAcBETJkzQiRMnytU3KipKjz/+eCVXBAAwGqGsFFu3bpWfn5/RZQAAXMyyZcvKtfpkIUIZALg+QhkAAA50LUvyAwCqBpd7pmzz5s269957Va9ePZlMJq1YsaJYH7PZrLCwMFWrVk0dOnTQDz/8UKTdZDLprrvuUmRkpBYuXOigygEAAABURS53pSwnJ0etW7fWiBEjdP/99xdrX7JkiWJjY/Xuu++qQ4cOmjVrlnr16qX9+/frxhtvlCRt2bJF9evX12+//abu3burZcuWatWqVYnj5ebm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UlaoRYsWmjdvnhFDX1VWVpa6d++uy5cv6/Lly3r66acJiQAAAAAqjSGhzJn5+/tr8+bN8vHxUU5Ojlq0aKH7779ftWvXNro0AAAAAC7I4bcvOjt3d3f5+PhIknJzc2WxWGSxWAyuCgAAAICrqtQrZSNGjLB5X5PJpPnz51/zfps3b9bMmTO1c+dO/fbbb0pISFD//v2L9DGbzZo5c6Z+//13tW7dWm+//bbat29vbc/KytJdd92lAwcOaObMmbwzDQAAAEClqdRQtmDBApv3tTWU5eTkqHXr1hoxYoTuv//+Yu1LlixRbGys3n33XXXo0EGzZs1Sr169tH//ft14442SpBo1amj37t06duyY7r//fg0cOFDBwcE2nwsAAAAAlKZSQ9mHH35YmYcvUZ8+fdSnT59S29966y098cQTevTRRyVJ7777rlavXq0PPvhAcXFxRfoGBwerdevW+vbbbzVw4MASj5ebm6vc3Fzr5+zsbElSXl6e8vLyKno6FVI4vrebfW+/NPq8cP0pnDPMHRiJeQhnwVyEs2AuVr7yfrcmiws/MGUymYrcvnjp0iX5+Pho2bJlRW5pHDZsmLKysrRy5UodO3ZMPj4+8vf315kzZ9SpUyd9+umnatmyZYljTJ06VS+99FKx7YsWLbI+mwYAAACg6jl//ryGDBmiM2fOKCAgoNR+VWr1xRMnTig/P7/YrYjBwcHat2+fJOnw4cMaOXKkdYGPp556qtRAJkkTJ05UbGys9XN2drZCQkLUs2fPMr94R8jLy9O6des0KdlNuQUmux33p6m97HYsVA2Fc7FHjx7y9PQ0uhxUUcxDOAvmIpwFc7HyFd5FdzVVKpSVR/v27bVr165y9y98+bXZbJbZbFZ+fr4kydPT02kmd26BSbn59gtlznJeuP440+8Fqi7mIZwFcxHOgrlYecr7vVbqkvj//Oc/denSpQod49KlS3rrrbfsUk9QUJDc3d117NixItuPHTumOnXqVOjYMTEx2rNnj3bs2FGh4wAAAACoWio1lD377LO65ZZb9N577+ns2bPXtO+ZM2dkNpt100036W9/+5td6vHy8lK7du20fv1667aCggKtX79et99+u13GAAAAAIBrUam3LyYkJCg2NlajR49WbGysBgwYoG7duun222/XLbfcIpPpf7fUWSwW7du3T9u2bdO6dev0xRdf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APCquLg42Ww27d27132sW7dustlsSk9PtywuX3fo0CHdd999io6OVkBAgGw2m4YOHSpJGjp0qGw2m+bMmWNpjACAsqEoAwCggqWnp8tms6lbt24VMp4xRnfccYf++c9/qm7duho8eLCSk5PVuXPnChkfAGCtAKsDAABg3rx5ysnJUWxsrNWh+KR9+/Zp8+bNio2N1fbt2xUQwD/fAFCd8KkOALAcxVjJ9u/fL0mKj4+nIAOAaojliwCACpeVlaW77rpLERERCg4OVqtWrfT3v/9d+fn5RfYv7jtlubm5mjp1qjp06KA6deooMDBQUVFRSkxM1OjRo3Xy5MlCY+Xk5GjatGnq3Lmz6tatK7vdrsaNG2vAgAFasGBBsfOuX79eAwYM0NVXXy0/Pz+P72edP39eL7/8sv74xz8qPDxcQUFBuv766zV69Gj98ssvhcbs3r27JGndunWy2Wzun7i4uCt6Hffu3SubzaauXbsWOd6l38srycKFC9WzZ0/Vq1fP/XoMHz5cP/zwQ7HPOXnypJ599lm1bNlSISEhqlOnjjp06KApU6bo/PnzhfpfumQzJydH48ePV/PmzRUSEnLF5w0ANQ3/dxsAoEJt2LBBffv21blz59SkSRP17t1bJ06c0LPPPquvv/661OO4XC71799faWlpCg0N1c0336zw8HAdP35cP/74o6ZOnaohQ4aoXr167uccOHBAffv2VVZWlkJCQnTTTTepfv36OnTokNavX6/vvvtOQ4YMKTTX4sWLNX36dDVr1ky9evXSyZMnZbfbJUmHDx9W37599d1336levXpKTExUnTp1tG3bNk2dOlWLFy9Wenq6GjduLEnq27evgoKC9MknnygyMlJ9+/Z1zxMREXFFr2Xt2rWVnJyso0ePFjle7dq1S3y+MUZDhw7VvHnzFBAQoC5duqhBgwbatm2bZs+erUWLFun999/3GFOSdu/erR49emjfvn26+uqrdeuttyovL09r167VM888o0WLFumzzz5T3bp1C83522+/qVu3bsrKylKXLl3Upk2bQoUrAOA/GAAAKsj58+dNTEyMkWRGjRplLl686G7bvn27iYiIMJKMJLNnzx53W9euXY0ks3btWvexdevWGUmmXbt2xul0FporIyPDnDhxwv04Pz/fJCQkGEnmlltuMceOHSsU28qVKz2OFcwryTgcjkJzuFwuc9NNNxlJ5oEHHvCIIy8vzzz55JNGkunevbvH89auXWskma5du5b4epXW5cZLTk42kszs2bM9jr/55ptGkomIiDDffPONx3lNmDDBSDLh4eGFXqukpCQjyQwcONCcPXvWffzYsWOmffv2RpIZMmRIkTFKMjfccIM5cuRIuc4ZAGoSli8CACrM+++/rwMHDigmJkZTpkyRv7+/u+2GG27QX//611KPlZ2dLUm6+eabVadOnULtCQkJql+/vvvxRx99pC1btuiaa67R+++/r6uvvtqjf1BQkG699dYi5+rRo4ceeeSRQsc/+eQTffnll2rbtq2mT5/uEUdAQICmTJmiVq1aae3atdqxY0epz81b/v73v0uSxo8fr7Zt27qP22w2TZgwQTfccINOnz6tt956y922YcMGbdq0SSEhIZoxY4auuuoqd9vVV1+tGTNmSPp9SeTBgweLnPf1119XVFRUJZwRAFRPFGUAgApT8J2wu+++W7Vq1SrUnpycXOqx2rdvL39/f82aNUsOh0NHjhwpsf/q1aslSUOGDLnssr7/9Kc//anI4ytXrpQk3XnnnUVusOHn56cuXbpIkr766qsrmrOyHTx4UD///LOkol93m82mYcOGSZLWrl3rPl7wO+zbt68iIyMLPa9Dhw5q06aNXC6X1q1bV6i9QYMGuvnmmyviFACgxqAoAwBUmIIrJ/Hx8UW2161bV2FhYaUaq2nTpvrf//1f5eXlaeTIkYqOjlZcXJzuuecezZ8/XxcuXPDov2/fPklSs2bNrjju4jai2L17tyRp3LhxHhtsXPrzxhtvSJKOHz9+xfNWpkOHDkmS6tevr9DQ0CL7NG3a1KPvpf9d3O+wuOcVYFMPALhybPQBAPBZjz76qO6++259+OGH2rBhgzZs2KCFCxdq4cKFmjBhgtavX69rrrmm3PMEBwcXedzlckmSOnfu7C5EitOyZctyx1EdFPdaAgCKR1EGAKgwDRs2lKRit2o/ffq0zpw5c0VjRkZG6sEHH9SDDz4oSdq5c6eGDx+ujRs3asyYMZo7d66kf9/rbOfOnWWMvrCYmBhJ0m233aannnqqwsb1hoLfxS+//CKn01nk1bKCK4EFfS/974K2ohT1PABA2bF8EQBQYQrup/Xee+8pLy+vUPu8efPKPUezZs30zDPPSJIyMzPdxwu2dX/33Xd17ty5cs8jSf369ZP0+5b5xphSPy8wMFCSdPHixQqJoywaNWrkvrp36T3XChhj3McL7qsm/X6fNen37+gVbLZyqW+++UaZmZke36cDAJQPRRkAoML86U9/UsOGDbV//36NHTvWvfxPknbs2KEXXnih1GN9/vnnWrVqVaHizhijFStWSJL73mCSNHDgQLVr106HDx/WXXfdVejeWL/99ps+/vjjKzqf2267TYmJidq8ebOGDRtW5PfGTp06penTp3sUYI0aNZIk/fjjj0UWp95ScHXv+eef1/bt293HjTF64YUXlJmZqfDwcPdVSOn3pZpJSUk6f/68HnroIeXk5LjbTpw4oYceekiS9Oc//9l9JREAUD4sXwQAVJjg4GDNnz9ft956q15++WUtW7ZMiYmJ+uWXX5Senq4BAwZo69at7k05SvLtt9/qiSeeUGhoqNq3b6/o6GidP39e27Zt0759+xQWFqa//e1v7v5+fn5aunSp+vTpo48//lixsbHq3Lmz++bR27dvV3h4eLFLK4vi5+enZcuWqX///po7d66WLFmiNm3aKDY2VhcuXNDu3bv13XffKT8/X0OHDnXv0BgbG6uEhARt2bJFrVu3VkJCgoKCghQREaHJkydf8etaVg899JC++uorvfPOO0pISFDXrl3dN4/etWuXgoODtWDBgkK3D1iwYIF69Oih5cuXKz4+Xl26dHHfPNrpdKp9+/Z6/fXXvXYeAFDdcaUMAFChunbtqk2bNumOO+7QqVOntHTpUh08eFB/+9vftGjRolKPM2DAAE2cOFGJiYnavXu3PvjgA6WnpyssLExjxozRjh07PO69Jf1+5WzLli166aWX1LJlS23cuFEffPCB9u3bp65du+qll1664vOJjo7W119/renTp6tjx47atWuXlixZog0bNkiSRowYoU8++URBQUEez3v//fc1ZMgQOZ1OLVq0SDNnztTChQuveP7ysNlsmjdvnhYsWKDOnTtr69atWrJkiXJycjR06FB988037iWal2rSpIm2bdumsWPHqn79+lqxYoXWrFmjpk2bavLkydqwYYPq1q3r1XMBgOrMZq5kkTwAAAAAoEJxpQwAAAAALERRBgAAAAAWYqMPAAC86KmnntKJEydK1bdz5876f//v/1VyRAAAq1GUAQDgRUuWLCnV7pMFKMoAoPpjow8AAAAAsBDfKQMAAAAAC1GUAQAAAICFKMoAAAAAwEIUZQAAAABgIYoyAAAAALAQRRkAAAAAWIiiDAAAAAAsRFEGAAAAABb6/+YlA4//UqB8AAAAAElFTkSuQmCC\n"
          },
          "metadata": {}
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "2DGEK_AoHxWy"
      },
      "source": [
        "### 手法3：統計的な離散化"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "_3qhyXhOHxWy",
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "outputId": "22d33d63-7d69-48bd-f73c-811610855d33"
      },
      "source": [
        "# preprocess method 3: discretization 2, quantilzation\n",
        "discret_num = 4\n",
        "ranges = np.linspace(0, 1, discret_num)\n",
        "data = df['viewCount'].quantile(ranges)\n",
        "data"
      ],
      "execution_count": 12,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "0.000000    2.000000e+00\n",
              "0.333333    5.913133e+04\n",
              "0.666667    2.408843e+05\n",
              "1.000000    8.664236e+07\n",
              "Name: viewCount, dtype: float64"
            ]
          },
          "metadata": {},
          "execution_count": 12
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "abTAiICgHxWz",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 411
        },
        "outputId": "5cf41279-8227-4235-bd76-5c8b43a26eec"
      },
      "source": [
        "new_column = pd.qcut(df['viewCount'], discret_num, labels=False)\n",
        "temp['discret_quantile'] = new_column\n",
        "temp"
      ],
      "execution_count": 13,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "       viewCount  binary  discret_floor  discret_quantile\n",
              "0      2244205.0       1          224.0                 3\n",
              "1      1869268.0       1          186.0                 3\n",
              "2      1724625.0       1          172.0                 3\n",
              "3      1109029.0       1          110.0                 3\n",
              "4      1759797.0       1          175.0                 3\n",
              "...          ...     ...            ...               ...\n",
              "66284   131489.0       0           13.0                 2\n",
              "66285    13271.0       0            1.0                 0\n",
              "66286    76266.0       0            7.0                 1\n",
              "66287   282447.0       0           28.0                 2\n",
              "66288     6900.0       0            0.0                 0\n",
              "\n",
              "[66231 rows x 4 columns]"
            ],
            "text/html": [
              "\n",
              "  <div id=\"df-d1041705-bb67-4801-a939-3ab66807d225\" class=\"colab-df-container\">\n",
              "    <div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>viewCount</th>\n",
              "      <th>binary</th>\n",
              "      <th>discret_floor</th>\n",
              "      <th>discret_quantile</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>2244205.0</td>\n",
              "      <td>1</td>\n",
              "      <td>224.0</td>\n",
              "      <td>3</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>1869268.0</td>\n",
              "      <td>1</td>\n",
              "      <td>186.0</td>\n",
              "      <td>3</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2</th>\n",
              "      <td>1724625.0</td>\n",
              "      <td>1</td>\n",
              "      <td>172.0</td>\n",
              "      <td>3</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>3</th>\n",
              "      <td>1109029.0</td>\n",
              "      <td>1</td>\n",
              "      <td>110.0</td>\n",
              "      <td>3</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>4</th>\n",
              "      <td>1759797.0</td>\n",
              "      <td>1</td>\n",
              "      <td>175.0</td>\n",
              "      <td>3</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>...</th>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "      <td>...</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>66284</th>\n",
              "      <td>131489.0</td>\n",
              "      <td>0</td>\n",
              "      <td>13.0</td>\n",
              "      <td>2</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>66285</th>\n",
              "      <td>13271.0</td>\n",
              "      <td>0</td>\n",
              "      <td>1.0</td>\n",
              "      <td>0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>66286</th>\n",
              "      <td>76266.0</td>\n",
              "      <td>0</td>\n",
              "      <td>7.0</td>\n",
              "      <td>1</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>66287</th>\n",
              "      <td>282447.0</td>\n",
              "      <td>0</td>\n",
              "      <td>28.0</td>\n",
              "      <td>2</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>66288</th>\n",
              "      <td>6900.0</td>\n",
              "      <td>0</td>\n",
              "      <td>0.0</td>\n",
              "      <td>0</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "<p>66231 rows × 4 columns</p>\n",
              "</div>\n",
              "    <div class=\"colab-df-buttons\">\n",
              "\n",
              "  <div class=\"colab-df-container\">\n",
              "    <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-d1041705-bb67-4801-a939-3ab66807d225')\"\n",
              "            title=\"Convert this dataframe to an interactive table.\"\n",
              "            style=\"display:none;\">\n",
              "\n",
              "  <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n",
              "    <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n",
              "  </svg>\n",
              "    </button>\n",
              "\n",
              "  <style>\n",
              "    .colab-df-container {\n",
              "      display:flex;\n",
              "      gap: 12px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert {\n",
              "      background-color: #E8F0FE;\n",
              "      border: none;\n",
              "      border-radius: 50%;\n",
              "      cursor: pointer;\n",
              "      display: none;\n",
              "      fill: #1967D2;\n",
              "      height: 32px;\n",
              "      padding: 0 0 0 0;\n",
              "      width: 32px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert:hover {\n",
              "      background-color: #E2EBFA;\n",
              "      box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "      fill: #174EA6;\n",
              "    }\n",
              "\n",
              "    .colab-df-buttons div {\n",
              "      margin-bottom: 4px;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert {\n",
              "      background-color: #3B4455;\n",
              "      fill: #D2E3FC;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert:hover {\n",
              "      background-color: #434B5C;\n",
              "      box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
              "      filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
              "      fill: #FFFFFF;\n",
              "    }\n",
              "  </style>\n",
              "\n",
              "    <script>\n",
              "      const buttonEl =\n",
              "        document.querySelector('#df-d1041705-bb67-4801-a939-3ab66807d225 button.colab-df-convert');\n",
              "      buttonEl.style.display =\n",
              "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "\n",
              "      async function convertToInteractive(key) {\n",
              "        const element = document.querySelector('#df-d1041705-bb67-4801-a939-3ab66807d225');\n",
              "        const dataTable =\n",
              "          await google.colab.kernel.invokeFunction('convertToInteractive',\n",
              "                                                    [key], {});\n",
              "        if (!dataTable) return;\n",
              "\n",
              "        const docLinkHtml = 'Like what you see? Visit the ' +\n",
              "          '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
              "          + ' to learn more about interactive tables.';\n",
              "        element.innerHTML = '';\n",
              "        dataTable['output_type'] = 'display_data';\n",
              "        await google.colab.output.renderOutput(dataTable, element);\n",
              "        const docLink = document.createElement('div');\n",
              "        docLink.innerHTML = docLinkHtml;\n",
              "        element.appendChild(docLink);\n",
              "      }\n",
              "    </script>\n",
              "  </div>\n",
              "\n",
              "\n",
              "<div id=\"df-eda613ad-1e72-40e1-a7d7-45bb1029417a\">\n",
              "  <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-eda613ad-1e72-40e1-a7d7-45bb1029417a')\"\n",
              "            title=\"Suggest charts\"\n",
              "            style=\"display:none;\">\n",
              "\n",
              "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
              "     width=\"24px\">\n",
              "    <g>\n",
              "        <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n",
              "    </g>\n",
              "</svg>\n",
              "  </button>\n",
              "\n",
              "<style>\n",
              "  .colab-df-quickchart {\n",
              "      --bg-color: #E8F0FE;\n",
              "      --fill-color: #1967D2;\n",
              "      --hover-bg-color: #E2EBFA;\n",
              "      --hover-fill-color: #174EA6;\n",
              "      --disabled-fill-color: #AAA;\n",
              "      --disabled-bg-color: #DDD;\n",
              "  }\n",
              "\n",
              "  [theme=dark] .colab-df-quickchart {\n",
              "      --bg-color: #3B4455;\n",
              "      --fill-color: #D2E3FC;\n",
              "      --hover-bg-color: #434B5C;\n",
              "      --hover-fill-color: #FFFFFF;\n",
              "      --disabled-bg-color: #3B4455;\n",
              "      --disabled-fill-color: #666;\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart {\n",
              "    background-color: var(--bg-color);\n",
              "    border: none;\n",
              "    border-radius: 50%;\n",
              "    cursor: pointer;\n",
              "    display: none;\n",
              "    fill: var(--fill-color);\n",
              "    height: 32px;\n",
              "    padding: 0;\n",
              "    width: 32px;\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart:hover {\n",
              "    background-color: var(--hover-bg-color);\n",
              "    box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "    fill: var(--button-hover-fill-color);\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart-complete:disabled,\n",
              "  .colab-df-quickchart-complete:disabled:hover {\n",
              "    background-color: var(--disabled-bg-color);\n",
              "    fill: var(--disabled-fill-color);\n",
              "    box-shadow: none;\n",
              "  }\n",
              "\n",
              "  .colab-df-spinner {\n",
              "    border: 2px solid var(--fill-color);\n",
              "    border-color: transparent;\n",
              "    border-bottom-color: var(--fill-color);\n",
              "    animation:\n",
              "      spin 1s steps(1) infinite;\n",
              "  }\n",
              "\n",
              "  @keyframes spin {\n",
              "    0% {\n",
              "      border-color: transparent;\n",
              "      border-bottom-color: var(--fill-color);\n",
              "      border-left-color: var(--fill-color);\n",
              "    }\n",
              "    20% {\n",
              "      border-color: transparent;\n",
              "      border-left-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "    }\n",
              "    30% {\n",
              "      border-color: transparent;\n",
              "      border-left-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "      border-right-color: var(--fill-color);\n",
              "    }\n",
              "    40% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "    }\n",
              "    60% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "    }\n",
              "    80% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "      border-bottom-color: var(--fill-color);\n",
              "    }\n",
              "    90% {\n",
              "      border-color: transparent;\n",
              "      border-bottom-color: var(--fill-color);\n",
              "    }\n",
              "  }\n",
              "</style>\n",
              "\n",
              "  <script>\n",
              "    async function quickchart(key) {\n",
              "      const quickchartButtonEl =\n",
              "        document.querySelector('#' + key + ' button');\n",
              "      quickchartButtonEl.disabled = true;  // To prevent multiple clicks.\n",
              "      quickchartButtonEl.classList.add('colab-df-spinner');\n",
              "      try {\n",
              "        const charts = await google.colab.kernel.invokeFunction(\n",
              "            'suggestCharts', [key], {});\n",
              "      } catch (error) {\n",
              "        console.error('Error during call to suggestCharts:', error);\n",
              "      }\n",
              "      quickchartButtonEl.classList.remove('colab-df-spinner');\n",
              "      quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n",
              "    }\n",
              "    (() => {\n",
              "      let quickchartButtonEl =\n",
              "        document.querySelector('#df-eda613ad-1e72-40e1-a7d7-45bb1029417a button');\n",
              "      quickchartButtonEl.style.display =\n",
              "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "    })();\n",
              "  </script>\n",
              "</div>\n",
              "    </div>\n",
              "  </div>\n"
            ],
            "application/vnd.google.colaboratory.intrinsic+json": {
              "type": "dataframe",
              "variable_name": "temp",
              "summary": "{\n  \"name\": \"temp\",\n  \"rows\": 66231,\n  \"fields\": [\n    {\n      \"column\": \"viewCount\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 1328529.7898147278,\n        \"min\": 2.0,\n        \"max\": 86642355.0,\n        \"num_unique_values\": 60505,\n        \"samples\": [\n          527058.0,\n          47011.0,\n          61966.0\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"binary\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 0,\n        \"min\": 0,\n        \"max\": 1,\n        \"num_unique_values\": 2,\n        \"samples\": [\n          0,\n          1\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"discret_floor\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 132.85438744806694,\n        \"min\": 0.0,\n        \"max\": 8664.0,\n        \"num_unique_values\": 985,\n        \"samples\": [\n          56.0,\n          624.0\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"discret_quantile\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 1,\n        \"min\": 0,\n        \"max\": 3,\n        \"num_unique_values\": 4,\n        \"samples\": [\n          2,\n          0\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    }\n  ]\n}"
            }
          },
          "metadata": {},
          "execution_count": 13
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "qWN9JF00dcNr",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 618
        },
        "outputId": "10fc8bba-dc67-47fa-cebe-0dae9effd302"
      },
      "source": [
        "fig, (ax1, ax2) = plt.subplots(2, 1, figsize=(10,10))\n",
        "fig.subplots_adjust(hspace=0.4)\n",
        "\n",
        "# default values\n",
        "temp['viewCount'].hist(ax=ax1, bins=100, log=True)\n",
        "ax1.tick_params(labelsize=fontsize)\n",
        "ax1.set_title('default', fontsize=fontsize)\n",
        "ax1.set_xlabel('viewCounts', fontsize=fontsize)\n",
        "ax1.set_ylabel('Freqency (log)', fontsize=fontsize)\n",
        "\n",
        "# discret_quantile\n",
        "bins = discret_num*2\n",
        "temp['discret_quantile'].hist(ax=ax2, bins=bins, log=True)\n",
        "ax2.set_title('discret_quantile', fontsize=fontsize)\n",
        "ax2.set_xlabel('viewCounts (discret_quantile={})'.format(discret_num), fontsize=fontsize)\n",
        "ax2.set_ylabel('Freqency (log)', fontsize=fontsize)"
      ],
      "execution_count": 14,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "Text(0, 0.5, 'Freqency (log)')"
            ]
          },
          "metadata": {},
          "execution_count": 14
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 1000x1000 with 2 Axes>"
            ],
            "image/png": "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epEFzX8KCgoy37ZbGAMHDtTAgQOLsCLLytMzngAAAACKDrPaosB4nQoAAACAwiB4AgAAAACsiuAJAAAAALAqgicKzGg0qlmzZgoICLB1KQAAAABKEYInCoxnPAEAAAAUBsETAAAAAGBVBE8AAAAAgFURPC3IysqydQkAAAAAUCYQPC2oV6+e3n77bZ0+fdrWpZQYTC4EAAAAoDAInhacOHFCb7zxhry9vTVkyBD99NNPti7J5phcCAAAAEBhONi6gJJq586dmj9/vlatWqVly5Zp+fLl8vPz0+jRo/X444/L2dnZ1iXCRnxCNlhsOzr9wWKsBAAAACgdGPG0ICAgQEuXLlVycrKmTp0qLy8v7d69W8OHD1fdunU1ceJEHT9+3NZlAgAAAECJR/C8ierVqyskJESJiYlau3atunXrpvPnz2vGjBlq2LCh+vXrp+joaFuXCQAAAAAlFsGzgAwGg/r06aPIyEgdOHBAI0aMUGZmpr766iv16NFDzZs316JFi5gNFwAAAAD+geB5i44dO6aPPvpIa9askSSZTCbVrFlT+/fv14gRI9S2bVslJyfbuErrYFZbAAAAAIVB8CygqKgo9enTR40aNdKsWbOUlpam4cOHa8+ePTp58qSioqLUvn177d27V+PGjbN1uVbBrLYAAAAACoNZbfORkpKixYsXa8GCBTp06JBMJpPq1KmjF154Qc8//7yqV69u7tutWzd16dJFbdq00ZYtW2xYNQAAAACULARPC1544QUtW7ZMaWlpMplMuueeezRmzBj1799f9vb2ea5jZ2cnf39//d///V8xVwsAAAAAJRfB04L3339fTk5OGjx4sP71r3/J39+/QOvde++9MplMVq4OAAAAAEoPgqcFb7zxhl544QXVrFnzltYbNmyYhg0bZp2iAAAAAKAUInhaEBYWZusSAAAAAKBMIHhacOHCBf36669q2LCh6tSpk2efEydO6PDhw2rVqpWqVKlSvAXagNFolNFoVGZmpq1LKbF8QjZYbDs6/cFirAQAAAAoOXidigXh4eHq3Lmz/vjjD4t9/vjjD3Xu3FlGo7EYK7MdXqcCAAAAoDAInhZs3LhRDRo0yHdSIX9/f9WvX1/r168vxsoAAAAAoHQheFpw9OhR3XnnnTft17RpUyUmJhZDRQAAAABQOhE8LUhJSZG7u/tN+1WuXFkXL160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5JNauXKlKleurPDwcA0ZMkT29vbmdpPJpM2bN2vixIn6/fffbVgpAKAgevbsqZ49e1psT09P17///W99/vnnunjxolq0aKEZM2aY/0Dn5uYmNzc3c/+9e/cqISFBCxcuvKU6CJ4AABSzkhg4Jenjjz/WypUr5ejoqKioKN199925+hgMBvXo0UOdO3dWbGysDaoEABSl0aNHKyEhQStWrJCnp6ciIiL0wAMP6Ndff1Xjxo1z9f/oo4/UpEkTderU6Zb2w622AAAU0oEDB2QwGFS1alVdu3bNYj9/f38ZDAatW7dO0s2f8YyOjtYjjzyi2rVry8nJSXfccYf69eunHTt25OhnMpnk4eEhOzs7nTt3Lkfbzz//bH4O57333su1jwYNGshgMOjIkSPmbb399tuSpBdeeCHP0Pl3jo6Ouueee3It//nnnzVw4EB5enqaa+/du7c2b96c53Zudi6yny0KCwuzuPzMmTMKDg6Wl5eXnJyc5OXlpRdffFEXL17Mta/OnTtLkr777rsczyr5+PiY+6Wnp2vWrFlq27atKlWqJCcnJ9WqVUsBAQF65ZVXdP78+XzPDQCUFsePH9fixYu1evVqderUSQ0bNtSECRMUGBioxYsX5+p/7do1LVu2TM8888wt74vgCQBAITVt2lT33HOPLl68aHGyhl9//VW7d+9WzZo19eCDD950mxMmTFC3bt20bt06eXt7q2/fvmrQoIHWrVunTp065fgPAYPBoC5dushkMik6OjrHdr799ts8/78kHTlyRImJiapfv74aNGhgrjM7hA4dOrRAx/9PH374oe655x6tXr1atWrVUv/+/dW4cWOtX79ePXr00OTJkwu13fwkJSXJz89Pa9asUbt27dS9e3elpqZq/vz56tGjhzIyMsx9H3jgAd1///2SpJo1a2ro0KHmr/79+0uSsrKy9OCDD+qVV17R77//rk6dOql///5q2bKlzpw5o1mzZun48eNFfhwAYAu//vqrMjMz1aRJE/MttW5ubvruu+90+PDhXP0jIiKUmppaqH8nuNUWAIDbMHz4cO3YsUNLlizR448/nqs9Oyg++eSTcnDI/5/dDz/8UO+++64aNWqkNWvWqFWrVua277//Xg899JBGjhypwMBA8+1P3bp10+rVq/Xtt99q4MCB5v7ffvutnJyc1KBBA23dulWZmZnmZzWzg2i3bt3M/bNvm3Vycsqx34L69ddfNWrUKJlMJn3yyScaMmSIue2bb75R3759FRYWpg4dOqh79+63vH1LPv74Yw0bNkwLFy6Us7OzpL/C6D333KNdu3bpiy++0KBBgyRJISEhat++vSIjI9W0aVMtWbIk1/ZiYmIUHR0tX19ffffdd6pUqVKO9tjYWHl5eRVZ/QBgS5cvX5a9vb12796d43l+STme68z20Ucf6aGHHlLNmjVveV+MeAIAcBsee+wxVaxYUZs3b9aJEydytGVkZOizzz6TJD399NP5bicrK8t8O+mKFStyhb97771XoaGhun79ut5//33z8uzw+PdRzatXr2r79u2655571Lt3b128eDHH85h5Bc8zZ85IkqpVq3bTgJyX8PBw3bhxQ/369csROqW/JrYYMWKEJGnWrFm3vO381K1bV0aj0Rw6JZlvtZVyj/bezKlTpyRJnTp1yhU6pb9um65evfptVAwAJYevr68yMzN1+vRpNWrUKMdXrVq1cvRNTEzU1q1bC3WbrUTwBADgtlSqVEn9+/dXVlaWPvnkkxxtGzZs0JkzZ9SuXTs1b9483+3Ex8fr5MmTatiwodq2bZtnn+wZBrdv325e1qBBA9WvX1+JiYnm26J++OEHpaenq3v37rmCqclk0pYtW2QwGNS1a9dCHXNesp/RHDZsWJ7t2f+h8sMPPygzM7PI9tu1a1dVrFgx1/K77rpLknL9MeBm/Pz8ZG9vr48//lhGo1F//PFHkdQJALZy+fJl7dmzR3v27JH0V4Dcs2ePjh8/riZNmuiJJ57QU089pS+//FKJiYn6+eefNW3aNG3YsCHHdj7++GPVrl073xly80PwBADgNg0fPlySct26mX2b7c1GOyWZn688fPhwni/qNhgMateunaT/jU5m+2e4zP7f7t27q1OnTnJ2djYvi4+P17lz59SmTZscI3c1atSQJJ0/f75QwTA74NWvXz/P9oYNG0r6a2KKf06EdDsszRBcuXJl8/5uRcOGDfWf//xHGRkZGj16tDw9PeXj46NBgwZp2bJlun79+m3XDADFKTY2Vr6+vvL19ZUkjR8/Xr6+vnrjjTck/fVv1VNPPaWXXnpJd955p/r27atdu3bl+P2alZWlJUuWaNiwYbluyS0onvEEAOA23XvvvWrYsKF+++03bd++XR06dNDp06e1ceNGVahQIc9nP/8pKytLklSrVi3zBDiWeHh45PjcrVs3ffjhh9q8ebOef/55ffvtt6patar8/f1lZ2enDh066Mcff9SVK1fyvM1WknmU9fr169q7d6/8/PwKfPzWlH1eLLGzK/q/ob/44osaOHCgvvrqK8XExCgmJkYrVqzQihUrNGnSJP3www+qXbt2ke8XAKwhKChIJpPJYrujo6MmT56c7wRwdnZ2SkpKuq06CJ4AANwmg8GgYcOGKTQ0VIsXL1aHDh302Wef6caNGxo4cKCqVKly021kT1hTvXr1PCe9yU/Xrl1lMBi0detWnT59Wnv27FG/fv3Moaxbt27aunWrvv/+e4vBs1WrVuZbdpcuXXrLwbNOnTo6fPiwjhw5ohYtWuRqzx7RrVChgqpVq2Ze7uTkJElKTU3Nc7vHjh27pTqKSs2aNfXcc8/pueeek/TXq3OyJ5IKCQnR0qVLbVIXAJRW3GoLAEARGDZsmOzs7LRq1SpduXLllm6zlaSAgAB5eHgoISFB//d//3dL+65evbratGmj8+fPa9asWTKZTDlmjs0OmevXr1dMTIycnZ1zvfjbYDDotddekyQtWLBAP//8c777vHHjhn766Sfz5+znTy2F5o8//ljSX5P2/H3yojp16kiS9u/fn2udK1euaOvWrfnWcauyg+6NGzduab2mTZvq1VdflSTzc1IAgIIjeAIAUATq1q2r7t27KyUlRa+99pr27dsnb29vdenSpUDrOzo6atKkSTKZTOrXr59iYmJy9cnMzNSWLVtyBL5s2eFy/vz5kpQjePr7+6tKlSpatGiRrl69qg4dOsjFxSXXNp599ln1799fGRkZ6t69u5YuXZrrec/syYk6dOigFStWmJf/61//koODg9auXWueyTdbVFSUeSbeCRMm5Fm30WjMMRFQWlqaRowYcdu3dv1T3bp1JUmHDh3K8Y7PbFu2bNHGjRtztZlMJq1fv16SVK9evSKtCQDKA261BQCgiDz99NOKjIxUeHi4pP+NghbU6NGjdfz4cc2aNUudOnVS8+bN1ahRI7m4uOjPP//Unj17dPHiRS1YsEDt27fPsW63bt00a9YsXbt2TfXr1zdP5iP99WxO586dFRERYe5ryfLly1WrVi0ZjUYNGzZML730kgICAlStWjVdunRJcXFx+uOPP2Rvb59jBtuWLVvKaDTqhRde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7dvej4uLS57Ls7KyJP01yU3Dhg3z3Ubz5s1vu47iln18/zRx4kRFRESoadOmmj59ugICAuTh4WEO+h06dNCOHTtyzVCbzc7Otjd5/f24CjLKnj2RFACUFQRPAECZlj1qdPTo0TzbL168WKDRzr+rWbOmnnvuOT333HOSpAMHDmj48OHasWOHQkJCtHTpUkn/G2U7cOBAIavPLXu07OGHH9aECROKbLu34mbnNL+27KBo6VnM7FHif1q1apUkaeXKlWrVqlWu9kOHDlmspSTIfo3P1atX9c477xR6NmEAKK14xhMAUKbdd999kv4KLhkZGbnaP/nkk9veR9OmTfXqq69Kkvbs2WNenv384+eff660tLTb3o8k9ezZU9Jfr+WwNLqXl+zAd+PGjduuoW3btnJzc9PZs2cVFRWVq/3UqVN5Lpf+F1r379+fq81kMpmfg/yn7PejZr8i5u8iIyN19uzZAtdfEEV5viTJ3t5e3bt3l/S/EA0A5QnBEwBQpvXv31916tTR8ePHNXHixBy3PO7bt09vvfVWgbe1ZcsWbdy4MVeANZlMWr9+vaScwahPnz7y9fXVyZMnNWDAAJ07dy7HeteuXbMYtCx5+OGHFRAQoJ9//llPP/10ns9xXrhwQQsXLswRmurWrSvpr5HBvAL4rXBxcdGIESMkSePGjcsxydLVq1f1wgsv6OrVq3mu261bN0nSp59+qoSEBPPyjIwMvfrqq9q1a1ee62VPAjRv3rwcyw8ePKiRI0cW/mAsyD5f//d//1dk25w0aZKcnJz08ssva+nSpXneVrxv3z59+eWXRbZPACgpuNUWAFCmubi4aNmyZerVq5feffddrV27VgEBATp37py2bdum3r17a/fu3RZv8fy7X375RePGjVPlypXl5+cnT09PXb16VXFxcTp27Jjc3d315ptvmvvb2dkpIiJC999/v7755ht5e3srMDBQ1atX14kTJ7R3715VqVIl31tW/8nOzk5r167Vgw8+qKVLl+qLL75Q69at5e3trevXr+vIkSP69ddflZmZqWHDhplnvvX29pa/v79iY2PVsmVL+fv7q0KFCvLw8ND06dNv+by++eabiomJ0c8//6wmTZqoc+fOqlChgn744QdlZGToqaeeynM0uWPHjnr44Ye1bt06+fv7KzAwUC4uLoqLi1NKSor+9a9/KTw8PNd6kyZNUv/+/RUaGqpVq1apefPmOn36tH744Qd16tRJnp6eRTqL7/333y9XV1etXbtWgYGBaty4sezt7dWxY0c9/fTThdqmn5+fPvvsM/NMvK+//rqaNWumGjVq6Pz58/r111+VnJysxx57LNfrVgCgtGPEEwBQ5t13333auXOnHnnkEV24cEERERFKTk7Wm2++qZUrVxZ4O71791ZYWJgCAgJ05MgRffnll9q2bZvc3d0VEhKiffv2qU2bNjnWqVevnmJjYzVjxgw1b95cO3bs0Jdffqljx47pvvvu04wZM275eDw9PfXTTz9p4cKFateunQ4ePKgvvvhCMTExkqSRI0cqMjIy17s016xZo8GDByslJUUrV67UokWLtGLFilvevyS5urpq69atCg0NVc2aNRUZGanvv/9eXbt2VWxsbL6z2q5cuVKvv/66ateurW3btumnn35Sp06dFBcXl+v8ZXvkkUf03XffqWvXrvrjjz/01Vdf6fTp0woLC9M333yT56tybkfNmjX1zTffqFu3bkpISNAnn3yiRYsW6bvvvrut7Q4YMED/93//p3HjxqlKlSr68ccftWbNGiUkJKhRo0aaPn263n777SI6CgAoOQymW3lABAAAoADCwsI0efJkTZo0SWFhYbYuBwBgY4x4AgAAAACsiuAJAAAAALAqJhcCAKCcmzBhQoFfRxIYGKhnn33WyhUBAMoanvEEAKCc8/HxKdCsvpI0dOhQLVmyxLoFAQDKHIInAAAAAMCqeMYTAAAAAGBVPOOJW5aVlaWTJ0+qUqVKMhgMti4HAAAAgI2YTCalpqbK09NTdnaWxzUJnrhlJ0+elJeXl63LAAAAAFBCJCUlqW7duhbbCZ64ZZUqVZL018VVuXJlm9aSkZGhqKgo9ejRQ46OjjatBUWD72nZxPe17OF7WjbxfS17+J6WTSXp+5qSkiIvLy9zRrCE4Ilbln17beXKlUtE8KxYsaIqV65s8x86FA2+p2UT39eyh+9p2cT3tezhe1o2lcTv680ewWNyIQAAAACAVRE8AQAAAABWRfAEAAAAAFgVwRMAAAAAYFUETwAAAACAVRE8AQAAAABWRfCErly5onr16mnChAm2LgUAAABAGUTwhN5++221b9/e1mUAAAAAKKMInuXcoUOHdODAAfXs2dPWpQAAAAAoo0pl8Pz+++/Vu3dveXp6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CzIyMhSWcFH3GAHA6NGjUVJSglmzZuHmzZvo0aMHdu7cqTDhEBERERERkba8sImnj48PhBAq6+Pi4hAXF6dQPnToUAwdOlRlv5SUlBr3W1s9AAwaNKjG2NSJ42kDBw5UWu7q6qqyT23HqFp0dDSio6PVjoWIiIiIiKg+aTTUViqV1nccRERERERE1ERplHja2dlhzpw5uHXrVn3HQ0RERERERE2MRonntWvXMGvWLNja2uKdd95BdnZ2fcdFRERERERETYRGied///tfjB07FhKJBD/99BO8vb3h7u6OVatW4dGjR/UdIxERERERETViGiWe1Unm1atXMXfuXNjY2ODYsWOIiIhA+/btMXPmTLklPYiIiIiIiOjl9UzreJqammLGjBkoLCzE5s2b4e/vjzt37mDBggXo0KEDgoKCsGfPnvqKlYiIiIiIiBqhZ0o8q0kkEgwbNgy7du3CmTNnMHHiRFRVVWHr1q0YNGgQunTpgsTERM6GS0RERERE9BKql8Sz2qVLl7BixQps3LgRACCEgIWFBU6fPo2JEyeiV69euHr1an3ukoiIiIiIiF5w9ZJ47t69G8OGDcOrr76Kr776Cg8fPkRERATy8vJw/fp17N69G71798aJEycwderU+tglERERERERNRJ6mna8f/8+kpKSkJCQgPPnz0MIgXbt2iEyMhLvv/8+TE1NZW39/f3h6+uLHj16YO/evfUSOBERERERETUOGiWekZGR+Omnn/Dw4UMIIeDl5YVJkyZh5MiR0NXVVdpHR0cHbm5uOHXq1DMFTERERERERI2LRonnjz/+CAMDA4SGhmLy5Mlwc3NTq9/rr78OIYQmuyQiIiIiIqJGSqPEc9asWYiMjISFhUWd+oWHhyM8PFyTXRIREREREVEjpVHiGRcXV89hEBERERERUVOl0ay2d+/exYEDB3Dt2jWVba5du4YDBw7gjz/+0DQ2IiIiIiIiagI0Sjy//fZbDBgwADdu3FDZ5saNGxgwYADi4+M1Do6IiIiIiIgaP40Szx07dsDR0bHGSYXc3Nzg4OCAbdu2aRwcERERERERNX4aJZ5FRUV47bXXam3XqVMnFBYWarILIiIiIiIiaiI0Sjzv37+PVq1a1drO2NiYz3gSERERERG95DRKPNu2bYszZ87U2u7s2bNo06aNJrsgIiIiIiKiJkKjxLN3797Iy8vDgQMHVLb59ddfkZubi969e2scHBERERERETV+GiWekZGREEJg5MiR2LJli0L9li1bMHLkSEgkEnzwwQfPHCQRERERERE1XnqadPL19UV0dDSWLFmCt956C2ZmZrLJhs6dO4eSkhIIIRAZGYlBgwbVa8BERERERETUuGiUeALAd999h44dO+Jf//oXSkpKUFJSIqszMzPDP//5T0yePLlegiQiIiIiIqLGS+PEEwA++ugjfPjhhzh27BguXboEALC1tYWbmxt0dXXrJUAiIiIiIiJq3J4p8QQAXV1deHh4wMPDoz7iISIiIiIioiZGo8mFiIiIiIiIiNT1THc8r1+/jn379uHatWv466+/lLaRSCT47LPPnmU3RERERERE1IhpnHjGxMRgyZIlqKqqAgAIIeTqJRIJhBBMPImIiIiIiF5yGiWeCxcuxOLFiyGRSDB48GA4OzvD2Ni4vmMjIiIiIiKiJkCjxDMxMRF6enrYvXs3fHx86jkkIiIiIiIiako0mlyooKAAffv2ZdJJREREREREtdIo8TQyMoKVlVV9x0JERERERERNkEaJZ79+/XDixIn6joWIiIiIiIiaII0Sz1mzZuHChQtYsWJFfcdDRERERERETYxGkwvdv38fMTExeP/997F7924MHToUtra20NFRnse+/vrrzxQkERERERERNV4aJZ4+Pj6ydTo3btyIjRs3qmwrkUjw+PFjjQMkIiIiIiKixk2jxPP111+HRCKp71iIiIiIiIioCdIo8dy/f389h0FERERERERNlUaTCxERERERERGpq14Sz4qKCty4cQN37typj80RERERERFRE/JMiefatWvh4eGBli1bon379oiNjZXVpaWlITQ0FIWFhc8cJBERERERETVeGiee48ePR1hYGI4ePYrmzZtDCCFX7+TkhJSUlBpnvCUiIiIiIqKmT6PE86effsLKlSvRtWtX5OTk4N69ewptunTpgvbt2+OXX3555iCJiIiIiIio8dIo8Vy2bBleeeUVbNu2Db169VK5tEq3bt041LaRKC8vh52dndxwaSIiIiIiovqgUeJ54sQJeHp6wsbGpsZ2bdq0QXFxsUaB0fM1Z84c9O7du6HDICIiIiKiJkijxPPRo0do1apVre1KSkqgq6uryS7oOTp//jzOnDmDgICAhg6FiIiIiIiaII0Sz3bt2uH0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VGNsT9u/f3+tbQYOHKi03NXVVWWf2o5RtejoaERHR9fajoiIiIiISBs0Sjx79eqFyMhIfPjhh/jmm2/QrFkzufoFCxbg448/xsqVK/H++++jW7du9RIsERERERERNT4aTS4UFxcHKysrfPfddwpJJ/D3pDbffvstLC0tld6VJCIiIiIiopeHRonngQMH4OnpWePSKTo6OvD09MSvv/6qcXBERERERETU+GmUeD548AB3796ttd3du3dRVlamyS6IiIiIiIioidAo8Xz11Vexf/9+nDt3TmWbs2fPYt++fejQoYPGwREREREREVHjp1HiOW7cODx69Ag+Pj5Yvnw5ysvLZXXl5eVYsWIF/Pz8UFlZiXHjxtVbsERERERERNT4aDSr7UcffYTMzExs2bIFH3zwAT744AOYmZkBAEpLSwH8vYbnsGHDMGnSpPqLloiIiIiIiBodje546urqYtOmTfj+++/h6OgIIQRKSkpQUlICIQQcHBzw3XffIS0trcYJiIiIiIiIiKjp0+iOJwBIJBJERUUhKioK169fx9WrVwEA7dq1Q7t27eotQCIiIiIiImrcNE48n2RtbQ1ra+v62BQRERERERE1Mc+ceN67dw85OTkoKSmBnZ0d+vTpUx9xERERERERUROh8QOYDx48wPjx42Fubo7Bgwdj7NixWLFihax+xYoVsLa2xn//+996CZSIiIiIiIgaJ40Szz///BM+Pj5YuXIlWrdujYCAAAgh5NoMHToUxcXF2Lx5c33ESURERERERI2URonnwoULkZubi5CQEBQUFGDbtm0KbSwtLeHs7Ix9+/Y9c5BERERERETUeGmUeKampsLS0hKJiYlo2bKlynZOTk6y2W6JiIiIiIjo5aRR4llQUAAPDw8YGhrW2K5FixYoLS3VKDAiIiIiIiJqGjRKPHV1dVFZWVlru6tXr9Z4R5SIiIiIiIiaPo0Szw4dOuDEiRN4/PixyjZlZWX47bff4OzsrHFwRERERERE1PhplHgOGzYMN27cwL///W+Vbf7973/j3r17CAoK0jg4IiIiIiIiavw0SjynTp2Kdu3a4V//+hdGjBiBdevWAQCKi4uxadMmvP322/jqq69gb2+PDz74oF4DJiIiIiIiosZFT5NOJiYm2LlzJ4YNG4atW7fi559/hkQiwc6dO7Fz504IIWBnZ4eff/6Zz3gSERERERG95DRKPAGgc+fOOHnyJJKTk7Fjxw5cvHgRUqkUNjY2CAgIwMSJE9GiRYv6jJWIiIiIiIgaIY0SzwMHDkBXVxfe3t744IMPOJyWiIiIiIiIVNLoGU8fHx989tln9R0LERERERERNUEaJZ6tW7eGtbV1fcdCRERERERETZBGiWePHj1w/vz5+o6FiIiIiIiImiCNEs9JkyYhJycH27dvr+94iIiIiIiIqInRaHIhV1dXREdHIygoCOHh4fjHP/4Be3t7NG/eXGl7W1vbZwqSiIiIiIiIGi+NEk8HBwcAgBACiYmJSExMVNlWIpHg8ePHmkVHREREREREjZ5GiaeNjQ0kEkl9x0JERERERERNkEaJZ1FRUT2HQURERERERE2VWpMLfffdd8jIyNB2LERERERERNQEqZV4TpkyBevWrVNa5+vriy+//LJegyIiIiIiIqKmQ6Ohtk/av38/7O3t6yEUIiIiIiIiaoo0WseTiIiIiIiISF1MPImIiIiIiEirmHgSERERERGRVjHxJCIiIiIiIq1Se3KhCxcuYPXq1XWuA4B333237pERERERERFRk6B24nnw4EEcPHhQoVwikaisq65n4klERERERPTyUivxtLW1hUQi0XYsRERERERE1ASplXgWFRVpOQwiIiIiIiJqqji5EBEREREREWkVE08iIiIiIiLSKiaeBAAoLy+HnZ0dYmNjGzoUIiIiIiJqYph4EgBgzpw56N27d0OHQURERERETRATT8L58+dx5swZBAQENHQoRERERETUBL2wieeBAwcQGBgIa2trSCQSbN68Wa1+165dw9ixY2FqaormzZujW7duOHr0qKw+Li4OEolE7tWpUye16+3t7RXqJRIJoqKiZG3mzZsHd3d3GBkZwdzcHCNGjMDZs2ef/aA8Rd1jFB8fD3t7exgaGsLT0xNHjhyRq4+NjcW8efPqPT4iIiIiIiLgBU48Hz58CBcXF8THx6vd5+7du/D29oa+vj5++eUX5Ofn45tvvkHr1q3l2nXp0gU3btyQvbKystSuz8nJkatLT08HAAQHB8vaZGZmIioqCtnZ2UhPT0dlZSUGDRqEhw8fqoz94MGDqKysVCjPz89HcXGx0j7qHKPU1FTExMRg9uzZOH78OFxcXDB48GDcunULALBlyxY4OTnByclJ5TaIiIiIiIiehVrreDaEgICAOg/9XLBgAWxsbJCUlCQrc3BwUGinp6cHS0tLldupqb5t27Zy/58/fz46dOiA/v37y8p27twp1yY5ORnm5uY4duwYXn/9dYVtSqVSREVFoWPHjkhJSYGuri4A4OzZs/D19UVMTAymT5+u0E+dY7Rw4UJMmDAB7733HgBg6dKl2L59O1auXIkZM2YgOzsbKSkp2LBhA8rKylBZWQljY2PMmjWrxu0SERERERGp64W946mJrVu3ws3NDcHBwTA3N4erqyuWL1+u0O78+fOwtraGo6MjxowZg8uXL9epvlpFRQXWrl2LiIgISCQSlXHdu3cPANCmTRul9To6OtixYwdyc3Px7rvvQiqVoqCgAL6+vhgxYoTSpFMdFRUVOHbsGPz9/eX25e/vj8OHDwP4e1jwlStXUFRUhK+//hoTJkxQmXTGx8ejc+fOcHd31ygeIiIiIiJ6OTWpxPPixYtISEhAx44dsWvXLkRGRmLSpElYtWqVrI2npyeSk5Oxc+dOJCQkoLCwEP369cODBw/Uqn/S5s2b8ccffyA8PFxlTFKpFFOmTIG3tze6du2qsp21tTX27t2LrKwshIaGwtfXF/7+/khISND4eJSWlqKqqgoWFhZy5RYWFrh582adtxcVFYX8/Hzk5ORoHBMREREREb18XtihtpqQSqVwc3PD3LlzAQCurq44efIkli5dirCwMACQG5ravXt3eHp6ws7ODuvXr8e4ceNqrX9SYmIiAgICYG1trTKmqKgonDx5UuE5UmVsbW2xZs0a9O/fH46OjkhMTKzxTmp9qymBJiIiIiIi0lSTuuNpZWWFzp07y5U5OzurHCoLACYmJnBycsKFCxfqVH/p0iVkZGRg/PjxKrcdHR2Nbdu2Yd++fWjfvn2t8RcXF2PixIkIDAxEeXk5pk6dWmufmpiZmUFXV1dhcqLi4uIan3ElIiIiIiKqT00q8fT29lZYtuTcuXOws7NT2aesrAwFBQWwsrKqU31SUhLMzc0xZMgQhT5CCERHRyMtLQ179+5VOsHR00pLS+Hn5wdnZ2ds2rQJe/bsQWpqKmJjY2vtq4qBgQF69eqFPXv2yMqkUin27NkDLy8vjbdLRERERERUFy9s4llWVoa8vDzk5eUBAAoLC5GXlye7e7lkyRL4+fnJ9Zk6dSqys7Mxd+5cXLhwAevWrcOyZcvk1tiMjY1FZmYmioqKcOjQIQQFBUFXVxchISFq1QN/J29JSUkICwuDnp7iaOWoqCisXbsW69atg5GREW7evImbN2/izz//VPpepVIpAgICYGdnh9TUVOjp6aFz585IT09HUlISFi1apNExAoCYmBgsX74cq1atwunTpxEZGYmHDx/KZrklIiIiIiLSthf2Gc+jR49iwIABsv/HxMQAAMLCwpCcnIzS0lIUFBTI9XF3d0daWhpmzpyJL774Ag4ODli8eDHGjBkja3P16lWEhITg9u3baNu2Lfr27Yvs7GzZMim11QNARkYGLl++jIiICKWxV08I5OPjI1eelJSk9DlKHR0dzJ07F/369YOBgYGs3MXFBRkZGQpLuKh7jABg9OjRKCkpwaxZs3Dz5k306NEDO3fuVJhwiIiIiIiISFte2MTTx8cHQgiV9XFxcYiLi1MoHzp0KIYOHaqyX0pKSo37ra0eAAYNGlRjbDXVqTJw4ECl5a6urir71HaMqkVHRyM6OrrOMREREREREdWHF3aoLRERERERETUNTDyJiIiIiIhIq5h4EhERERERkVYx8SQiIiIiIiKtYuJJREREREREWsXEk4iIiIiIiLSKiScRERERERFpFRNPIiIiIiIi0iomnkRERERERKRVTDyJiIiIiIhIq5h4EhERERERkVYx8SQiIiIiIiKtYuJJREREREREWsXEk4iIiIiIiLSKiScRERERERFpFRNPIiIiIiIi0iomnkRERERERKRVTDyJiIiIiIhIq5h4EhERERERkVYx8SQiIiIiIiKtYuJJREREREREWsXEk4iIiIiIiLSKiScRERERERFpFRNPIiIiIiIi0iomnkRERERERKRVTDyJiIiIiIhIq5h4EhERERERkVYx8SQiIiIiIiKtYuJJREREREREWsXEk4iIiIiIiLSKiScRERERERFpFRNPIiIiIiIi0iomnkRERERERKRVTDyJiIiIiIhIq5h4EhERERERkVYx8SQiIiIiIiKtYuJJREREREREWsXEk4iIiIiIiLSKiScRERERERFpFRNPIiIiIiIi0iomnkRERERERKRVTDyJiIiIiIhIq5h4EhERERERkVYx8SQiIiIiIiKtYuJJREREREREWsXEk1BeXg47OzvExsY2dChERERERNQEMfEkzJkzB717927oMIiIiIiIqIli4vmSO3/+PM6c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\n"
          },
          "metadata": {}
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "EseLksGcHxW0"
      },
      "source": [
        "### 手法4：ログスケール化(log-scaling)"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "vrOpEz46HxW0",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 201
        },
        "outputId": "8151809a-66ce-416b-dae5-8fa096ed4767"
      },
      "source": [
        "# preprocess method 4: log-scaling\n",
        "new_column = np.log10(df['viewCount'] + 1)\n",
        "temp['log10'] = new_column\n",
        "temp.head()"
      ],
      "execution_count": 15,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "   viewCount  binary  discret_floor  discret_quantile     log10\n",
              "0  2244205.0       1          224.0                 3  6.351063\n",
              "1  1869268.0       1          186.0                 3  6.271672\n",
              "2  1724625.0       1          172.0                 3  6.236695\n",
              "3  1109029.0       1          110.0                 3  6.044943\n",
              "4  1759797.0       1          175.0                 3  6.245463"
            ],
            "text/html": [
              "\n",
              "  <div id=\"df-0627b0db-5cc5-4de0-985e-d2c065f89def\" class=\"colab-df-container\">\n",
              "    <div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>viewCount</th>\n",
              "      <th>binary</th>\n",
              "      <th>discret_floor</th>\n",
              "      <th>discret_quantile</th>\n",
              "      <th>log10</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>2244205.0</td>\n",
              "      <td>1</td>\n",
              "      <td>224.0</td>\n",
              "      <td>3</td>\n",
              "      <td>6.351063</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>1869268.0</td>\n",
              "      <td>1</td>\n",
              "      <td>186.0</td>\n",
              "      <td>3</td>\n",
              "      <td>6.271672</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2</th>\n",
              "      <td>1724625.0</td>\n",
              "      <td>1</td>\n",
              "      <td>172.0</td>\n",
              "      <td>3</td>\n",
              "      <td>6.236695</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>3</th>\n",
              "      <td>1109029.0</td>\n",
              "      <td>1</td>\n",
              "      <td>110.0</td>\n",
              "      <td>3</td>\n",
              "      <td>6.044943</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>4</th>\n",
              "      <td>1759797.0</td>\n",
              "      <td>1</td>\n",
              "      <td>175.0</td>\n",
              "      <td>3</td>\n",
              "      <td>6.245463</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>\n",
              "    <div class=\"colab-df-buttons\">\n",
              "\n",
              "  <div class=\"colab-df-container\">\n",
              "    <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-0627b0db-5cc5-4de0-985e-d2c065f89def')\"\n",
              "            title=\"Convert this dataframe to an interactive table.\"\n",
              "            style=\"display:none;\">\n",
              "\n",
              "  <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n",
              "    <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n",
              "  </svg>\n",
              "    </button>\n",
              "\n",
              "  <style>\n",
              "    .colab-df-container {\n",
              "      display:flex;\n",
              "      gap: 12px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert {\n",
              "      background-color: #E8F0FE;\n",
              "      border: none;\n",
              "      border-radius: 50%;\n",
              "      cursor: pointer;\n",
              "      display: none;\n",
              "      fill: #1967D2;\n",
              "      height: 32px;\n",
              "      padding: 0 0 0 0;\n",
              "      width: 32px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert:hover {\n",
              "      background-color: #E2EBFA;\n",
              "      box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "      fill: #174EA6;\n",
              "    }\n",
              "\n",
              "    .colab-df-buttons div {\n",
              "      margin-bottom: 4px;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert {\n",
              "      background-color: #3B4455;\n",
              "      fill: #D2E3FC;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert:hover {\n",
              "      background-color: #434B5C;\n",
              "      box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
              "      filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
              "      fill: #FFFFFF;\n",
              "    }\n",
              "  </style>\n",
              "\n",
              "    <script>\n",
              "      const buttonEl =\n",
              "        document.querySelector('#df-0627b0db-5cc5-4de0-985e-d2c065f89def button.colab-df-convert');\n",
              "      buttonEl.style.display =\n",
              "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "\n",
              "      async function convertToInteractive(key) {\n",
              "        const element = document.querySelector('#df-0627b0db-5cc5-4de0-985e-d2c065f89def');\n",
              "        const dataTable =\n",
              "          await google.colab.kernel.invokeFunction('convertToInteractive',\n",
              "                                                    [key], {});\n",
              "        if (!dataTable) return;\n",
              "\n",
              "        const docLinkHtml = 'Like what you see? Visit the ' +\n",
              "          '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
              "          + ' to learn more about interactive tables.';\n",
              "        element.innerHTML = '';\n",
              "        dataTable['output_type'] = 'display_data';\n",
              "        await google.colab.output.renderOutput(dataTable, element);\n",
              "        const docLink = document.createElement('div');\n",
              "        docLink.innerHTML = docLinkHtml;\n",
              "        element.appendChild(docLink);\n",
              "      }\n",
              "    </script>\n",
              "  </div>\n",
              "\n",
              "\n",
              "<div id=\"df-48de638f-454a-4c2d-9cc6-80456f15e685\">\n",
              "  <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-48de638f-454a-4c2d-9cc6-80456f15e685')\"\n",
              "            title=\"Suggest charts\"\n",
              "            style=\"display:none;\">\n",
              "\n",
              "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
              "     width=\"24px\">\n",
              "    <g>\n",
              "        <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n",
              "    </g>\n",
              "</svg>\n",
              "  </button>\n",
              "\n",
              "<style>\n",
              "  .colab-df-quickchart {\n",
              "      --bg-color: #E8F0FE;\n",
              "      --fill-color: #1967D2;\n",
              "      --hover-bg-color: #E2EBFA;\n",
              "      --hover-fill-color: #174EA6;\n",
              "      --disabled-fill-color: #AAA;\n",
              "      --disabled-bg-color: #DDD;\n",
              "  }\n",
              "\n",
              "  [theme=dark] .colab-df-quickchart {\n",
              "      --bg-color: #3B4455;\n",
              "      --fill-color: #D2E3FC;\n",
              "      --hover-bg-color: #434B5C;\n",
              "      --hover-fill-color: #FFFFFF;\n",
              "      --disabled-bg-color: #3B4455;\n",
              "      --disabled-fill-color: #666;\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart {\n",
              "    background-color: var(--bg-color);\n",
              "    border: none;\n",
              "    border-radius: 50%;\n",
              "    cursor: pointer;\n",
              "    display: none;\n",
              "    fill: var(--fill-color);\n",
              "    height: 32px;\n",
              "    padding: 0;\n",
              "    width: 32px;\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart:hover {\n",
              "    background-color: var(--hover-bg-color);\n",
              "    box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "    fill: var(--button-hover-fill-color);\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart-complete:disabled,\n",
              "  .colab-df-quickchart-complete:disabled:hover {\n",
              "    background-color: var(--disabled-bg-color);\n",
              "    fill: var(--disabled-fill-color);\n",
              "    box-shadow: none;\n",
              "  }\n",
              "\n",
              "  .colab-df-spinner {\n",
              "    border: 2px solid var(--fill-color);\n",
              "    border-color: transparent;\n",
              "    border-bottom-color: var(--fill-color);\n",
              "    animation:\n",
              "      spin 1s steps(1) infinite;\n",
              "  }\n",
              "\n",
              "  @keyframes spin {\n",
              "    0% {\n",
              "      border-color: transparent;\n",
              "      border-bottom-color: var(--fill-color);\n",
              "      border-left-color: var(--fill-color);\n",
              "    }\n",
              "    20% {\n",
              "      border-color: transparent;\n",
              "      border-left-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "    }\n",
              "    30% {\n",
              "      border-color: transparent;\n",
              "      border-left-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "      border-right-color: var(--fill-color);\n",
              "    }\n",
              "    40% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "    }\n",
              "    60% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "    }\n",
              "    80% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "      border-bottom-color: var(--fill-color);\n",
              "    }\n",
              "    90% {\n",
              "      border-color: transparent;\n",
              "      border-bottom-color: var(--fill-color);\n",
              "    }\n",
              "  }\n",
              "</style>\n",
              "\n",
              "  <script>\n",
              "    async function quickchart(key) {\n",
              "      const quickchartButtonEl =\n",
              "        document.querySelector('#' + key + ' button');\n",
              "      quickchartButtonEl.disabled = true;  // To prevent multiple clicks.\n",
              "      quickchartButtonEl.classList.add('colab-df-spinner');\n",
              "      try {\n",
              "        const charts = await google.colab.kernel.invokeFunction(\n",
              "            'suggestCharts', [key], {});\n",
              "      } catch (error) {\n",
              "        console.error('Error during call to suggestCharts:', error);\n",
              "      }\n",
              "      quickchartButtonEl.classList.remove('colab-df-spinner');\n",
              "      quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n",
              "    }\n",
              "    (() => {\n",
              "      let quickchartButtonEl =\n",
              "        document.querySelector('#df-48de638f-454a-4c2d-9cc6-80456f15e685 button');\n",
              "      quickchartButtonEl.style.display =\n",
              "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "    })();\n",
              "  </script>\n",
              "</div>\n",
              "    </div>\n",
              "  </div>\n"
            ],
            "application/vnd.google.colaboratory.intrinsic+json": {
              "type": "dataframe",
              "variable_name": "temp",
              "summary": "{\n  \"name\": \"temp\",\n  \"rows\": 66231,\n  \"fields\": [\n    {\n      \"column\": \"viewCount\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 1328529.7898147278,\n        \"min\": 2.0,\n        \"max\": 86642355.0,\n        \"num_unique_values\": 60505,\n        \"samples\": [\n          527058.0,\n          47011.0,\n          61966.0\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"binary\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 0,\n        \"min\": 0,\n        \"max\": 1,\n        \"num_unique_values\": 2,\n        \"samples\": [\n          0,\n          1\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"discret_floor\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 132.85438744806694,\n        \"min\": 0.0,\n        \"max\": 8664.0,\n        \"num_unique_values\": 985,\n        \"samples\": [\n          56.0,\n          624.0\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"discret_quantile\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 1,\n        \"min\": 0,\n        \"max\": 3,\n        \"num_unique_values\": 4,\n        \"samples\": [\n          2,\n          0\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"log10\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 0.7204346083099966,\n        \"min\": 0.47712125471966244,\n        \"max\": 7.9377302532189224,\n        \"num_unique_values\": 60505,\n        \"samples\": [\n          5.721859233694926,\n          4.672208727480268\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    }\n  ]\n}"
            }
          },
          "metadata": {},
          "execution_count": 15
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "Q4NH3TbwHxW0"
      },
      "source": [
        "### デフォルトとログスケールとの比較"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "HoGcYWU8HxW1",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 648
        },
        "outputId": "e4a11890-72a0-4675-b2cc-fcf1b4221e05"
      },
      "source": [
        "fig, (ax1, ax2) = plt.subplots(2, 1, figsize=(10,10))\n",
        "fig.subplots_adjust(hspace=0.4)\n",
        "\n",
        "# default values\n",
        "temp['viewCount'].hist(ax=ax1, bins=100, log=True)\n",
        "ax1.tick_params(labelsize=fontsize)\n",
        "ax1.set_title('default', fontsize=fontsize)\n",
        "ax1.set_xlabel('viewCounts', fontsize=fontsize)\n",
        "ax1.set_ylabel('Freqency', fontsize=fontsize)\n",
        "\n",
        "# log-scaled\n",
        "temp['log10'].hist(ax=ax2, bins=100)\n",
        "ax2.tick_params(labelsize=fontsize)\n",
        "ax2.set_title('log10', fontsize=fontsize)\n",
        "ax2.set_xlabel('viewCounts', fontsize=fontsize)\n",
        "ax2.set_ylabel('Freqency', fontsize=fontsize)\n"
      ],
      "execution_count": 16,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "Text(0, 0.5, 'Freqency')"
            ]
          },
          "metadata": {},
          "execution_count": 16
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 1000x1000 with 2 Axes>"
            ],
            "image/png": "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nnnmGY0YMcLyrj4AgH0h3JWBxYsX64svvrD8WrFiha1LAgAUwZ/+9CcdOnRIjz32mH755RetXbtWSUlJ+r//+z+tWrUq3zFubm6KiYnRihUr1LNnT124cEFr167Vrl27dPPmTT399NNau3at/P39i1zHY489pr179yo4OFiXL1/Whg0b9NNPP2n69OnaunVrvq9qkKSaNWvqwIEDevbZZyVJW7du1blz5zRy5EgdPHhQHh4exT4na9as0dChQ5WSkqJVq1ZpyZIlWrlyZbH3AwAoeyZzcZfaQoH27Nmj7t2764svvlDnzp1tXQ4AAACASoSZOwAAAAAwAMOHu1OnTmnBggUKDQ1VmzZtVKVKFZlMpnwfjM/P6tWrFRQUpFq1asnFxUXt2rXT3LlzC32w/NFHH5Wjo6Pq1aunkSNHWlY9AwAAAICyYvj33C1atEhRUVElGjthwgRFRUWpSpUq6tGjh1xdXbVr1y69/PLL2rhxo2JiYlS9enVLfw8PD02ePFlBQUFydXXVoUOHFBkZqS+++EJxcXFydna21tcCAAAAgFwMH+5at26tKVOmqEOHDurYsaNmz56tf/3rX3cct27dOkVFRcnV1VV79+5Vx44dJUk///yzevToof379ysiIkJvvfWWZUyHDh3UoUMHy+egoCB17NhRvXv31r///W+FhoZa/fsBAAAAgFQJbsscMWKE5s2bp6FDh6pFixZycCjaV549e7YkKTw83BLsJMnT01PvvPOOJGnhwoW6fv16ofvp1auXateurcOHD5fwGwAAAADAnRk+3JXExYsXLWFs6NChedq7du0qb29vZWRkaMuWLUXap8lksmqNAAAAAHA7w9+WWRJHjx6VJNWuXVt+fn759gkICFBiYqKOHj2qIUOGFLiv7du36+rVq+rUqVOBfTIyMpSRkWH5nJ2dratXr6pOnTqEQgAAAKASM5vNSk1NVcOGDe94FyLhLh8JCQmSJB8fnwL7eHt75+orSc8884z8/Px07733ys3NTYcOHdKbb76p9u3b66mnnipwX5GRkZoxY4aVqgcAAABgNImJifLy8iq0D+EuH6mpqZIkFxeXAvu4urpKklJSUizbWrVqpRUrVigqKko3b96Ul5eXhg8frtdff11Vq1YtcF9Tp07VpEmTLJ+vX78uHx8fJSQkyM3NrbRfp1QyMzO1e/dude/e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aq9Ro4bat29vm+JQKVy5ckVff/21JGnWrFm5rkEHBwdNnz5d1atX17Vr13Ty5ElblVmpEe6Qy8WLF3X48GFJ0tChQ/O0d+3aVd7e3srIyNCWLVvKuzzAokOHDpKkxMREG1eCymLPnj1asGCBnn32WfXt29fW5aCSyczM1KJFiyRJf/nLX2xcDSqr4ryo3NPTswwrQUEId8jl6NGjkqTatWvLz88v3z4BAQG5+gK2cObMGUlSgwYNbFwJKoMbN27ohRdeUL169fT222/buhxUQkeOHNHPP/+shg0bqmnTpvrmm280Y8YMjRo1SuHh4dq8ebOys7NtXSYMztXV1XJHzauvvpprkb3s7GxNnz5dN2/eVJ8+feTt7W2rMiu1KrYuAPYlISFBkuTj41Ngn5wf1py+QHn74YcftHTpUknS448/bttiUClMmTJFCQkJWrt2rWrVqmXrclAJ5dwK5+XlpfDwcM2dO1fm29bEe/PNN9WhQwetW7eu0P+GA6X1z3/+U3379tX777+vzZs3KyAgQI6Ojjp69KguXryoYcOGaeHChbYus9Ji5g65pKamSpJcXFwK7OPq6ipJSklJKZeagNvdunVLzzzzjK5fv642bdpo1KhRti4JBhcTE6P33ntPTz31lAYOHGjrclBJXblyRdLvd828+eabGjt2rE6dOqXr168rNjZWzZo109GjR9WvXz9eWYQy1bx5c33xxRfq3bu3Ll68qPXr1+uzzz5TQkKCmjZtqqCgILm7u9u6zEqLcAegQhk9erR27typOnXq6NNPP1XVqlVtXRIM7Pr16xo+fLjq1q2rBQsW2LocVGI5s3SZmZkaMmSIFi5cqGbNmsnd3V09e/ZUbGysqlWrphMnTmjlypU2rhZGduDAAbVp00YnTpzQihUr9MMPP+jq1avauHGjMjMzNXz4cA0fPtzWZVZahDvk4ubmJklKS0srsM+NGzckib+VQbl76aWXtGTJEtWqVcvyN9VAWZowYYKSkpK0cOFCFgeATeX891lSvncs+Pj4qF+/fpJ+f08oUBauXbumQYMGKTk5WZ999pmGDBmievXqqVatWnrkkUe0bds21ahRQx988IF2795t63IrJZ65Qy6+vr6SCl+BMKctpy9QHiZPnqz58+erZs2aiomJsayWCZSltWvXqkqVKnrnnXcsr4LJ8e2330qSlixZoh07dqh+/frMmKDMNGnSJN/f59fn8uXL5VITKp/NmzcrOTlZ/v7+uu+++/K0N2nSRPfdd592796tHTt2qHv37jaosnIj3CGXnP9hvnLlihISEvJdMTMuLk6Scr0DDyhLf/3rX/X3v/9dHh4eiomJsazYCpSHW7duae/evQW2nz9/XufPn1fjxo3LsSpUNh07dpTJZJLZbNbPP/+c70qEP//8s6T/PRsPWNuFCxckFX73Vs47QK9evVouNSE3bstELl5eXgoMDJQkrVixIk/7/v37lZiYKGdnZ97zhHIRHh6uefPmycPDQ7GxsZbrEygP165dk9lszvfXc889J0maOXOmzGazzp8/b9tiYWj169dX165dJeV/22VmZqblLyE6depUrrWh8mjUqJGk3+9cuH79ep72zMxMHTlyRJIKfKUWyhbhDnlMmzZNkjRnzhzLD6j0+2ze2LFjJUnjxo2z/M0MUFZeffVVvfnmm6pZsybBDkCl9/rrr0uSIiMj9eWXX1q237p1S5MnT9Z3330nNzc3Pf/887YqEQbXp08fubi46ObNm/rzn/9sWYdBkn777TdNnDhRFy5ckJOTkwYPHmzDSisvbstEHgMHDtT48eM1f/58de7cWcHBwXJxcdHOnTt17do1denSRTNnzrR1mTC4DRs26I033pAkNW3aVNHR0fn28/T01FtvvVWepQGATQQHB2vmzJmKiIhQt27d1KlTJ9WvX19HjhzR+fPnVb16df373/9WvXr1bF0qDKpu3bp699139fzzz2v16tXas2ePAgMD5eTkpLi4OF28eFEODg6aP39+gc+GomyZzLe/ARO4zSeffKLo6GgdO3ZMmZmZ8vf31zPPPKOJEyey/DzK3NKlS4v0t8+NGzfmdjjYRGhoqJYtW6aZM2fq1VdftXU5qERiYmL09ttv69ChQ0pNTVX9+vUVHBysl19+WS1atLB1eagEjh8/rrffflv79u3TxYsXZTab1aBBA3Xt2lXjx4/n1mAbItwBAAAAgAHwzB0AAAAAGADhDgAAAAAMgHAHAAAAAAZAuAMAAAAAAyDcAQAAAIABEO4AAAAAwAAIdwAAAABgAIQ7AAAAADAAwh0AwJCCgoJkMpm0Z88eW5dSoJMnT2rSpEnq0KGD6tSpIycnJ9WpU0f333+/pk6dqpMnT9q6RABAEezbt0/9+/dXw4YNZTKZtG7dumKNnz59ukwmU55fLi4uxdoP4Q4AgHJ269YtTZw4Ua1bt9Y//vEPXbhwQYGBgQoJCVHnzp2VkJCgOXPmqHXr1lq4cKGtyy22PXv2yGQyKSgoyNalAEC5SEtLU7t27RQdHV2i8VOmTNHly5dz/WrZsqWeeOKJYu2nSomODgCAnfvoo4+Unp4uHx8fW5eSxzPPPKNVq1bJ3d1dUVFRGjZsmBwdHS3tZrNZsbGxmjp1qs6ePWvDSgEARdGnTx/16dOnwPaMjAy98sor+ve//61r166pdevWevPNNy1/Cebq6ipXV1dL/+PHjys+Pl7vvvtuseog3AEADMkeQ50kffDBB1q1apWcnJwUExOj++67L08fk8mk3r17q3v37oqLi7NBlQAAaxo3bpzi4+O1cuVKNWzYUGvXrtXDDz+sb775RnfffXee/osXL1azZs3UrVu3Yh2H2zIBAHbt22+/lclkUq1atfTrr78W2C8gIEAmk0nr16+XdOdn7nbu3KnHHntMDRo0UNWqVXXXXXdp0KBB+uKLL3L1M5vN8vT0lIODg65cuZKr7T//+Y/luYh33nknzzGaNGkik8mk7777zrKvN954Q5I0ZsyYfIPd7ZycnHT//ffn2f6f//xHISEhatiwoaX2/v37KzY2Nt/93Olc5DzrMX369AK3JycnKywsTN7e3qpataq8vb314osv6tq1a3mO1b17d0nS3r17cz074uvra+mXkZGhefPm6d5775Wbm5uqVq2q+vXrKzAwUH/961919erVQs8NAFQUFy5c0IcffqjVq1erW7du8vf315QpU9S1a1d9+OGHefr/+uuvWr58uYYPH17sYxHuAAB2rUWLFrr//vt17dq1Ah9Q/+abb/TVV1+pXr166tev3x33OWXKFPXs2VPr16+Xj4+PBg4cqCZNmmj9+vXq1q1brv/Ymkwm9ejRQ2azWTt37sy1nx07duT7e0n67rvvlJCQID8/PzVp0sRSZ07Qe+6554r0/f/on//8p+6//36tXr1a9evX1+DBg3X33Xdr06ZN6t27t2bMmFGi/RYmMTFRHTt21Jo1a9SpUyf16tVLqampWrhwoXr37q3MzExL34cfflgPPfSQJKlevXp67rnnLL8GDx4sScrOzla/fv3017/+VWfPnlW3bt00ePBgtWnTRsnJyZo3b54uXLhg9e8BALbwzTffKCsrS82aNbPcfunq6qq9e/fq3LlzefqvXbtWqampJfrvBLdlAgDs3gsvvKAvvvhCS5cu1VNPPZWnPSeMPfPMM6pSpfD/tP3zn//U3/72NzVt2lRr1qxR27ZtLW379u3TI488otGjR6tr166WW2V69uyp1atXa8eOHQoJCbH037Fjh6pWraomTZpo9+7dysrKsjw7lxP2evbsaemfc4tl1apVcx23qL755huNHTtWZrNZH330kYYNG2Zp27p1qwYOHKjp06frgQceUK9evYq9/4J88MEHCg0N1bvvvitnZ2dJvwe++++/X4cPH9ann36qIUOGSJLCw8PVuXNnbd++XS1atNDSpUvz7G///v3auXOnOnTooL1798rNzS1Xe1xcnLy9va1WPwDY0o0bN+To6Kivvvoq1/PVknI9Z5dj8eLFeuSRR1SvXr1iH4uZOwCA3XvyySdVo0YNxcbG6uLFi7naMjMz9fHHH0uSnn/++UL3k52dbbn1cOXKlXkC1oMPPqiIiAj99ttveu+99yzbcwLa7bNzN2/e1MGDB3X//ferf//+unbtWq7n4/ILd8nJyZKk2rVr3zGE5icqKkq3bt3SoEGDcgU76feH+UeOHClJmjdvXrH3XRgvLy9FR0dbgp0ky22ZUt5Zyzv58ccfJUndunXLE+yk32+xrVOnTikqBgD70aFDB2VlZemnn35S06ZNc/2qX79+rr4JCQnavXt3iW7JlAh3AIAKwM3NTYMHD1Z2drY++uijXG2bN29WcnKyOnXqpFatWhW6n6NHj+rSpUvy9/fXvffem2+fnJXLDh48aNnWpEkT+fn5KSEhwXILzeeff66MjAz16tUrT/gzm83atWuXTCaTgoODS/Sd85PzzFxoaGi+7Tn/M/D5558rKyvLascNDg5WjRo18my/5557JClP4L6Tjh07ytHRUR988IGio6N1+fJlq9QJALZy48YNHTt2TMeOHZP0e0g7duyYLly4oGbNmunpp5/Ws88+q88++0wJCQn6z3/+o8jISG3evDnXfj744AM1aNCg0JU3C0O4AwBUCC+88IIk5bnNL+eWzDvN2kmyPO927ty5fF8WazKZ1KlTJ0n/m2XL8ccAl/PPXr16qVu3bnJ2drZsO3r0qK5cuaL27dvnmoGqW7euJOnq1aslCl85IcrPzy/fdn9/f0m/P4z/x8Vf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U/Hx8crKytKAAQO0YMEC7gMrB/Hx8ZozZ4769eunXr16mR1OpXL//fdr+vTpSklJUWZmpv744w/Fx8erXbt2+u233/T4449r48aNZodpKWfOnJEkJScn691339Xw4cP1yy+/6Ny5c0pISNDdd9+t5ORk9ejRQ3a73eRoK4f58+dLurwy41ZZFmg1zZo10w8//KAuXbro+PHjWrlypZYvX67U1FQ1bdpUHTt2lLe3t9lhOlDcASh3L774otavX686deroyy+/lLu7u9khWdaoUaNkGIYuXbqkQ4cO6f3339c333yje++9l2cflbFz585p6NChuuOOOzRjxgyzw6l0Ro8erZEjR6pFixby8vLSnXfeqYiICG3dulV//etfZbfbNWrUKLPDtJTCWTq73a7+/ftr5syZuvvuu+Xt7a3w8HAlJCSoatWqSklJ0eLFi02O1voyMzP15ZdfSpKeffZZk6Oxrm3btqlVq1ZKSUlRXFycfv/9d509e1arV6+W3W7X0KFDb6klsRR3AMrVK6+8otjYWNWqVcvxk12UPzc3NzVp0kRjxozRN998o//7v//TwIEDdeHCBbNDs4xRo0bp2LFjmjlzJj8xv4XYbDZNnjxZkrR79242cCpDXl5eju+LW4ERGBioHj16SJLWrVtXYXFVVosXL1ZOTo78/f3VtWtXs8OxpIyMDEVGRurUqVNavny5+vfvL19fX9WqVUv/8R//oW+//VbVq1fX/PnztWHDBrPDlURxB6Acvfrqq/rwww/l4+Oj+Ph4x26ZqFgPPfSQ7r33XqWnpysxMdHscCxjxYoVqlKlij766CN17NjR6evbb7+VJMXGxqpjx47q16+fydFWLvfcc4/j+2PHjpkYibU0bty42O+LO+a3336rkJgqs8IlmVFRUWxiU07Wrl2rU6dOqXHjxsXuRHpl+63yAw02VAFQLl577TX993//t2rWrKn4+HiFhISYHVKl5unpKUk6efKkyZFYS15enjZt2lRif1pamtLS0tSwYcMKjAqF94ZJzrNNuDnBwcGy2WwyDEOnT58udnfA06dPS7q8yyDKz969e7Vjxw7ZbDYNGTLE7HAs6+jRo5J01XvqCu9nP3v2bIXEdC2U+QDK3Lhx4zR16lTVrFlTCQkJCg0NNTukSu306dPavXu3JLEstgxlZGTIMIxivwYPHixJmjJligzD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s0j/zp07jdOnT5eQBQBASZi5AwDc8p566ilVr15dCQkJOn78uFOf3W7Xp59+KkkaMmTIVc9TUFDgWHq4ePFi3XfffU79f/nLXzRx4kRdunRJc+bMcbSHh4dLcp6du3DhgrZv3662bduqZ8+eysjIcLo/rvDYwrGSdOrUKUlS7dq1VaVK6W97nz59uvLy8hQZGalBgwY59XXr1k3Dhg2TJE2dOrXU574af39/zZo1Sx4eHo62wmWZUtFZy2v5448/JElhYWHy8vIq0h8SEqI6dercRMQAUDlR3AEAbnleXl7q06ePCgoKtGjRIqe+tWvX6tSpU2rTpo1atGhx1fMkJyfrxIkTatKkiR588MFijyncvn/79u2OtsaNGysoKEipqak6fPiwJGnLli3Kzc1VREREkeLPMAx9//33stls6ty58w295+IU3jMXFRVVbP/QoUMdseXn55fZdTt37qzq1asXab/nnnskqUjBfS3BwcFydXXV/PnzNWvWLP32229lEicAVHYUdwCA28Kzzz4rSVqwYIFTe+H9cdeatZPkuN/t8OHDTht9XPnVpk0bSf+eZSv05wKu8NeIiAiFhYXJw8PD0ZacnKwzZ87ogQcecJqBuuOOOyRJZ8+evaHiq7CICgoKKra/SZMmkqSLFy8W2fzlZpS086i3t7fjeqXRpEkTTZs2TXa7XSNGjFD9+vXVqFEj9e/fX5999pkuXbp00zEDQGXEoxAAALeFv/zlL2rSpIkOHDig7du3q127djp58qS+/vprVa1aVf369bvmOQoKCiRJfn5+jk0/SlK3bl2n1+Hh4Zo3b54SEhL0wgsvaN26dapVq5ZCQkLk4uKidu3aadu2bcrJySl2SaYkx2zhpUuXtHv3bgUHB1/3+y9PhXkpiYtL2f8s+OWXX1bfvn21atUqbd26VVu3btXixYu1ePFiTZo0SVu2bFG9evXK/LoAYGUUdwCA24LNZlNUVJQmTpyoTz75RO3atdOnn36qvLw89e3bVz4+Ptc8R0BAgCSpTp06RWYAr6Vz586y2WzasGGDTp48qV27dikyMtJR+ISHh2vDhg3avHlzicXdfffd51jeuXDhwlIXdw0aNNDhw4d15MgRtWzZskh/4cxk1apVVbt2bUe7u7u7JCkrK6vY8/7666+liqOs+Pr66vnnn9fzzz8v6fJjL5599ln98MMPGjdunBYuXGhKXABwu2JZJgDgthEVFSUXFxctXbpUOTk5pVqSKUmhoaGqW7eu9u7dq//93/8t1bXr1KmjBx54QGfPntXUqVNlGIYiIiIc/YWF3Jo1a7R161Z5eHgoLCzM6Rw2m00TJkyQJM2ePVs//fTTVa+Zl5enH3/80fG68H7AkgrT+fPnS7q8UcmVG7Y0aNBAkrRv374iY3JycrRhw4arxlFahcVkXl5eqcY1b95cr7/+uiRp165dZRoTAFQGFHcAgNuGv7+/IiIilJmZqQkTJiglJUWBgYHq1KnTdY13c3PTpEmTZBiGIiMjtXXr1iLH5Ofn6/vvv3cqqgoVFnAzZ86UJKfiLiQkRD4+PoqNjdWFCxfUrl07VatWrcg5nnvuOfXp00d2u10RERFauHBhkfvvCjdkadeunRYvXuxof+WVV1SlShV99dVXjh1CC8XHxzt2+Bw7dmyxcc+aNctp85Ps7GwNGzZM6enpxWTrxvn7+0uSDh486PQMvELff/+9vv766yJ9hmFozZo1kqSGDRuWaUwAUBmwLBMAcFsZMmSIvvvuO02fPl3Sv2fzrteIESN09OhRTZ06VWFhYWrRooWaNm2qatWq6ffff9euXbuUkZGh2bNn6+GHH3YaGx4erqlTp+rixYsKCgpybGAiXb4v7dFHH9WKFSscx5YkLi5Ofn5+mjVrlqKiovTqq68qNDRUtWvX1rlz55SUlKTffvtNrq6uTjtjtmrVSrNmzdLf/vY3DRo0SNOmTVPz5s3166+/avv27TIMQ9HR0erSpYvT9fr27asPPvhAiYmJatGihTp06KCCggIlJibK3d1dzz77rGPWrywEBgYqJCREiYmJatWqlUJCQlS1alXVrVtX77zzjvbs2aPRo0fL29tbwcHBql+/vi5cuKCkpCT9+uuvqlmzpv7rv/6rzOIBgMqCmTsAwG2lV69ejvvJCu/DK6333ntP27Zt09NPP63z58/r22+/1dq1a3XixAl17NhR//M//6OnnnqqyLjCXTGl4ou3K9uuVty5ublpxowZSklJ0SuvvCJ/f3/9+OOPWrp0qbZv367AwEBNmDBB+/bt0/Dhw53GDhs2TNu3b1efPn104sQJLV26VPv371f37t0VHx+vSZMmFXu9hIQEjRgxQl5eXoqPj9eePXsUGRmppKQkx72IZWnZsmUaMGCAMjMztWTJEsXGxjpmIXv27Kno6GiFhobqyJEjWr58uTZu3KiaNWtq3LhxSklJ0QMPPFDmMQGA1dkMwzDMDgIAAAAAcHOYuQMAAAAAC6C4AwAAAAALoLgDAAAAAAuguAMAAAAAC6C4AwAAAAALoLgDAAAAAAuguAMAAAAAC6C4AwAAAAALoLgDAAAAAAuguAMAAAAAC6C4AwAAAAALoLgDAAAAAAv4/0P//gqM4MgqAAAAAElFTkSuQmCC\n"
          },
          "metadata": {}
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "34FHK1_5HxW1"
      },
      "source": [
        "### 手法5：標準化(standardization)\n",
        "- [5.3.1. Standardization, or mean removal and variance scaling](https://scikit-learn.org/stable/modules/preprocessing.html)\n",
        "- [sklearn.preprocessing.StandardScaler](https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.StandardScaler.html#sklearn.preprocessing.StandardScaler)"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "BgF53riYHxW1",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 221
        },
        "outputId": "b6738458-f39b-4a73-c307-b705430c458a"
      },
      "source": [
        "from sklearn import preprocessing\n",
        "\n",
        "data = np.array(df['viewCount'].values, dtype='float64')\n",
        "data = data.reshape(len(data), 1)\n",
        "new_column = preprocessing.scale(data)\n",
        "temp['standardization'] = new_column\n",
        "temp.head()"
      ],
      "execution_count": 17,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "   viewCount  binary  discret_floor  discret_quantile     log10  \\\n",
              "0  2244205.0       1          224.0                 3  6.351063   \n",
              "1  1869268.0       1          186.0                 3  6.271672   \n",
              "2  1724625.0       1          172.0                 3  6.236695   \n",
              "3  1109029.0       1          110.0                 3  6.044943   \n",
              "4  1759797.0       1          175.0                 3  6.245463   \n",
              "\n",
              "   standardization  \n",
              "0         1.346854  \n",
              "1         1.064632  \n",
              "2         0.955757  \n",
              "3         0.492387  \n",
              "4         0.982231  "
            ],
            "text/html": [
              "\n",
              "  <div id=\"df-6259806f-be10-40c7-a72a-662109ebb6dd\" class=\"colab-df-container\">\n",
              "    <div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>viewCount</th>\n",
              "      <th>binary</th>\n",
              "      <th>discret_floor</th>\n",
              "      <th>discret_quantile</th>\n",
              "      <th>log10</th>\n",
              "      <th>standardization</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>2244205.0</td>\n",
              "      <td>1</td>\n",
              "      <td>224.0</td>\n",
              "      <td>3</td>\n",
              "      <td>6.351063</td>\n",
              "      <td>1.346854</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>1869268.0</td>\n",
              "      <td>1</td>\n",
              "      <td>186.0</td>\n",
              "      <td>3</td>\n",
              "      <td>6.271672</td>\n",
              "      <td>1.064632</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2</th>\n",
              "      <td>1724625.0</td>\n",
              "      <td>1</td>\n",
              "      <td>172.0</td>\n",
              "      <td>3</td>\n",
              "      <td>6.236695</td>\n",
              "      <td>0.955757</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>3</th>\n",
              "      <td>1109029.0</td>\n",
              "      <td>1</td>\n",
              "      <td>110.0</td>\n",
              "      <td>3</td>\n",
              "      <td>6.044943</td>\n",
              "      <td>0.492387</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>4</th>\n",
              "      <td>1759797.0</td>\n",
              "      <td>1</td>\n",
              "      <td>175.0</td>\n",
              "      <td>3</td>\n",
              "      <td>6.245463</td>\n",
              "      <td>0.982231</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>\n",
              "    <div class=\"colab-df-buttons\">\n",
              "\n",
              "  <div class=\"colab-df-container\">\n",
              "    <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-6259806f-be10-40c7-a72a-662109ebb6dd')\"\n",
              "            title=\"Convert this dataframe to an interactive table.\"\n",
              "            style=\"display:none;\">\n",
              "\n",
              "  <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n",
              "    <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n",
              "  </svg>\n",
              "    </button>\n",
              "\n",
              "  <style>\n",
              "    .colab-df-container {\n",
              "      display:flex;\n",
              "      gap: 12px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert {\n",
              "      background-color: #E8F0FE;\n",
              "      border: none;\n",
              "      border-radius: 50%;\n",
              "      cursor: pointer;\n",
              "      display: none;\n",
              "      fill: #1967D2;\n",
              "      height: 32px;\n",
              "      padding: 0 0 0 0;\n",
              "      width: 32px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert:hover {\n",
              "      background-color: #E2EBFA;\n",
              "      box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "      fill: #174EA6;\n",
              "    }\n",
              "\n",
              "    .colab-df-buttons div {\n",
              "      margin-bottom: 4px;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert {\n",
              "      background-color: #3B4455;\n",
              "      fill: #D2E3FC;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert:hover {\n",
              "      background-color: #434B5C;\n",
              "      box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
              "      filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
              "      fill: #FFFFFF;\n",
              "    }\n",
              "  </style>\n",
              "\n",
              "    <script>\n",
              "      const buttonEl =\n",
              "        document.querySelector('#df-6259806f-be10-40c7-a72a-662109ebb6dd button.colab-df-convert');\n",
              "      buttonEl.style.display =\n",
              "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "\n",
              "      async function convertToInteractive(key) {\n",
              "        const element = document.querySelector('#df-6259806f-be10-40c7-a72a-662109ebb6dd');\n",
              "        const dataTable =\n",
              "          await google.colab.kernel.invokeFunction('convertToInteractive',\n",
              "                                                    [key], {});\n",
              "        if (!dataTable) return;\n",
              "\n",
              "        const docLinkHtml = 'Like what you see? Visit the ' +\n",
              "          '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
              "          + ' to learn more about interactive tables.';\n",
              "        element.innerHTML = '';\n",
              "        dataTable['output_type'] = 'display_data';\n",
              "        await google.colab.output.renderOutput(dataTable, element);\n",
              "        const docLink = document.createElement('div');\n",
              "        docLink.innerHTML = docLinkHtml;\n",
              "        element.appendChild(docLink);\n",
              "      }\n",
              "    </script>\n",
              "  </div>\n",
              "\n",
              "\n",
              "<div id=\"df-2bb826fe-eca4-42d9-84b3-edd22270055a\">\n",
              "  <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-2bb826fe-eca4-42d9-84b3-edd22270055a')\"\n",
              "            title=\"Suggest charts\"\n",
              "            style=\"display:none;\">\n",
              "\n",
              "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
              "     width=\"24px\">\n",
              "    <g>\n",
              "        <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n",
              "    </g>\n",
              "</svg>\n",
              "  </button>\n",
              "\n",
              "<style>\n",
              "  .colab-df-quickchart {\n",
              "      --bg-color: #E8F0FE;\n",
              "      --fill-color: #1967D2;\n",
              "      --hover-bg-color: #E2EBFA;\n",
              "      --hover-fill-color: #174EA6;\n",
              "      --disabled-fill-color: #AAA;\n",
              "      --disabled-bg-color: #DDD;\n",
              "  }\n",
              "\n",
              "  [theme=dark] .colab-df-quickchart {\n",
              "      --bg-color: #3B4455;\n",
              "      --fill-color: #D2E3FC;\n",
              "      --hover-bg-color: #434B5C;\n",
              "      --hover-fill-color: #FFFFFF;\n",
              "      --disabled-bg-color: #3B4455;\n",
              "      --disabled-fill-color: #666;\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart {\n",
              "    background-color: var(--bg-color);\n",
              "    border: none;\n",
              "    border-radius: 50%;\n",
              "    cursor: pointer;\n",
              "    display: none;\n",
              "    fill: var(--fill-color);\n",
              "    height: 32px;\n",
              "    padding: 0;\n",
              "    width: 32px;\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart:hover {\n",
              "    background-color: var(--hover-bg-color);\n",
              "    box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "    fill: var(--button-hover-fill-color);\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart-complete:disabled,\n",
              "  .colab-df-quickchart-complete:disabled:hover {\n",
              "    background-color: var(--disabled-bg-color);\n",
              "    fill: var(--disabled-fill-color);\n",
              "    box-shadow: none;\n",
              "  }\n",
              "\n",
              "  .colab-df-spinner {\n",
              "    border: 2px solid var(--fill-color);\n",
              "    border-color: transparent;\n",
              "    border-bottom-color: var(--fill-color);\n",
              "    animation:\n",
              "      spin 1s steps(1) infinite;\n",
              "  }\n",
              "\n",
              "  @keyframes spin {\n",
              "    0% {\n",
              "      border-color: transparent;\n",
              "      border-bottom-color: var(--fill-color);\n",
              "      border-left-color: var(--fill-color);\n",
              "    }\n",
              "    20% {\n",
              "      border-color: transparent;\n",
              "      border-left-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "    }\n",
              "    30% {\n",
              "      border-color: transparent;\n",
              "      border-left-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "      border-right-color: var(--fill-color);\n",
              "    }\n",
              "    40% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "    }\n",
              "    60% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "    }\n",
              "    80% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "      border-bottom-color: var(--fill-color);\n",
              "    }\n",
              "    90% {\n",
              "      border-color: transparent;\n",
              "      border-bottom-color: var(--fill-color);\n",
              "    }\n",
              "  }\n",
              "</style>\n",
              "\n",
              "  <script>\n",
              "    async function quickchart(key) {\n",
              "      const quickchartButtonEl =\n",
              "        document.querySelector('#' + key + ' button');\n",
              "      quickchartButtonEl.disabled = true;  // To prevent multiple clicks.\n",
              "      quickchartButtonEl.classList.add('colab-df-spinner');\n",
              "      try {\n",
              "        const charts = await google.colab.kernel.invokeFunction(\n",
              "            'suggestCharts', [key], {});\n",
              "      } catch (error) {\n",
              "        console.error('Error during call to suggestCharts:', error);\n",
              "      }\n",
              "      quickchartButtonEl.classList.remove('colab-df-spinner');\n",
              "      quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n",
              "    }\n",
              "    (() => {\n",
              "      let quickchartButtonEl =\n",
              "        document.querySelector('#df-2bb826fe-eca4-42d9-84b3-edd22270055a button');\n",
              "      quickchartButtonEl.style.display =\n",
              "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "    })();\n",
              "  </script>\n",
              "</div>\n",
              "    </div>\n",
              "  </div>\n"
            ],
            "application/vnd.google.colaboratory.intrinsic+json": {
              "type": "dataframe",
              "variable_name": "temp",
              "summary": "{\n  \"name\": \"temp\",\n  \"rows\": 66231,\n  \"fields\": [\n    {\n      \"column\": \"viewCount\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 1328529.7898147278,\n        \"min\": 2.0,\n        \"max\": 86642355.0,\n        \"num_unique_values\": 60505,\n        \"samples\": [\n          527058.0,\n          47011.0,\n          61966.0\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"binary\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 0,\n        \"min\": 0,\n        \"max\": 1,\n        \"num_unique_values\": 2,\n        \"samples\": [\n          0,\n          1\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"discret_floor\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 132.85438744806694,\n        \"min\": 0.0,\n        \"max\": 8664.0,\n        \"num_unique_values\": 985,\n        \"samples\": [\n          56.0,\n          624.0\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"discret_quantile\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 1,\n        \"min\": 0,\n        \"max\": 3,\n        \"num_unique_values\": 4,\n        \"samples\": [\n          2,\n          0\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"log10\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 0.7204346083099966,\n        \"min\": 0.47712125471966244,\n        \"max\": 7.9377302532189224,\n        \"num_unique_values\": 60505,\n        \"samples\": [\n          5.721859233694926,\n          4.672208727480268\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"standardization\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 1.0000075494203933,\n        \"min\": -0.3423971445288709,\n        \"max\": 64.87481346211443,\n        \"num_unique_values\": 60505,\n        \"samples\": [\n          0.054327101331522486,\n          -0.3070126501418395\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    }\n  ]\n}"
            }
          },
          "metadata": {},
          "execution_count": 17
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "D4yz6nZwHxW1",
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "outputId": "be88fff5-58f0-4b19-d59e-1d903c05a999"
      },
      "source": [
        "mean = np.mean(new_column)\n",
        "var = np.var(new_column)\n",
        "print('mean = ', mean, ', var = ', var)\n",
        "\n",
        "temp['standardization'].describe()\n"
      ],
      "execution_count": 18,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "mean =  1.2873900181367037e-17 , var =  1.0\n"
          ]
        },
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "count    6.623100e+04\n",
              "mean     1.287390e-17\n",
              "std      1.000008e+00\n",
              "min     -3.423971e-01\n",
              "25%     -3.128985e-01\n",
              "50%     -2.508795e-01\n",
              "75%     -7.780379e-02\n",
              "max      6.487481e+01\n",
              "Name: standardization, dtype: float64"
            ]
          },
          "metadata": {},
          "execution_count": 18
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "8g1V_ZYO2zoY",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 672
        },
        "outputId": "23988e8a-2ac3-46e3-e834-1ccad317d8ba"
      },
      "source": [
        "fig, (ax1, ax2) = plt.subplots(2, 1, figsize=(10,10))\n",
        "fig.subplots_adjust(hspace=0.4)\n",
        "\n",
        "# default values\n",
        "temp['viewCount'].hist(ax=ax1, bins=100, log=True)\n",
        "ax1.tick_params(labelsize=fontsize)\n",
        "ax1.set_title('default', fontsize=fontsize)\n",
        "ax1.set_xlabel('viewCounts', fontsize=fontsize)\n",
        "ax1.set_ylabel('Freqency', fontsize=fontsize)\n",
        "\n",
        "# log-scaled\n",
        "ax2.set_title('standaridization', fontsize=fontsize)\n",
        "ax2.set_xlabel('viewCounts', fontsize=fontsize)\n",
        "ax2.set_ylabel('Freqency (log)', fontsize=fontsize)\n",
        "temp['standardization'].hist(ax=ax2, bins=100, log=True)\n",
        "#plt.hist(temp['standardization'], bins=100, log=True)"
      ],
      "execution_count": 19,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "<Axes: title={'center': 'standaridization'}, xlabel='viewCounts', ylabel='Freqency (log)'>"
            ]
          },
          "metadata": {},
          "execution_count": 19
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 1000x1000 with 2 Axes>"
            ],
            "image/png": "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odq1a2vkyJF64oknVL16dVvf7t27q2vXrmrZsqXWr19v79AFunDhgiTJ19e30D5+fn622nO1bdtWn376qS2ohYWFadSoUYqJiZGXl1eh2xo/frxiYmJsn9PS0hQSEqKePXsqICDArn2xV1ZWltasWaMJO9yUmWNx2HZ/mtTLYdtCxZB7Lvbo0UOenp5ml4MKivMQroJzEa6Cc7H0/TFvFMWuUDZy5EjNnz9f6enpMgxDt956q8aMGaOBAwfK3d29wHXc3NwUERGh//znP/YM7XBTpkzRlClTrns9b29veXt751vu6enpMid3Zo5FmdmOC2Wusl8oe1zp9wUqLs5DuArORbgKzsXSU9zv1a5Q9s4778jLy0uDBw/W008/rYiIiGKtd9ttt8kwHPucUy5/f39JUnp6eqF9Ll68KEkOvZJltVpltVqZPh8AAADAdbErlL300ksaOXKkgoODr2u9oUOHaujQofYMXaiwsDBJUkpKSqF9ctty+zpCdHS0oqOjlZaWpsDAQIdtFwAAAED5ZteU+JMmTbruQFbaWrVqJUk6c+ZMnok8/mjHjh2SlOcdZgAAAABgBruulP3222/68ccfVb9+fdWuXbvAPseOHdPBgwfVvHlzValSxZ7hiqVOnTqKjIzU9u3btWDBAr3wwgt52jdv3qyUlBR5e3urT58+Dhu3It2+GBa7otC2Q1P7OrESAAAAoOyz60pZXFycunTpouPHjxfa5/jx4+rSpYusVqs9Q12X559/XpI0depU7dq1y7b8zJkzGjVqlCRp9OjRDr3NMDo6WklJSbYXVwMAAABAcdgVylauXKl69eoVOcFHRESEwsPDtXz58uve/q5du9S+fXvbz4oVV6/QvPPOO3mW/zkU9u/fX2PGjNHFixfVvn179e7dWwMHDlSDBg30448/qmPHjiWaaREAAAAAHM2u2xcPHTqktm3bXrNf48aNbc9xXY+0tDRt27Yt3/KjR4/q6NGjts+ZmZn5+sTFxaljx46yWq3asmWLsrKyVL9+fcXGxmrs2LFFvnsMAAAAAJzFrlBW3JkGAwICdO7cueveflRUlF1T5w8aNEiDBg0q8frXoyI9UwYAAADAcey6ffGGG27Qvn37rtlv//79qlatmj1DuTyeKQMAAABQEnaFsvbt22v37t3atGlToX2+/fZbJSYmqn379vYMBQAAAADl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1ls1fvx47d271+wSAQDFsGnTJt11112qVauWLBaLli5del3rT5o0SRaLJd+Pr6/vdW2HUAYAQDFduXJFY8eOVdOmTfXPf/5TR44cUWRkpAYNGqT27dsrOTlZU6dOVdOmTTV79myzy71uGzdulMViUVRUlNmlAIBTpKenq0WLFrJarSVaf9y4cTp+/HienyZNmui+++67ru14lGh0AABKyccff6yMjAyFhoaaXUo+Dz30kBYtWqSAgADFxcXp4Ycflru7u63dMAytWbNG48eP188//2xipQCA4ujdu7d69+5daHtmZqZeeOEF/etf/9K5c+fUtGlTvf7667Z/vPLz85Ofn5+t/549e5SUlKS33377uuoglAEAXIorhjFJ+uCDD7Ro0SJ5enoqISFB7dq1y9fHYrGoZ8+e6tKli3bs2GFClQAARxo9erSSkpK0cOFC1apVS/Hx8brjjjv0448/6qabbsrX//3331fDhg3VuXPn6xqH2xcBAKVi3759slgsqlq1qn7//fdC+0VERMhisWjZsmWSrv1M2bp163TPPfeoZs2a8vLy0o033qgBAwZo69atefoZhqGgoCC5ubnpzJkzedp++OEH233/b731Vr4x6tWrJ4vFol9++cW2rVdeeUWSNHLkyAID2R95enrq1ltvzbf8hx9+0KBBg1SrVi1b7XfddZfWrFlT4Hau9V3kPsswadKkQpenpqYqOjpaISEh8vLyUkhIiJ566imdO3cu31hdunSRJH3zzTd5no0ICwuz9cvMzNT06dPVpk0b+fv7y8vLSzVq1FBkZKT+9re/6ezZs0V+NwBQVhw5ckQffvihFi9erM6dO6t+/foaN26cOnXqpA8//DBf/99//13z58/XY489dt1jEcoAAKWicePGuvXWW3Xu3LlCH5z+8ccftXPnTgUHB6tv377X3Oa4cePUvXt3LVu2TKGhoerfv7/q1aunZcuWqXPnznn+krRYLOratasMw9C6devybGft2rUF/lqSfvnlFyUnJys8PFz16tWz1Zkb0IYMGVKs/f+z9957T7feeqsWL16sGjVqaODAgbrpppu0fPly9ezZU5MnTy7RdouSkpKi1q1ba8mSJWrbtq169OihCxcuaPbs2erZs6eysrJsfe+44w716tVLkhQcHKwhQ4bYfgYOHChJysnJUd++ffW3v/1NP//8szp37qyBAweqWbNmSk1N1fTp03XkyBGH7wcAmOHHH39Udna2GjZsaLtN0c/PT998840OHjyYr398fLwuXLhQor8nuH0RAFBqhg0bpq1bt2revHl64IEH8rXnhqiHHnpIHh5F/5X03nvv6R//+IcaNGigJUuWqHnz5ra2TZs26c4779STTz6pTp062W4p6d69uxYvXqy1a9dq0KBBtv5r166Vl5eX6tWrpw0bNig7O9v2bFhuSOvevbutf+6tiF5eXnnGLa4ff/xRo0aNkmEY+vjjj/Xwww/b2r7++mv1799fkyZNUocOHdSjR4/r3n5hPvjgAw0dOlRvv/22vL29JV0Narfeequ2b9+uzz//XA8++KAkKTY2Vu3bt9fq1avVuHFjzZs3L9/2Nm/erHXr1qlVq1b65ptv5O/vn6d9x44dCgkJcVj9AGCmixcvyt3dXTt37szz/LCkPM+R5Xr//fd15513Kjg4+LrH4koZAKDU3H///fLx8dGaNWt07NixPG1ZWVn69NNPJUmPPvpokdvJycmx3aK3cOHCfMHotttu04QJE3T58mW98847tuW5weqPV8MuXbqkLVu26NZbb9Vdd92lc+fO5Xn+q6BQlpqaKkmqVq3aNcNjQeLi4nTlyhUNGDAgTyCTrj5kPmLECEnS9OnTr3vbRalTp46sVqstkEmy3b4o5b9KeC0nT56UJHXu3DlfIJOu3opavXp1OyoGANfRqlUrZWdn69SpU2rQoEGenxo1auTpm5ycrA0bNpTo1kWJUAYAKEX+/v4aOHCgcnJy9PHHH+dpW7FihVJTU9W2bVvdcsstRW4nMTFRv/76q+rXr682bdoU2Cd3JqwtW7bYltWrV0/h4eFKTk623Wry7bffKjMzUz169MgX2gzD0Pr162WxWNStW7cS7XNBcp8JGzp0aIHtuX+Jf/vtt8rOznbYuN26dZOPj0++5TfffLMk5QvK19K6dWu5u7vrgw8+kNVq1fHjxx1SJwCY5eLFi9q9e7d2794t6Wq42r17t44cOaKGDRvqL3/5ix555BF98cUXSk5O1g8//KDXXntNK1asyLOdDz74QDVr1ixyJseiEMoAAKVq2LBhkpTvdrjcWxevdZVMku15roMHDxb4kk6LxaK2bdtK+t9VrVx/Dl65/+3Ro4c6d+4sb29v27LExESdOXNGLVu2zHPF54YbbpAknT17tkShKTf8hIeHF9hev359SVcfEv/zpCT2KGwmy4CAANt416N+/fr65z//qaysLI0ePVq1atVSWFiYHnzwQc2fP1+XL1+2u2YAcKYdO3aoVatWatWqlSQpJiZGrVq10ksvvSTp6t9VjzzyiJ599lk1atRI/fv31/bt2/P8+ZqTk6N58+Zp6NCh+W5zLC6eKQMAlKrbbrtN9evX13//+19t2bJFHTp00KlTp7Ry5UpVqlSpwGfN/iwnJ0eSVKNGDdtkFIUJCgrK87l79+567733tGbNGj3xxBNau3atqlatqoiICLm5ualDhw767rvvlJGRUeCti5JsV+cuX76sPXv2qHXr1sXe/9KU+70Uxs3N8f/2+tRTT2nQoEH68ssvtXnzZm3evFkLFy7UwoULNXHiRH377beqWbOmw8cFgNIQFRUlwzAKbff09NTkyZOLnIzJzc1NKSkpdtVBKAMAlCqLxaKhQ4dqwoQJ+vDDD9WhQwd9+umnunLligYNGqQqVapccxu5k0dUr169wAkoitKtWzdZLBZt2LBBp06d0u7duzVgwABbYOnevbs2bNigTZs2FRrKmjdvbrsN8qOPPrruUFa7dm0dPHhQv/zyi5o2bZqvPfdKYKVKlVStWjXbci8vL0nShQsXCtzu4cOHr6sORwkODtbjjz+uxx9/XNLV1x/kTuoSGxurjz76yJS6AKCs4vZFAECpGzp0qNzc3PTZZ58pIyPjum5dlKTIyEgFBQUpKSlJ//nPf65r7OrVq6tly5Y6e/aspk+fLsMw8sxwmBvAli9frs2bN8vb2zvfSz8tFouef/55SdKcOXP0ww8/FDnmlStX9P3339s+5z7vVlig/OCDDyRdnUDjjxOJ1K5dW5K0d+/efOtkZGRow4YNRdZxvXJD4JUrV65rvcaNG+u5556TJNtzGQCA4iOUAQBKXZ06ddSjRw+lpaXp+eef108//aTQ0FB17dq1WOt7enpq4sSJMgxDAwYM0ObNm/P1yc7O1vr16/OEoVy5wWv27NmSlCeURUREqEqVKpo7d64uXbqkDh06qHLlyvm2MXz4cA0cOFBZWVnq0aOHPvroo3zPl+VOFNKhQwctXLjQtvzpp5+Wh4eHli5daptxMldCQoJtxshx48YVWLfVas0zKUd6erpGjBhh9+0yf1anTh1J0oEDB/K8wyzX+vXrtXLlynxthmFo+fLlkqS6des6tCYAqAi4fREA4BSPPvqoVq9erbi4OEn/u3pWXKNHj9aRI0c0ffp0de7cWbfccosaNGigypUr68SJE9q9e7fOnTunOXPmqH379nnW7d69u6ZPn67ff/9d4eHhtok1pKvPAnTp0kXx8fG2voVZsGCBatSoIavVqqFDh+rZZ59VZGSkqlWrpvPnz2vXrl06fvy43N3d88y02KxZM1mtVo0cOVIPP/yw/vnPf6px48Y6fPiwtmzZIsMwNGnSJPXs2TPPeIMGDdKMGTO0Y8cO3XLLLerUqZNycnK0Y8cOeXl5adiwYbarbI4QGhqqiIgI7dixQ82aNVNERIQqVaqkoKAgTZ06Vf/+9781duxYBQQEqHXr1qpVq5YuXbqkXbt26fDhwwoMDNTf//53h9UDABUFV8oAAE7Rv39/2/NSuc+ZXa9p06bpu+++01/+8hddvHhRq1at0ooVK/Trr78qKipK77//vu6///586+XOsigVHLr+uKyoUObp6alZs2bpp59+0tNPP606dero+++/12effaYtW7YoNDRUzz//vPbu3atRo0blWXfEiBHasmWLBg4cqF9//VWfffaZ9u3bpz59+ighIUETJ04scLw1a9Zo9OjR8vf3V0JCgv79739rwIAB2rVrV6m8qHnJkiUaPHiw0tLStGjRIs2dO9d21e+uu+7SpEmTFBkZqV9++UVffPGFNm7cqMDAQMXGxuqnn35Sy5YtHV4TAJR3FqOo6UYAAAAAAKWKK2UAAAAAYCJCGQAAAACYiFAGAAAAACYilAEAAACAiQhlAAAAAGAiQhkAAAAAmIhQBgAAAAAmIpQBAAAAgIkIZQAAAABgIkIZAAAAAJiIUAYAAAAAJiKUAQAAAICJCGUAAAAAYCJCGQAAAACYiFAGAAAAACYilAEAAACAiQhlAAAAAGAiQhkAAAAAmIhQBgAAAAAmIpQBAAAAgIkIZQAAAABgIkIZAAAAAJiIUAYAAAAAJiKUAQAAAICJCGUAAAAAYCJCGQAAAACYiFAGAAAAACYilAEAAACAiQhlAAAAAGAiQhkAAAAAmIhQBgAAAAAmIpQBAAAAgIkIZQAAAABgIkIZAAAAAJiIUAYAAAAAJiKUAQAAAICJCGUAAAAAYCJCGQAAAACYiFAGAAAAACYilAEAAACAiQhlAAAAAGAiQhkAAAAAmIhQBgAAAAAmIpQBAAAAgIkIZQAAAABgIkIZAAAAAJiIUAYAAAAAJiKUAQAAAICJCGUAAAAAYCJCGQAAAACYiFAGAAAAACYilAEAAACAiQhlAIByKSoqShaLRRs3bnT5MSdNmiSLxaJJkyblWT5v3jxZLBYNHTrUYTU6msVikcViMbsMACjTCGUAgGvauHGjLBaLoqKizC4FTmRGsAWAisjD7AIAACgvPv74Y2VkZCg0NNQh2xswYIDat2+vwMBAh2yvNOzdu9fsEgCgzCOUAQDgII4KY7kCAwNdOpBJUuPGjc0uAQDKPG5fBIAK7MCBAxo2bJjCw8Pl7e0tPz8/1a1bV3379tWHH34o6eotbF26dJEkffPNN7ZniCwWi8LCwmzbSk1N1cyZM9WnTx+Fh4ercuXKCggIUEREhF5//XX9/vvvBdbwx2eSlixZok6dOikgIEC+vr7q2LGjVq5cWWj9KSkpGjZsmGrWrKlKlSrppptu0gsvvKBLly4Vus7hw4f1+uuvq2vXrgoNDZW3t7eqVKmiTp066Z133lFOTk6+dQ4dOmTb3+zsbL355ptq1aqV/Pz88jxPVdTtfpcuXdKkSZN00003ydvbWzVr1tSQIUN05MiRQmst7JmyPx6Dwn7++HzahQsX9N577+mee+7RTTfdJF9fX/n6+qpZs2Z64YUXdO7cuTzbz71d9ZtvvpEkdenSJc+2582bl6+Wgpw9e1bPP/+8brnlFvn4+Mjf319t2rTRtGnTCjxGf7xNNisrS6+//rpuueUWVa5cWdWrV9c999zDlTkA5RJXygCggvrpp5/UsWNHpaWlqVGjRrrzzjvl7u6uo0ePatOmTTp27JgeffRR3XHHHapUqZJWr16t4OBg3XHHHbZtBAUF2X69evVqPf3006pdu7YaNGig9u3bKzU1Vdu2bVNsbKyWLVumDRs2yNvbu8B6Jk6cqClTpqhDhw7q06eP9u3bpy1btujOO+/UkiVLNGDAgDz99+3bp9tvv12nTp1SzZo11a9fP6Wnp+uf//ynNmzYUOh+f/LJJ5owYYLCw8PVsGFDdezYUcePH9fWrVv13XffKSEhQZ9//nmBQcMwDN1zzz1atWqVOnfurJtvvln/+c9/rvldZ2RkqFu3bvr+++/l6+urnj17qnLlylq9erVWrFihvn37XnMbfzRkyJBC2z777DNdunRJ7u7utmV79uzRiBEjdMMNN6hRo0Zq06aNfvvtN+3cuVOvvvqqPvvsM33//feqXr26JKlGjRoaMmSIVq1apZMnT6pXr16qUaOGbXsNGjS4Zo2//PKLunbtqsOHD+uGG25Qnz59lJWVpQ0bNui5557TokWLtHbtWlWtWjXfullZWerTp4+2bNmi2267TTfffLN++OEHxcfHa8OGDUpMTMzzDwIAUOYZAIAK6dFHHzUkGS+//HK+toyMDOObb76xfd6wYYMhybj99tsL3V5SUpKxdevWfMvPnj1r9OzZ05BkTJs2LV+7JEOSUaVKFeP777/P0zZx4kRDktGwYcN860VGRhqSjEGDBhmXLl2yLT98+LBRv35923Y3bNiQZ70ffvjB+PHHH/Nt79ixY0aLFi0MScZnn32Wpy05Odm2vTp16hj79+8v8Du4/fbbCxxz3LhxhiSjcePGxrFjx2zL09PTjbvvvtu27YkTJ+ZZ78MPPzQkGUOGDClwvD97/vnnDUlGo0aNjDNnztiWp6SkGGvXrjWys7Pz9E9PTzceeeQRQ5IxatSoYu/PH+XW/mft2rUzJBn9+vUzLl68aFt+6tQpo3Xr1oYkY/DgwXnWyT3PJBmtWrUyjh8/bmu7dOmS0atXL0OSMWLEiGt+FwBQlhDKAKCC6tOnjyHJ2LVr1zX7FieUFWX//v2GJCMyMjJfW+7/hM+cOTNf2++//24EBgYakowjR47Ylm/evNmQZPj6+hqnT5/Ot158fHyhoawoq1evNiQZ9913X57lfwxlH3/8caHrFxRiMjIyDH9/f0OS8fXXX+db5/jx40alSpXsDmXvvPOOIckIDg42fvnll2v2z5Wenm54eHgYN9xwQ7H2588KCmXffvutIcnw8fExTpw4kW+dHTt2GJIMNzc3IyUlxbY89zyzWCzG7t278633/fffG5KMevXqFXv/AKAs4PZFAKig2rZtq5UrV2rkyJGaPHmybr/9dlWqVMmubWZnZ2vjxo3asmWLjh8/rkuXLsm4+g+AkqT9+/cXuu5dd92Vb5m3t7fq1aunxMREHTt2TCEhIZJke2brjjvusN1y90d33323AgMDdf78+QLHyszMVEJCgrZv365Tp04pMzNThmHowoUL16zz3nvvLbStILt27dKFCxcUFBSU59bPXDVq1FDPnj315ZdfXtd2/2jFihUaNWqUfH19tXz5coWHhxfYb8uWLfr222915MgRZWRk2I6Ll5eXUlNT9dtvvxV4O+H1+uPxCQ4Oztfepk0btWjRQnv27NE333yjv/zlL3naQ0ND1aJFi3zr3XzzzZKkY8eO2V0jALgSQhkAVFB//etftXnzZq1du1Z33HGHPD091aJFC91222164IEHFBkZeV3bO3DggAYMGFDkM1ZpaWmFthU2c2FAQIAk5Zko5OjRo5JUaPjInZRjz549+dq+//573X///UVOsFFYnTfeeKN8fHwKXa8gubUW9QxUYftRHDt37tT9998vSVq0aJEiIiLy9Tl16pTuvfdebd68uchtpaWlOSSU5Yamovarfv362rNnT4EB61rnQmZmpt01AoArYfZFAKigfHx8tGbNGv3www/6+9//rm7duum///2v3nzzTbVt21bR0dHXtb2BAwfqP//5j+68805t2rRJp0+f1uXLl2UYRrH+J9rNrfT/SsrIyFD//v115MgRPfroo/rhhx909uxZXblyRYZh2K6Q5V5B+rPKlSuXeo3X49ChQ+rbt6/S09M1Z86cQicMGT58uDZv3qxbb71VCQkJOnnypO3YGIahmjVrSip8v53NGecCALgSrpQBQAUXGRlpuyp25coVLV26VI888ojeeustDRw40DYdflH27dunf//737rxxhsVHx8vD4+8f70cOHDAoTXXrl1b0tVQUpjDhw/nW7Zp0yadPHlSrVu31gcffJCv3dF1SsWrtai2wpw9e1a9e/fWyZMn9cILL+jxxx8vsF96erpWrlwpNzc3rVy5UlWqVMnXfuLEiesevyi5+/zLL78U2ie3LbcvAFRk/FMUAMDGw8NDAwcOVK9evSRJu3fvlnT1mSPpamgryNmzZyVJtWrVyhfIJOnTTz91aJ233367JGnVqlW2sf/oyy+/zPfurT/WWdjtcY6uU7r6/JSfn59Onz6thISEfO0nT54scHlRMjMzdffdd2vfvn165JFH9PLLLxfa9/z588rOzlZAQEC+QCZd3efCrpBd67gXJioqSpJsU+r/WWJionbv3i03Nzfddttt17VtACiPCGUAUEG99dZbBU5oceLECe3YsUOSVLduXUlSnTp1JF29kpSVlZVvnYYNG8rd3V0//vhjvhcnf/XVV/rnP//p0No7d+6s1q1b6+LFi4qOjs5ze2RK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\n"
          },
          "metadata": {}
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "arbdfRHDHxW2"
      },
      "source": [
        "### 手法6：min-maxスケーリング(Min-Max scalering)\n",
        "- [min-max scaler](https://scikit-learn.org/stable/modules/preprocessing.html#scaling-features-to-a-range)"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "3SmQVz5gHxW2",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 237
        },
        "outputId": "1afc4cbe-369b-4721-8ae6-4738069e2759"
      },
      "source": [
        "\"\"\"\n",
        "min = data.min(axis=0)\n",
        "max = data.max(axis=0)\n",
        "new_column = (data - min) / (max - min)\n",
        "temp['min-max'] = new_column\n",
        "temp.head()\n",
        "\"\"\"\n",
        "\n",
        "new_column = preprocessing.minmax_scale(df['viewCount'])\n",
        "temp['min-max'] = new_column\n",
        "temp.head()"
      ],
      "execution_count": 20,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "   viewCount  binary  discret_floor  discret_quantile     log10  \\\n",
              "0  2244205.0       1          224.0                 3  6.351063   \n",
              "1  1869268.0       1          186.0                 3  6.271672   \n",
              "2  1724625.0       1          172.0                 3  6.236695   \n",
              "3  1109029.0       1          110.0                 3  6.044943   \n",
              "4  1759797.0       1          175.0                 3  6.245463   \n",
              "\n",
              "   standardization   min-max  \n",
              "0         1.346854  0.025902  \n",
              "1         1.064632  0.021575  \n",
              "2         0.955757  0.019905  \n",
              "3         0.492387  0.012800  \n",
              "4         0.982231  0.020311  "
            ],
            "text/html": [
              "\n",
              "  <div id=\"df-c8046f57-7ae4-44b2-bf3b-fda148a5acbb\" class=\"colab-df-container\">\n",
              "    <div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>viewCount</th>\n",
              "      <th>binary</th>\n",
              "      <th>discret_floor</th>\n",
              "      <th>discret_quantile</th>\n",
              "      <th>log10</th>\n",
              "      <th>standardization</th>\n",
              "      <th>min-max</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>2244205.0</td>\n",
              "      <td>1</td>\n",
              "      <td>224.0</td>\n",
              "      <td>3</td>\n",
              "      <td>6.351063</td>\n",
              "      <td>1.346854</td>\n",
              "      <td>0.025902</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>1869268.0</td>\n",
              "      <td>1</td>\n",
              "      <td>186.0</td>\n",
              "      <td>3</td>\n",
              "      <td>6.271672</td>\n",
              "      <td>1.064632</td>\n",
              "      <td>0.021575</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2</th>\n",
              "      <td>1724625.0</td>\n",
              "      <td>1</td>\n",
              "      <td>172.0</td>\n",
              "      <td>3</td>\n",
              "      <td>6.236695</td>\n",
              "      <td>0.955757</td>\n",
              "      <td>0.019905</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>3</th>\n",
              "      <td>1109029.0</td>\n",
              "      <td>1</td>\n",
              "      <td>110.0</td>\n",
              "      <td>3</td>\n",
              "      <td>6.044943</td>\n",
              "      <td>0.492387</td>\n",
              "      <td>0.012800</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>4</th>\n",
              "      <td>1759797.0</td>\n",
              "      <td>1</td>\n",
              "      <td>175.0</td>\n",
              "      <td>3</td>\n",
              "      <td>6.245463</td>\n",
              "      <td>0.982231</td>\n",
              "      <td>0.020311</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>\n",
              "    <div class=\"colab-df-buttons\">\n",
              "\n",
              "  <div class=\"colab-df-container\">\n",
              "    <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-c8046f57-7ae4-44b2-bf3b-fda148a5acbb')\"\n",
              "            title=\"Convert this dataframe to an interactive table.\"\n",
              "            style=\"display:none;\">\n",
              "\n",
              "  <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n",
              "    <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n",
              "  </svg>\n",
              "    </button>\n",
              "\n",
              "  <style>\n",
              "    .colab-df-container {\n",
              "      display:flex;\n",
              "      gap: 12px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert {\n",
              "      background-color: #E8F0FE;\n",
              "      border: none;\n",
              "      border-radius: 50%;\n",
              "      cursor: pointer;\n",
              "      display: none;\n",
              "      fill: #1967D2;\n",
              "      height: 32px;\n",
              "      padding: 0 0 0 0;\n",
              "      width: 32px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert:hover {\n",
              "      background-color: #E2EBFA;\n",
              "      box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "      fill: #174EA6;\n",
              "    }\n",
              "\n",
              "    .colab-df-buttons div {\n",
              "      margin-bottom: 4px;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert {\n",
              "      background-color: #3B4455;\n",
              "      fill: #D2E3FC;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert:hover {\n",
              "      background-color: #434B5C;\n",
              "      box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
              "      filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
              "      fill: #FFFFFF;\n",
              "    }\n",
              "  </style>\n",
              "\n",
              "    <script>\n",
              "      const buttonEl =\n",
              "        document.querySelector('#df-c8046f57-7ae4-44b2-bf3b-fda148a5acbb button.colab-df-convert');\n",
              "      buttonEl.style.display =\n",
              "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "\n",
              "      async function convertToInteractive(key) {\n",
              "        const element = document.querySelector('#df-c8046f57-7ae4-44b2-bf3b-fda148a5acbb');\n",
              "        const dataTable =\n",
              "          await google.colab.kernel.invokeFunction('convertToInteractive',\n",
              "                                                    [key], {});\n",
              "        if (!dataTable) return;\n",
              "\n",
              "        const docLinkHtml = 'Like what you see? Visit the ' +\n",
              "          '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
              "          + ' to learn more about interactive tables.';\n",
              "        element.innerHTML = '';\n",
              "        dataTable['output_type'] = 'display_data';\n",
              "        await google.colab.output.renderOutput(dataTable, element);\n",
              "        const docLink = document.createElement('div');\n",
              "        docLink.innerHTML = docLinkHtml;\n",
              "        element.appendChild(docLink);\n",
              "      }\n",
              "    </script>\n",
              "  </div>\n",
              "\n",
              "\n",
              "<div id=\"df-a0f20df8-ab76-4073-ae37-076d9f9090ae\">\n",
              "  <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-a0f20df8-ab76-4073-ae37-076d9f9090ae')\"\n",
              "            title=\"Suggest charts\"\n",
              "            style=\"display:none;\">\n",
              "\n",
              "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
              "     width=\"24px\">\n",
              "    <g>\n",
              "        <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n",
              "    </g>\n",
              "</svg>\n",
              "  </button>\n",
              "\n",
              "<style>\n",
              "  .colab-df-quickchart {\n",
              "      --bg-color: #E8F0FE;\n",
              "      --fill-color: #1967D2;\n",
              "      --hover-bg-color: #E2EBFA;\n",
              "      --hover-fill-color: #174EA6;\n",
              "      --disabled-fill-color: #AAA;\n",
              "      --disabled-bg-color: #DDD;\n",
              "  }\n",
              "\n",
              "  [theme=dark] .colab-df-quickchart {\n",
              "      --bg-color: #3B4455;\n",
              "      --fill-color: #D2E3FC;\n",
              "      --hover-bg-color: #434B5C;\n",
              "      --hover-fill-color: #FFFFFF;\n",
              "      --disabled-bg-color: #3B4455;\n",
              "      --disabled-fill-color: #666;\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart {\n",
              "    background-color: var(--bg-color);\n",
              "    border: none;\n",
              "    border-radius: 50%;\n",
              "    cursor: pointer;\n",
              "    display: none;\n",
              "    fill: var(--fill-color);\n",
              "    height: 32px;\n",
              "    padding: 0;\n",
              "    width: 32px;\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart:hover {\n",
              "    background-color: var(--hover-bg-color);\n",
              "    box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "    fill: var(--button-hover-fill-color);\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart-complete:disabled,\n",
              "  .colab-df-quickchart-complete:disabled:hover {\n",
              "    background-color: var(--disabled-bg-color);\n",
              "    fill: var(--disabled-fill-color);\n",
              "    box-shadow: none;\n",
              "  }\n",
              "\n",
              "  .colab-df-spinner {\n",
              "    border: 2px solid var(--fill-color);\n",
              "    border-color: transparent;\n",
              "    border-bottom-color: var(--fill-color);\n",
              "    animation:\n",
              "      spin 1s steps(1) infinite;\n",
              "  }\n",
              "\n",
              "  @keyframes spin {\n",
              "    0% {\n",
              "      border-color: transparent;\n",
              "      border-bottom-color: var(--fill-color);\n",
              "      border-left-color: var(--fill-color);\n",
              "    }\n",
              "    20% {\n",
              "      border-color: transparent;\n",
              "      border-left-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "    }\n",
              "    30% {\n",
              "      border-color: transparent;\n",
              "      border-left-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "      border-right-color: var(--fill-color);\n",
              "    }\n",
              "    40% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "    }\n",
              "    60% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "    }\n",
              "    80% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "      border-bottom-color: var(--fill-color);\n",
              "    }\n",
              "    90% {\n",
              "      border-color: transparent;\n",
              "      border-bottom-color: var(--fill-color);\n",
              "    }\n",
              "  }\n",
              "</style>\n",
              "\n",
              "  <script>\n",
              "    async function quickchart(key) {\n",
              "      const quickchartButtonEl =\n",
              "        document.querySelector('#' + key + ' button');\n",
              "      quickchartButtonEl.disabled = true;  // To prevent multiple clicks.\n",
              "      quickchartButtonEl.classList.add('colab-df-spinner');\n",
              "      try {\n",
              "        const charts = await google.colab.kernel.invokeFunction(\n",
              "            'suggestCharts', [key], {});\n",
              "      } catch (error) {\n",
              "        console.error('Error during call to suggestCharts:', error);\n",
              "      }\n",
              "      quickchartButtonEl.classList.remove('colab-df-spinner');\n",
              "      quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n",
              "    }\n",
              "    (() => {\n",
              "      let quickchartButtonEl =\n",
              "        document.querySelector('#df-a0f20df8-ab76-4073-ae37-076d9f9090ae button');\n",
              "      quickchartButtonEl.style.display =\n",
              "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "    })();\n",
              "  </script>\n",
              "</div>\n",
              "    </div>\n",
              "  </div>\n"
            ],
            "application/vnd.google.colaboratory.intrinsic+json": {
              "type": "dataframe",
              "variable_name": "temp",
              "summary": "{\n  \"name\": \"temp\",\n  \"rows\": 66231,\n  \"fields\": [\n    {\n      \"column\": \"viewCount\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 1328529.7898147278,\n        \"min\": 2.0,\n        \"max\": 86642355.0,\n        \"num_unique_values\": 60505,\n        \"samples\": [\n          527058.0,\n          47011.0,\n          61966.0\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"binary\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 0,\n        \"min\": 0,\n        \"max\": 1,\n        \"num_unique_values\": 2,\n        \"samples\": [\n          0,\n          1\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"discret_floor\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 132.85438744806694,\n        \"min\": 0.0,\n        \"max\": 8664.0,\n        \"num_unique_values\": 985,\n        \"samples\": [\n          56.0,\n          624.0\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"discret_quantile\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 1,\n        \"min\": 0,\n        \"max\": 3,\n        \"num_unique_values\": 4,\n        \"samples\": [\n          2,\n          0\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"log10\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 0.7204346083099966,\n        \"min\": 0.47712125471966244,\n        \"max\": 7.9377302532189224,\n        \"num_unique_values\": 60505,\n        \"samples\": [\n          5.721859233694926,\n          4.672208727480268\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"standardization\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 1.0000075494203933,\n        \"min\": -0.3423971445288709,\n        \"max\": 64.87481346211443,\n        \"num_unique_values\": 60505,\n        \"samples\": [\n          0.054327101331522486,\n          -0.3070126501418395\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"min-max\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 0.015333491575589227,\n        \"min\": 0.0,\n        \"max\": 1.0,\n        \"num_unique_values\": 60505,\n        \"samples\": [\n          0.006083121957687368,\n          0.0005425637505481874\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    }\n  ]\n}"
            }
          },
          "metadata": {},
          "execution_count": 20
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "E07e_RlIe75u",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 672
        },
        "outputId": "98b30f27-0525-4cd7-fa33-b251ebf25adc"
      },
      "source": [
        "fig, (ax1, ax2) = plt.subplots(2, 1, figsize=(10,10))\n",
        "fig.subplots_adjust(hspace=0.4)\n",
        "\n",
        "# default values\n",
        "temp['viewCount'].hist(ax=ax1, bins=100, log=True)\n",
        "ax1.tick_params(labelsize=fontsize)\n",
        "ax1.set_title('default', fontsize=fontsize)\n",
        "ax1.set_xlabel('viewCounts', fontsize=fontsize)\n",
        "ax1.set_ylabel('Freqency (log)', fontsize=fontsize)\n",
        "\n",
        "# min-max\n",
        "ax2.set_title('min-max', fontsize=fontsize)\n",
        "ax2.set_xlabel('viewCounts (min-max)', fontsize=fontsize)\n",
        "ax2.set_ylabel('Freqency (log)', fontsize=fontsize)\n",
        "temp['min-max'].hist(ax=ax2, bins=100, log=True)\n"
      ],
      "execution_count": 21,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "<Axes: title={'center': 'min-max'}, xlabel='viewCounts (min-max)', ylabel='Freqency (log)'>"
            ]
          },
          "metadata": {},
          "execution_count": 21
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 1000x1000 with 2 Axes>"
            ],
            "image/png": "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QSgDADgVZwxjkvTuu+/q448/lqenp+Lj49WuXbsCfUwmkyIjI9W1a1clJiYaUCUAwJ7Gjh2rAwcOaMWKFapdu7bi4uJ0zz336Pvvv9dtt91WoP+iRYt0++23q0uXLqUah9sXAQDl4tChQzKZTKpWrZquXr1aZL+wsDCZTCatWbNG0o2fKUtISNADDzygWrVqycvLS7feeqv69++vnTt35utnsVgUGBgoNzc3nTt3Ll/bd999Z73v/8033ywwRoMGDWQymfTTTz9Zj/XSSy9JkkaPHl1oIPs9T09PdejQocD27777ToMGDVLt2rWttd9///3atGlToce50XeR9yzD9OnTi9yempqqqKgoBQcHy8vLS8HBwRo3bpzS0tIKjNW1a1dJ0tdff53v2YjQ0FBrv6ysLM2ePVtt2rRRlSpV5OXlpZo1ayo8PFx/+9vfdP78+WK/GwC4WZw4cULvvfeeVq5cqS5duqhhw4aaNGmSOnfurPfee69A/6tXr2rZsmV67LHHSj0WoQwAUC4aN26sDh06KC0trcgHp7///nvt2bNHQUFBuvfee294zEmTJqlHjx5as2aNQkJC1K9fPzVo0EBr1qxRly5d8v0laTKZ1K1bN1ksFiUkJOQ7zldffVXo/5ekn376ScnJyapfv74aNGhgrTMvoA0bNqxE5/9H77zzjjp06KCVK1eqZs2aGjBggG677TatXbtWkZGRmjFjhk3HLU5KSopat26tVatWqW3bturZs6cyMjI0f/58RUZGKjs729r3nnvuUa9evSRJQUFBGjZsmPVnwIABkqTc3Fzde++9+tvf/qYff/xRXbp00YABA9SsWTOlpqZq9uzZOnHihN3PAwCM8P333ysnJ0e333679TZFPz8/ff311zp69GiB/nFxccrIyLDp7wluXwQAlJsRI0Zo586dWrJkiR566KEC7Xkh6uGHH5aHR/F/Jb3zzjv6xz/+oUaNGmnVqlVq3ry5tW3btm2677779OSTT6pz587WW0p69OihlStX6quvvtKgQYOs/b/66it5eXmpQYMG2rJli3JycqzPhuWFtB49elj7592K6OXllW/ckvr+++81ZswYWSwWvf/++xo6dKi17csvv1S/fv00ffp0dezYUT179iz18Yvy7rvvavjw4Xrrrbfk7e0t6beg1qFDB+3evVuffvqpBg8eLEmKiYlR+/bttXHjRjVu3FhLliwpcLzt27crISFBrVq10tdff60qVarka09MTFRwcLDd6gcAI126dEnu7u7as2dPvueHJeV7jizPokWLdN999ykoKKjUY3GlDABQbh588EH5+Pho06ZNOnXqVL627Oxsffjhh5KkRx99tNjj5ObmWm/RW7FiRYFgdPfdd2vKlCm6du2aFi5caN2eF6x+fzXsypUr2rFjhzp06KD7779faWlp+Z7/KiyUpaamSpKqV69+w/BYmNjYWF2/fl39+/fPF8ik3x4yHzVqlCRp9uzZpT52cerWrSuz2WwNZJKsty9KBa8S3sjp06clSV26dCkQyKTfbkWtUaNGGSoGAOfRqlUr5eTk6MyZM2rUqFG+n5o1a+brm5ycrC1btth066JEKAMAlKMqVapowIABys3N1fvvv5+vbd26dUpNTVXbtm111113FXucpKQk/fzzz2rYsKHatGlTaJ+8lbB27Nhh3dagQQPVr19fycnJ1ltN/vWvfykrK0s9e/YsENosFos2b94sk8mk7t2723TOhcl7Jmz48OGFtuf9Jf6vf/1LOTk5dhu3e/fu8vHxKbD9zjvvlKQCQflGWrduLXd3d7377rsym8365Zdf7FInABjl0qVL2rdvn/bt2yfpt3C1b98+nThxQrfffrv++te/6pFHHtFnn32m5ORkfffdd3rllVe0bt26fMd59913VatWrWJXciwOoQwAUK5GjBghSQVuh8u7dfFGV8kkWZ/nOnr0aKEv6TSZTGrbtq2k/13VyvPH4JX3vz179lSXLl3k7e1t3ZaUlKRz586pZcuW+a743HLLLZKk8+fP2xSa8sJP/fr1C21v2LChpN8eEv/joiRlUdRKlv7+/tbxSqNhw4b65z//qezsbI0dO1a1a9dWaGioBg8erGXLlunatWtlrhkAHCkxMVGtWrVSq1atJEnR0dFq1aqVpk6dKum3v6seeeQRTZw4UXfccYf69eun3bt35/vzNTc3V0uWLNHw4cML3OZYUjxTBgAoV3fffbcaNmyo//73v9qxY4c6duyoM2fOaP369apUqVKhz5r9UW5uriSpZs2a1sUoihIYGJjvc48ePfTOO+9o06ZNeuKJJ/TVV1+pWrVqCgsLk5ubmzp27KhvvvlGly9fLvTWRUnWq3PXrl3T/v371bp16xKff3nK+16K4uZm///2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HT58WO3bt3f4eMXFxSouLra/zs/PlySVlpaqtLTU+ROpB7bje7sZpsaBpsOWK67MGWd/T7zdnYuxIY5n9u+6mWzn3pLfAziGnIGjyBk4qjHlTF1jsBiG0Wy/sVssFq1bt04jR460t0VFRalfv356+eWXJUkVFRUKCQnR9OnTlZqaql27dmnevHlat26dJGnGjBmKjIzUuHHjqj1Genq65syZU6V9xYoVatWqVf2fFAAAAIAmoaioSOPGjdPZs2fVunXrGse1qKKspKRErVq10tq1aysVaklJSTpz5ozeeecdlZWVqXv37srMzLQv9LFr164aF/qobqYsJCREeXl5tb7xrlBaWqotW7Zo9qduKq6wmBoLmgZvN0NPRVS02Jw5kB5fY1/P9PfrfbtLUdsxneXMOV7sc6axxNlQnP35ujrOxsSWM4MHD5anp6fZ4TQqTSW3XR2LGZ8zaPxqy1Hb95nG8DmTn58vf3//ixZlze7yxdrk5eWpvLxcAQEBldoDAgL01VdfSZI8PDz0/PPPa+DAgaqoqNCjjz5a68qL3t7e8vb2rtLu6elpehLYFFdYVFze8r5gw3ktNWdq+52t7f1wdrtL0RCfL86eo1RzzjS2OOubsz/fxvL3wUyN6e9kY9FUctusn5srP2fQ+NXl87cxfM7U9fgtqiirqxEjRmjEiBEObWO1WmW1WlVeXt5AUQEAAABojprd6ou18ff3l7u7u3Jyciq15+TkKDAw8JL2nZycrIMHDyorK+uS9gMAAACgZWlRRZmXl5f69u2rbdu22dsqKiq0bds2RUdHmxgZAAAAgJaq2V2+eO7cOR05csT++vjx49q/f7+uuOIKhYaGaubMmUpKSlJERIQiIyM1f/58FRYW6q677rqk43L5IgAAAABnNLui7NNPP9XAgQPtr2fOnCnptxUWly5dqrFjxyo3N1dPPvmkTp06pT59+mjTpk1VFv9wVHJyspKTk5Wfn682bdpc0r4AAAAAtBzNriiLjY3VxVb5T0lJUUpKiosiAgAAAICatah7ygAAAACgsaEoqydWq1U9evRQv379zA4FAAAAQBNCUVZPWBIfAAAAgDMoygAAAADARBRlAAAAAGCiZrf6ollszykrKyuTJOXn55sckVRaWqqioiKVF7urotxidjhoAsrdDRUVlbfYnKnt97aiuKjet7sUDfEZ48w5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y0shISGaPn26zpw5U+VYAwcOlCR9+OGH9vfHYrEoLCzMPq64uFjz5s1T37595evrKy8vLwUGBqpfv3569NFH9fPPP9f63lwoJydHa9euVVBQkAYPHlyl/8LLKYuLizVnzhx17dpVPj4+Cg0N1WOPPWbPr7Nnz+rhhx9Wly5d5OPjo7CwMKWnp6usrKzO79vSpUtlsVg0ceJEFRYWatasWbryyivl7e2twMBAJSUl6ccff6zz+dlkZ2fb38eKigq99NJLuvbaa9WqVSt16NBBU6dOtb9vxcXFeuqpp9StWzdddtllCgoK0gMPPKDCwsIq+y0oKNCCBQt066236qqrrtLll1+uyy+/XL169dITTzxR5WcsSc8//7wsFou6du2qgoKCKv0LFiyQxWJRSEiI8vLyKvUNGzZM/v7++s9//uPQzxkAqkNRBgANrFu3boqOjtaZM2e0fv36asd8+eWX+uyzzxQQEKBhw4bVab8PP/yw4uLi9M477yg0NFQjR45Uly5d9M4776h///5asmSJfazFYtHNN98swzC0bdu2SvvZunVrtf8tSceOHdPx48fVuXNndenSxR6rrUBLSkqqU6y/t2DBAkVHR2vNmjUKDAzU6NGjddVVV2nDhg0aMmSI5syZ49R+a/P999/r+uuv11tvvaXIyEgNHjxYBQUFevnllzVkyBCVlpbax/7pT39SfHy8JCkgIEBJSUn2f6NHj5YkVVRUaNiwYXr00Ud15MgR9e/fX6NHj1avXr2Um5urefPm6bvvvqtzfBkZGSopKdHNN98sN7ea/zyXlJQoPj5eL7zwgrp3767BgwcrPz9fzz77rMaMGaOff/5ZUVFRWr58ua6//noNGDBAOTk5mjNnjqZPn+7w+3b27FnFxMTotddeU48ePTR06FAZhqHly5frxhtv1NmzZx3ep80dd9yh1NRUBQcHKz4+XhUVFXr99dcVFxenwsJCxcXF6bnnntPVV1+tuLg4FRUV6aWXXtKYMWOq7Ovzzz/XlClTtHPnTgUGBiohIUE33XSTTp48qWeeeUb9+vWr8j8kHnroIY0YMULffPONpkyZUmV/999/vzw8PLRq1aoqM4menp6KjY3V+fPn9f777zv9HgCAJMkAADS4BQsWGJKM+Pj4avsffPBBQ5Lx0EMPVWofMGCAIcnYvn17pfY33njDkGRceeWVxuef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\n"
          },
          "metadata": {}
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "XCFVlj6T6rz3"
      },
      "source": [
        "## 特徴ベクトルに対する前処理の例"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "NRP5-kd7HxW2"
      },
      "source": [
        "### 手法7：正規化(normalization)\n",
        "- 正規化という考え方自体は特徴量（データセットを表と見た時の列）に対しても適用できる。ここでは特徴ベクトル（行）に対して適用した際の値を観察する。\n",
        "- NOTE: the process target is NOT one feature value (one column). **The target of normalization is \"feature vector (one row)\"**.\n",
        "- [5.3.3. Normalization](https://scikit-learn.org/stable/modules/preprocessing.html#normalization)"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "tuK79J3SHxW3",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 237
        },
        "outputId": "d25d857c-ed46-4589-bce6-6e8b42d8d751"
      },
      "source": [
        "temp.head()"
      ],
      "execution_count": 22,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "   viewCount  binary  discret_floor  discret_quantile     log10  \\\n",
              "0  2244205.0       1          224.0                 3  6.351063   \n",
              "1  1869268.0       1          186.0                 3  6.271672   \n",
              "2  1724625.0       1          172.0                 3  6.236695   \n",
              "3  1109029.0       1          110.0                 3  6.044943   \n",
              "4  1759797.0       1          175.0                 3  6.245463   \n",
              "\n",
              "   standardization   min-max  \n",
              "0         1.346854  0.025902  \n",
              "1         1.064632  0.021575  \n",
              "2         0.955757  0.019905  \n",
              "3         0.492387  0.012800  \n",
              "4         0.982231  0.020311  "
            ],
            "text/html": [
              "\n",
              "  <div id=\"df-97e64ac3-b9a6-4a20-8ce5-8c9e9ab42935\" class=\"colab-df-container\">\n",
              "    <div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>viewCount</th>\n",
              "      <th>binary</th>\n",
              "      <th>discret_floor</th>\n",
              "      <th>discret_quantile</th>\n",
              "      <th>log10</th>\n",
              "      <th>standardization</th>\n",
              "      <th>min-max</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>2244205.0</td>\n",
              "      <td>1</td>\n",
              "      <td>224.0</td>\n",
              "      <td>3</td>\n",
              "      <td>6.351063</td>\n",
              "      <td>1.346854</td>\n",
              "      <td>0.025902</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>1869268.0</td>\n",
              "      <td>1</td>\n",
              "      <td>186.0</td>\n",
              "      <td>3</td>\n",
              "      <td>6.271672</td>\n",
              "      <td>1.064632</td>\n",
              "      <td>0.021575</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2</th>\n",
              "      <td>1724625.0</td>\n",
              "      <td>1</td>\n",
              "      <td>172.0</td>\n",
              "      <td>3</td>\n",
              "      <td>6.236695</td>\n",
              "      <td>0.955757</td>\n",
              "      <td>0.019905</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>3</th>\n",
              "      <td>1109029.0</td>\n",
              "      <td>1</td>\n",
              "      <td>110.0</td>\n",
              "      <td>3</td>\n",
              "      <td>6.044943</td>\n",
              "      <td>0.492387</td>\n",
              "      <td>0.012800</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>4</th>\n",
              "      <td>1759797.0</td>\n",
              "      <td>1</td>\n",
              "      <td>175.0</td>\n",
              "      <td>3</td>\n",
              "      <td>6.245463</td>\n",
              "      <td>0.982231</td>\n",
              "      <td>0.020311</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>\n",
              "    <div class=\"colab-df-buttons\">\n",
              "\n",
              "  <div class=\"colab-df-container\">\n",
              "    <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-97e64ac3-b9a6-4a20-8ce5-8c9e9ab42935')\"\n",
              "            title=\"Convert this dataframe to an interactive table.\"\n",
              "            style=\"display:none;\">\n",
              "\n",
              "  <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n",
              "    <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n",
              "  </svg>\n",
              "    </button>\n",
              "\n",
              "  <style>\n",
              "    .colab-df-container {\n",
              "      display:flex;\n",
              "      gap: 12px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert {\n",
              "      background-color: #E8F0FE;\n",
              "      border: none;\n",
              "      border-radius: 50%;\n",
              "      cursor: pointer;\n",
              "      display: none;\n",
              "      fill: #1967D2;\n",
              "      height: 32px;\n",
              "      padding: 0 0 0 0;\n",
              "      width: 32px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert:hover {\n",
              "      background-color: #E2EBFA;\n",
              "      box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "      fill: #174EA6;\n",
              "    }\n",
              "\n",
              "    .colab-df-buttons div {\n",
              "      margin-bottom: 4px;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert {\n",
              "      background-color: #3B4455;\n",
              "      fill: #D2E3FC;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert:hover {\n",
              "      background-color: #434B5C;\n",
              "      box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
              "      filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
              "      fill: #FFFFFF;\n",
              "    }\n",
              "  </style>\n",
              "\n",
              "    <script>\n",
              "      const buttonEl =\n",
              "        document.querySelector('#df-97e64ac3-b9a6-4a20-8ce5-8c9e9ab42935 button.colab-df-convert');\n",
              "      buttonEl.style.display =\n",
              "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "\n",
              "      async function convertToInteractive(key) {\n",
              "        const element = document.querySelector('#df-97e64ac3-b9a6-4a20-8ce5-8c9e9ab42935');\n",
              "        const dataTable =\n",
              "          await google.colab.kernel.invokeFunction('convertToInteractive',\n",
              "                                                    [key], {});\n",
              "        if (!dataTable) return;\n",
              "\n",
              "        const docLinkHtml = 'Like what you see? Visit the ' +\n",
              "          '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
              "          + ' to learn more about interactive tables.';\n",
              "        element.innerHTML = '';\n",
              "        dataTable['output_type'] = 'display_data';\n",
              "        await google.colab.output.renderOutput(dataTable, element);\n",
              "        const docLink = document.createElement('div');\n",
              "        docLink.innerHTML = docLinkHtml;\n",
              "        element.appendChild(docLink);\n",
              "      }\n",
              "    </script>\n",
              "  </div>\n",
              "\n",
              "\n",
              "<div id=\"df-37786f1f-95e0-4e85-89aa-cd23ddc9d594\">\n",
              "  <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-37786f1f-95e0-4e85-89aa-cd23ddc9d594')\"\n",
              "            title=\"Suggest charts\"\n",
              "            style=\"display:none;\">\n",
              "\n",
              "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
              "     width=\"24px\">\n",
              "    <g>\n",
              "        <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n",
              "    </g>\n",
              "</svg>\n",
              "  </button>\n",
              "\n",
              "<style>\n",
              "  .colab-df-quickchart {\n",
              "      --bg-color: #E8F0FE;\n",
              "      --fill-color: #1967D2;\n",
              "      --hover-bg-color: #E2EBFA;\n",
              "      --hover-fill-color: #174EA6;\n",
              "      --disabled-fill-color: #AAA;\n",
              "      --disabled-bg-color: #DDD;\n",
              "  }\n",
              "\n",
              "  [theme=dark] .colab-df-quickchart {\n",
              "      --bg-color: #3B4455;\n",
              "      --fill-color: #D2E3FC;\n",
              "      --hover-bg-color: #434B5C;\n",
              "      --hover-fill-color: #FFFFFF;\n",
              "      --disabled-bg-color: #3B4455;\n",
              "      --disabled-fill-color: #666;\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart {\n",
              "    background-color: var(--bg-color);\n",
              "    border: none;\n",
              "    border-radius: 50%;\n",
              "    cursor: pointer;\n",
              "    display: none;\n",
              "    fill: var(--fill-color);\n",
              "    height: 32px;\n",
              "    padding: 0;\n",
              "    width: 32px;\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart:hover {\n",
              "    background-color: var(--hover-bg-color);\n",
              "    box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "    fill: var(--button-hover-fill-color);\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart-complete:disabled,\n",
              "  .colab-df-quickchart-complete:disabled:hover {\n",
              "    background-color: var(--disabled-bg-color);\n",
              "    fill: var(--disabled-fill-color);\n",
              "    box-shadow: none;\n",
              "  }\n",
              "\n",
              "  .colab-df-spinner {\n",
              "    border: 2px solid var(--fill-color);\n",
              "    border-color: transparent;\n",
              "    border-bottom-color: var(--fill-color);\n",
              "    animation:\n",
              "      spin 1s steps(1) infinite;\n",
              "  }\n",
              "\n",
              "  @keyframes spin {\n",
              "    0% {\n",
              "      border-color: transparent;\n",
              "      border-bottom-color: var(--fill-color);\n",
              "      border-left-color: var(--fill-color);\n",
              "    }\n",
              "    20% {\n",
              "      border-color: transparent;\n",
              "      border-left-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "    }\n",
              "    30% {\n",
              "      border-color: transparent;\n",
              "      border-left-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "      border-right-color: var(--fill-color);\n",
              "    }\n",
              "    40% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "    }\n",
              "    60% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "    }\n",
              "    80% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "      border-bottom-color: var(--fill-color);\n",
              "    }\n",
              "    90% {\n",
              "      border-color: transparent;\n",
              "      border-bottom-color: var(--fill-color);\n",
              "    }\n",
              "  }\n",
              "</style>\n",
              "\n",
              "  <script>\n",
              "    async function quickchart(key) {\n",
              "      const quickchartButtonEl =\n",
              "        document.querySelector('#' + key + ' button');\n",
              "      quickchartButtonEl.disabled = true;  // To prevent multiple clicks.\n",
              "      quickchartButtonEl.classList.add('colab-df-spinner');\n",
              "      try {\n",
              "        const charts = await google.colab.kernel.invokeFunction(\n",
              "            'suggestCharts', [key], {});\n",
              "      } catch (error) {\n",
              "        console.error('Error during call to suggestCharts:', error);\n",
              "      }\n",
              "      quickchartButtonEl.classList.remove('colab-df-spinner');\n",
              "      quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n",
              "    }\n",
              "    (() => {\n",
              "      let quickchartButtonEl =\n",
              "        document.querySelector('#df-37786f1f-95e0-4e85-89aa-cd23ddc9d594 button');\n",
              "      quickchartButtonEl.style.display =\n",
              "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "    })();\n",
              "  </script>\n",
              "</div>\n",
              "    </div>\n",
              "  </div>\n"
            ],
            "application/vnd.google.colaboratory.intrinsic+json": {
              "type": "dataframe",
              "variable_name": "temp",
              "summary": "{\n  \"name\": \"temp\",\n  \"rows\": 66231,\n  \"fields\": [\n    {\n      \"column\": \"viewCount\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 1328529.7898147278,\n        \"min\": 2.0,\n        \"max\": 86642355.0,\n        \"num_unique_values\": 60505,\n        \"samples\": [\n          527058.0,\n          47011.0,\n          61966.0\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"binary\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 0,\n        \"min\": 0,\n        \"max\": 1,\n        \"num_unique_values\": 2,\n        \"samples\": [\n          0,\n          1\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"discret_floor\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 132.85438744806694,\n        \"min\": 0.0,\n        \"max\": 8664.0,\n        \"num_unique_values\": 985,\n        \"samples\": [\n          56.0,\n          624.0\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"discret_quantile\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 1,\n        \"min\": 0,\n        \"max\": 3,\n        \"num_unique_values\": 4,\n        \"samples\": [\n          2,\n          0\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"log10\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 0.7204346083099966,\n        \"min\": 0.47712125471966244,\n        \"max\": 7.9377302532189224,\n        \"num_unique_values\": 60505,\n        \"samples\": [\n          5.721859233694926,\n          4.672208727480268\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"standardization\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 1.0000075494203933,\n        \"min\": -0.3423971445288709,\n        \"max\": 64.87481346211443,\n        \"num_unique_values\": 60505,\n        \"samples\": [\n          0.054327101331522486,\n          -0.3070126501418395\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"min-max\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 0.015333491575589227,\n        \"min\": 0.0,\n        \"max\": 1.0,\n        \"num_unique_values\": 60505,\n        \"samples\": [\n          0.006083121957687368,\n          0.0005425637505481874\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    }\n  ]\n}"
            }
          },
          "metadata": {},
          "execution_count": 22
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "I0QBpNZJHxW3",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 303
        },
        "outputId": "8be52832-a220-4bf2-b10f-67692f46f5b8"
      },
      "source": [
        "normalized_l2 = preprocessing.normalize(temp, norm='l2')\n",
        "normalized_l2 = pd.DataFrame(normalized_l2, columns=temp.columns)\n",
        "normalized_l2.head()"
      ],
      "execution_count": 23,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "   viewCount        binary  discret_floor  discret_quantile     log10  \\\n",
              "0        1.0  4.455921e-07       0.000100          0.000001  0.000003   \n",
              "1        1.0  5.349688e-07       0.000100          0.000002  0.000003   \n",
              "2        1.0  5.798362e-07       0.000100          0.000002  0.000004   \n",
              "3        1.0  9.016897e-07       0.000099          0.000003  0.000005   \n",
              "4        1.0  5.682474e-07       0.000099          0.000002  0.000004   \n",
              "\n",
              "   standardization       min-max  \n",
              "0     6.001473e-07  1.154169e-08  \n",
              "1     5.695449e-07  1.154169e-08  \n",
              "2     5.541823e-07  1.154169e-08  \n",
              "3     4.439801e-07  1.154168e-08  \n",
              "4     5.581503e-07  1.154169e-08  "
            ],
            "text/html": [
              "\n",
              "  <div id=\"df-7bf514e5-b2c8-4a14-8b35-6a6ebe4a0847\" class=\"colab-df-container\">\n",
              "    <div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>viewCount</th>\n",
              "      <th>binary</th>\n",
              "      <th>discret_floor</th>\n",
              "      <th>discret_quantile</th>\n",
              "      <th>log10</th>\n",
              "      <th>standardization</th>\n",
              "      <th>min-max</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>1.0</td>\n",
              "      <td>4.455921e-07</td>\n",
              "      <td>0.000100</td>\n",
              "      <td>0.000001</td>\n",
              "      <td>0.000003</td>\n",
              "      <td>6.001473e-07</td>\n",
              "      <td>1.154169e-08</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>1.0</td>\n",
              "      <td>5.349688e-07</td>\n",
              "      <td>0.000100</td>\n",
              "      <td>0.000002</td>\n",
              "      <td>0.000003</td>\n",
              "      <td>5.695449e-07</td>\n",
              "      <td>1.154169e-08</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2</th>\n",
              "      <td>1.0</td>\n",
              "      <td>5.798362e-07</td>\n",
              "      <td>0.000100</td>\n",
              "      <td>0.000002</td>\n",
              "      <td>0.000004</td>\n",
              "      <td>5.541823e-07</td>\n",
              "      <td>1.154169e-08</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>3</th>\n",
              "      <td>1.0</td>\n",
              "      <td>9.016897e-07</td>\n",
              "      <td>0.000099</td>\n",
              "      <td>0.000003</td>\n",
              "      <td>0.000005</td>\n",
              "      <td>4.439801e-07</td>\n",
              "      <td>1.154168e-08</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>4</th>\n",
              "      <td>1.0</td>\n",
              "      <td>5.682474e-07</td>\n",
              "      <td>0.000099</td>\n",
              "      <td>0.000002</td>\n",
              "      <td>0.000004</td>\n",
              "      <td>5.581503e-07</td>\n",
              "      <td>1.154169e-08</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>\n",
              "    <div class=\"colab-df-buttons\">\n",
              "\n",
              "  <div class=\"colab-df-container\">\n",
              "    <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-7bf514e5-b2c8-4a14-8b35-6a6ebe4a0847')\"\n",
              "            title=\"Convert this dataframe to an interactive table.\"\n",
              "            style=\"display:none;\">\n",
              "\n",
              "  <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n",
              "    <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n",
              "  </svg>\n",
              "    </button>\n",
              "\n",
              "  <style>\n",
              "    .colab-df-container {\n",
              "      display:flex;\n",
              "      gap: 12px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert {\n",
              "      background-color: #E8F0FE;\n",
              "      border: none;\n",
              "      border-radius: 50%;\n",
              "      cursor: pointer;\n",
              "      display: none;\n",
              "      fill: #1967D2;\n",
              "      height: 32px;\n",
              "      padding: 0 0 0 0;\n",
              "      width: 32px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert:hover {\n",
              "      background-color: #E2EBFA;\n",
              "      box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "      fill: #174EA6;\n",
              "    }\n",
              "\n",
              "    .colab-df-buttons div {\n",
              "      margin-bottom: 4px;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert {\n",
              "      background-color: #3B4455;\n",
              "      fill: #D2E3FC;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert:hover {\n",
              "      background-color: #434B5C;\n",
              "      box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
              "      filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
              "      fill: #FFFFFF;\n",
              "    }\n",
              "  </style>\n",
              "\n",
              "    <script>\n",
              "      const buttonEl =\n",
              "        document.querySelector('#df-7bf514e5-b2c8-4a14-8b35-6a6ebe4a0847 button.colab-df-convert');\n",
              "      buttonEl.style.display =\n",
              "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "\n",
              "      async function convertToInteractive(key) {\n",
              "        const element = document.querySelector('#df-7bf514e5-b2c8-4a14-8b35-6a6ebe4a0847');\n",
              "        const dataTable =\n",
              "          await google.colab.kernel.invokeFunction('convertToInteractive',\n",
              "                                                    [key], {});\n",
              "        if (!dataTable) return;\n",
              "\n",
              "        const docLinkHtml = 'Like what you see? Visit the ' +\n",
              "          '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
              "          + ' to learn more about interactive tables.';\n",
              "        element.innerHTML = '';\n",
              "        dataTable['output_type'] = 'display_data';\n",
              "        await google.colab.output.renderOutput(dataTable, element);\n",
              "        const docLink = document.createElement('div');\n",
              "        docLink.innerHTML = docLinkHtml;\n",
              "        element.appendChild(docLink);\n",
              "      }\n",
              "    </script>\n",
              "  </div>\n",
              "\n",
              "\n",
              "<div id=\"df-4305a215-6f92-48ce-a983-7f22cc71c8f7\">\n",
              "  <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-4305a215-6f92-48ce-a983-7f22cc71c8f7')\"\n",
              "            title=\"Suggest charts\"\n",
              "            style=\"display:none;\">\n",
              "\n",
              "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
              "     width=\"24px\">\n",
              "    <g>\n",
              "        <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n",
              "    </g>\n",
              "</svg>\n",
              "  </button>\n",
              "\n",
              "<style>\n",
              "  .colab-df-quickchart {\n",
              "      --bg-color: #E8F0FE;\n",
              "      --fill-color: #1967D2;\n",
              "      --hover-bg-color: #E2EBFA;\n",
              "      --hover-fill-color: #174EA6;\n",
              "      --disabled-fill-color: #AAA;\n",
              "      --disabled-bg-color: #DDD;\n",
              "  }\n",
              "\n",
              "  [theme=dark] .colab-df-quickchart {\n",
              "      --bg-color: #3B4455;\n",
              "      --fill-color: #D2E3FC;\n",
              "      --hover-bg-color: #434B5C;\n",
              "      --hover-fill-color: #FFFFFF;\n",
              "      --disabled-bg-color: #3B4455;\n",
              "      --disabled-fill-color: #666;\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart {\n",
              "    background-color: var(--bg-color);\n",
              "    border: none;\n",
              "    border-radius: 50%;\n",
              "    cursor: pointer;\n",
              "    display: none;\n",
              "    fill: var(--fill-color);\n",
              "    height: 32px;\n",
              "    padding: 0;\n",
              "    width: 32px;\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart:hover {\n",
              "    background-color: var(--hover-bg-color);\n",
              "    box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "    fill: var(--button-hover-fill-color);\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart-complete:disabled,\n",
              "  .colab-df-quickchart-complete:disabled:hover {\n",
              "    background-color: var(--disabled-bg-color);\n",
              "    fill: var(--disabled-fill-color);\n",
              "    box-shadow: none;\n",
              "  }\n",
              "\n",
              "  .colab-df-spinner {\n",
              "    border: 2px solid var(--fill-color);\n",
              "    border-color: transparent;\n",
              "    border-bottom-color: var(--fill-color);\n",
              "    animation:\n",
              "      spin 1s steps(1) infinite;\n",
              "  }\n",
              "\n",
              "  @keyframes spin {\n",
              "    0% {\n",
              "      border-color: transparent;\n",
              "      border-bottom-color: var(--fill-color);\n",
              "      border-left-color: var(--fill-color);\n",
              "    }\n",
              "    20% {\n",
              "      border-color: transparent;\n",
              "      border-left-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "    }\n",
              "    30% {\n",
              "      border-color: transparent;\n",
              "      border-left-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "      border-right-color: var(--fill-color);\n",
              "    }\n",
              "    40% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "    }\n",
              "    60% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "    }\n",
              "    80% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "      border-bottom-color: var(--fill-color);\n",
              "    }\n",
              "    90% {\n",
              "      border-color: transparent;\n",
              "      border-bottom-color: var(--fill-color);\n",
              "    }\n",
              "  }\n",
              "</style>\n",
              "\n",
              "  <script>\n",
              "    async function quickchart(key) {\n",
              "      const quickchartButtonEl =\n",
              "        document.querySelector('#' + key + ' button');\n",
              "      quickchartButtonEl.disabled = true;  // To prevent multiple clicks.\n",
              "      quickchartButtonEl.classList.add('colab-df-spinner');\n",
              "      try {\n",
              "        const charts = await google.colab.kernel.invokeFunction(\n",
              "            'suggestCharts', [key], {});\n",
              "      } catch (error) {\n",
              "        console.error('Error during call to suggestCharts:', error);\n",
              "      }\n",
              "      quickchartButtonEl.classList.remove('colab-df-spinner');\n",
              "      quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n",
              "    }\n",
              "    (() => {\n",
              "      let quickchartButtonEl =\n",
              "        document.querySelector('#df-4305a215-6f92-48ce-a983-7f22cc71c8f7 button');\n",
              "      quickchartButtonEl.style.display =\n",
              "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "    })();\n",
              "  </script>\n",
              "</div>\n",
              "    </div>\n",
              "  </div>\n"
            ],
            "application/vnd.google.colaboratory.intrinsic+json": {
              "type": "dataframe",
              "variable_name": "normalized_l2",
              "summary": "{\n  \"name\": \"normalized_l2\",\n  \"rows\": 66231,\n  \"fields\": [\n    {\n      \"column\": \"viewCount\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 0.0002259734897641206,\n        \"min\": 0.9594913806491988,\n        \"max\": 0.999999995139649,\n        \"num_unique_values\": 60314,\n        \"samples\": [\n          0.9999999874496235,\n          0.9999999948711646,\n          0.9999999930419184\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"binary\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 5.014191402215155e-07,\n        \"min\": 0.0,\n        \"max\": 2.1983433174877373e-06,\n        \"num_unique_values\": 13253,\n        \"samples\": [\n          2.920379062312524e-07,\n          2.0803255187768718e-06,\n          1.1021627685585005e-06\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"discret_floor\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 2.5274030153524685e-05,\n        \"min\": 0.0,\n        \"max\": 9.999999949971607e-05,\n        \"num_unique_values\": 56987,\n        \"samples\": [\n          9.999352927619832e-05,\n          9.121902775851864e-05,\n          8.805271365176646e-05\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"discret_quantile\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 6.515152354754257e-06,\n        \"min\": 0.0,\n        \"max\": 2.5513458090235115e-05,\n        \"num_unique_values\": 47100,\n        \"samples\": [\n          1.4215449244670016e-05,\n          1.4182988818110396e-05,\n          9.094050627529092e-06\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"log10\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 0.0016619598355689408,\n        \"min\": 9.161489451123721e-08,\n        \"max\": 0.22889686571402348,\n        \"num_unique_values\": 60505,\n        \"samples\": [\n          1.0856223044535004e-05,\n          9.938543503299418e-05,\n          7.733531991325988e-05\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"standardization\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 0.000961761304103557,\n        \"min\": -0.1642635544671748,\n        \"max\": 7.48765579349032e-07,\n        \"num_unique_values\": 60505,\n        \"samples\": [\n          1.0307613405532944e-07,\n          -6.530655536751813e-06,\n          -4.772871549468254e-06\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"min-max\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 6.744107064597823e-11,\n        \"min\": 0.0,\n        \"max\": 1.1541699149336218e-08,\n        \"num_unique_values\": 60505,\n        \"samples\": [\n          1.1541655619709632e-08,\n          1.1541208350604937e-08,\n          1.1541326866046445e-08\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    }\n  ]\n}"
            }
          },
          "metadata": {},
          "execution_count": 23
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "N_S96YIwHxW3",
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "outputId": "db7a65ce-7806-475b-c06a-70a81b79663d"
      },
      "source": [
        "sum = 0\n",
        "for item in normalized_l2.values[0]:\n",
        "    sum += item ** 2\n",
        "print('L2 norm = ', sum)"
      ],
      "execution_count": 24,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "L2 norm =  0.9999999999999999\n"
          ]
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "yYCu0qBoHxW3"
      },
      "source": [
        "### 手法8：正規分布への写像(Mapping to a Gaussian distribution)\n",
        "- [Mapping to a Gaussian distribution](https://scikit-learn.org/stable/modules/preprocessing.html#mapping-to-a-gaussian-distribution)"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "mJ6EagaLHxW4",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 237
        },
        "outputId": "dd943fde-659c-4747-aaeb-18e387f2d8c5"
      },
      "source": [
        "pt = preprocessing.PowerTransformer(method='box-cox', standardize=False)\n",
        "orig = df['viewCount'].values.reshape(-1,1)\n",
        "new_column = pt.fit_transform(orig)\n",
        "temp['box-cox'] = new_column\n",
        "temp.head()"
      ],
      "execution_count": 25,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "   viewCount  binary  discret_floor  discret_quantile     log10  \\\n",
              "0  2244205.0       1          224.0                 3  6.351063   \n",
              "1  1869268.0       1          186.0                 3  6.271672   \n",
              "2  1724625.0       1          172.0                 3  6.236695   \n",
              "3  1109029.0       1          110.0                 3  6.044943   \n",
              "4  1759797.0       1          175.0                 3  6.245463   \n",
              "\n",
              "   standardization   min-max    box-cox  \n",
              "0         1.346854  0.025902  15.286494  \n",
              "1         1.064632  0.021575  15.086987  \n",
              "2         0.955757  0.019905  14.999160  \n",
              "3         0.492387  0.012800  14.518429  \n",
              "4         0.982231  0.020311  15.021172  "
            ],
            "text/html": [
              "\n",
              "  <div id=\"df-aeac4add-2625-4f49-bfbc-e89a8e27d6d0\" class=\"colab-df-container\">\n",
              "    <div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>viewCount</th>\n",
              "      <th>binary</th>\n",
              "      <th>discret_floor</th>\n",
              "      <th>discret_quantile</th>\n",
              "      <th>log10</th>\n",
              "      <th>standardization</th>\n",
              "      <th>min-max</th>\n",
              "      <th>box-cox</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>2244205.0</td>\n",
              "      <td>1</td>\n",
              "      <td>224.0</td>\n",
              "      <td>3</td>\n",
              "      <td>6.351063</td>\n",
              "      <td>1.346854</td>\n",
              "      <td>0.025902</td>\n",
              "      <td>15.286494</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>1869268.0</td>\n",
              "      <td>1</td>\n",
              "      <td>186.0</td>\n",
              "      <td>3</td>\n",
              "      <td>6.271672</td>\n",
              "      <td>1.064632</td>\n",
              "      <td>0.021575</td>\n",
              "      <td>15.086987</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2</th>\n",
              "      <td>1724625.0</td>\n",
              "      <td>1</td>\n",
              "      <td>172.0</td>\n",
              "      <td>3</td>\n",
              "      <td>6.236695</td>\n",
              "      <td>0.955757</td>\n",
              "      <td>0.019905</td>\n",
              "      <td>14.999160</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>3</th>\n",
              "      <td>1109029.0</td>\n",
              "      <td>1</td>\n",
              "      <td>110.0</td>\n",
              "      <td>3</td>\n",
              "      <td>6.044943</td>\n",
              "      <td>0.492387</td>\n",
              "      <td>0.012800</td>\n",
              "      <td>14.518429</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>4</th>\n",
              "      <td>1759797.0</td>\n",
              "      <td>1</td>\n",
              "      <td>175.0</td>\n",
              "      <td>3</td>\n",
              "      <td>6.245463</td>\n",
              "      <td>0.982231</td>\n",
              "      <td>0.020311</td>\n",
              "      <td>15.021172</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>\n",
              "    <div class=\"colab-df-buttons\">\n",
              "\n",
              "  <div class=\"colab-df-container\">\n",
              "    <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-aeac4add-2625-4f49-bfbc-e89a8e27d6d0')\"\n",
              "            title=\"Convert this dataframe to an interactive table.\"\n",
              "            style=\"display:none;\">\n",
              "\n",
              "  <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n",
              "    <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n",
              "  </svg>\n",
              "    </button>\n",
              "\n",
              "  <style>\n",
              "    .colab-df-container {\n",
              "      display:flex;\n",
              "      gap: 12px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert {\n",
              "      background-color: #E8F0FE;\n",
              "      border: none;\n",
              "      border-radius: 50%;\n",
              "      cursor: pointer;\n",
              "      display: none;\n",
              "      fill: #1967D2;\n",
              "      height: 32px;\n",
              "      padding: 0 0 0 0;\n",
              "      width: 32px;\n",
              "    }\n",
              "\n",
              "    .colab-df-convert:hover {\n",
              "      background-color: #E2EBFA;\n",
              "      box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "      fill: #174EA6;\n",
              "    }\n",
              "\n",
              "    .colab-df-buttons div {\n",
              "      margin-bottom: 4px;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert {\n",
              "      background-color: #3B4455;\n",
              "      fill: #D2E3FC;\n",
              "    }\n",
              "\n",
              "    [theme=dark] .colab-df-convert:hover {\n",
              "      background-color: #434B5C;\n",
              "      box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
              "      filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
              "      fill: #FFFFFF;\n",
              "    }\n",
              "  </style>\n",
              "\n",
              "    <script>\n",
              "      const buttonEl =\n",
              "        document.querySelector('#df-aeac4add-2625-4f49-bfbc-e89a8e27d6d0 button.colab-df-convert');\n",
              "      buttonEl.style.display =\n",
              "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "\n",
              "      async function convertToInteractive(key) {\n",
              "        const element = document.querySelector('#df-aeac4add-2625-4f49-bfbc-e89a8e27d6d0');\n",
              "        const dataTable =\n",
              "          await google.colab.kernel.invokeFunction('convertToInteractive',\n",
              "                                                    [key], {});\n",
              "        if (!dataTable) return;\n",
              "\n",
              "        const docLinkHtml = 'Like what you see? Visit the ' +\n",
              "          '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
              "          + ' to learn more about interactive tables.';\n",
              "        element.innerHTML = '';\n",
              "        dataTable['output_type'] = 'display_data';\n",
              "        await google.colab.output.renderOutput(dataTable, element);\n",
              "        const docLink = document.createElement('div');\n",
              "        docLink.innerHTML = docLinkHtml;\n",
              "        element.appendChild(docLink);\n",
              "      }\n",
              "    </script>\n",
              "  </div>\n",
              "\n",
              "\n",
              "<div id=\"df-490e002c-d7ec-44e3-bf67-4aed9828654a\">\n",
              "  <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-490e002c-d7ec-44e3-bf67-4aed9828654a')\"\n",
              "            title=\"Suggest charts\"\n",
              "            style=\"display:none;\">\n",
              "\n",
              "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
              "     width=\"24px\">\n",
              "    <g>\n",
              "        <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n",
              "    </g>\n",
              "</svg>\n",
              "  </button>\n",
              "\n",
              "<style>\n",
              "  .colab-df-quickchart {\n",
              "      --bg-color: #E8F0FE;\n",
              "      --fill-color: #1967D2;\n",
              "      --hover-bg-color: #E2EBFA;\n",
              "      --hover-fill-color: #174EA6;\n",
              "      --disabled-fill-color: #AAA;\n",
              "      --disabled-bg-color: #DDD;\n",
              "  }\n",
              "\n",
              "  [theme=dark] .colab-df-quickchart {\n",
              "      --bg-color: #3B4455;\n",
              "      --fill-color: #D2E3FC;\n",
              "      --hover-bg-color: #434B5C;\n",
              "      --hover-fill-color: #FFFFFF;\n",
              "      --disabled-bg-color: #3B4455;\n",
              "      --disabled-fill-color: #666;\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart {\n",
              "    background-color: var(--bg-color);\n",
              "    border: none;\n",
              "    border-radius: 50%;\n",
              "    cursor: pointer;\n",
              "    display: none;\n",
              "    fill: var(--fill-color);\n",
              "    height: 32px;\n",
              "    padding: 0;\n",
              "    width: 32px;\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart:hover {\n",
              "    background-color: var(--hover-bg-color);\n",
              "    box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
              "    fill: var(--button-hover-fill-color);\n",
              "  }\n",
              "\n",
              "  .colab-df-quickchart-complete:disabled,\n",
              "  .colab-df-quickchart-complete:disabled:hover {\n",
              "    background-color: var(--disabled-bg-color);\n",
              "    fill: var(--disabled-fill-color);\n",
              "    box-shadow: none;\n",
              "  }\n",
              "\n",
              "  .colab-df-spinner {\n",
              "    border: 2px solid var(--fill-color);\n",
              "    border-color: transparent;\n",
              "    border-bottom-color: var(--fill-color);\n",
              "    animation:\n",
              "      spin 1s steps(1) infinite;\n",
              "  }\n",
              "\n",
              "  @keyframes spin {\n",
              "    0% {\n",
              "      border-color: transparent;\n",
              "      border-bottom-color: var(--fill-color);\n",
              "      border-left-color: var(--fill-color);\n",
              "    }\n",
              "    20% {\n",
              "      border-color: transparent;\n",
              "      border-left-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "    }\n",
              "    30% {\n",
              "      border-color: transparent;\n",
              "      border-left-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "      border-right-color: var(--fill-color);\n",
              "    }\n",
              "    40% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "      border-top-color: var(--fill-color);\n",
              "    }\n",
              "    60% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "    }\n",
              "    80% {\n",
              "      border-color: transparent;\n",
              "      border-right-color: var(--fill-color);\n",
              "      border-bottom-color: var(--fill-color);\n",
              "    }\n",
              "    90% {\n",
              "      border-color: transparent;\n",
              "      border-bottom-color: var(--fill-color);\n",
              "    }\n",
              "  }\n",
              "</style>\n",
              "\n",
              "  <script>\n",
              "    async function quickchart(key) {\n",
              "      const quickchartButtonEl =\n",
              "        document.querySelector('#' + key + ' button');\n",
              "      quickchartButtonEl.disabled = true;  // To prevent multiple clicks.\n",
              "      quickchartButtonEl.classList.add('colab-df-spinner');\n",
              "      try {\n",
              "        const charts = await google.colab.kernel.invokeFunction(\n",
              "            'suggestCharts', [key], {});\n",
              "      } catch (error) {\n",
              "        console.error('Error during call to suggestCharts:', error);\n",
              "      }\n",
              "      quickchartButtonEl.classList.remove('colab-df-spinner');\n",
              "      quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n",
              "    }\n",
              "    (() => {\n",
              "      let quickchartButtonEl =\n",
              "        document.querySelector('#df-490e002c-d7ec-44e3-bf67-4aed9828654a button');\n",
              "      quickchartButtonEl.style.display =\n",
              "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
              "    })();\n",
              "  </script>\n",
              "</div>\n",
              "    </div>\n",
              "  </div>\n"
            ],
            "application/vnd.google.colaboratory.intrinsic+json": {
              "type": "dataframe",
              "variable_name": "temp",
              "summary": "{\n  \"name\": \"temp\",\n  \"rows\": 66231,\n  \"fields\": [\n    {\n      \"column\": \"viewCount\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 1328529.7898147278,\n        \"min\": 2.0,\n        \"max\": 86642355.0,\n        \"num_unique_values\": 60505,\n        \"samples\": [\n          527058.0,\n          47011.0,\n          61966.0\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"binary\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 0,\n        \"min\": 0,\n        \"max\": 1,\n        \"num_unique_values\": 2,\n        \"samples\": [\n          0,\n          1\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"discret_floor\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 132.85438744806694,\n        \"min\": 0.0,\n        \"max\": 8664.0,\n        \"num_unique_values\": 985,\n        \"samples\": [\n          56.0,\n          624.0\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"discret_quantile\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 1,\n        \"min\": 0,\n        \"max\": 3,\n        \"num_unique_values\": 4,\n        \"samples\": [\n          2,\n          0\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"log10\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 0.7204346083099966,\n        \"min\": 0.47712125471966244,\n        \"max\": 7.9377302532189224,\n        \"num_unique_values\": 60505,\n        \"samples\": [\n          5.721859233694926,\n          4.672208727480268\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"standardization\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 1.0000075494203933,\n        \"min\": -0.3423971445288709,\n        \"max\": 64.87481346211443,\n        \"num_unique_values\": 60505,\n        \"samples\": [\n          0.054327101331522486,\n          -0.3070126501418395\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"min-max\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 0.015333491575589227,\n        \"min\": 0.0,\n        \"max\": 1.0,\n        \"num_unique_values\": 60505,\n        \"samples\": [\n          0.006083121957687368,\n          0.0005425637505481874\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"box-cox\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 1.7797911492680423,\n        \"min\": 0.6945945264409107,\n        \"max\": 19.320114569096447,\n        \"num_unique_values\": 60505,\n        \"samples\": [\n          13.711324659569385,\n          11.113942241716503\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    }\n  ]\n}"
            }
          },
          "metadata": {},
          "execution_count": 25
        }
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "Vo_BVRwkHxW5"
      },
      "source": [
        "### デフォルトとBox-Cox写像との比較"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "7XOJpSFjHxW6",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 637
        },
        "outputId": "8607613b-f982-430f-a88a-bb1d046a3b4f"
      },
      "source": [
        "fig, (ax1, ax2) = plt.subplots(2, 1, figsize=(10,10))\n",
        "fig.subplots_adjust(hspace=0.4)\n",
        "\n",
        "# default values\n",
        "temp['viewCount'].hist(ax=ax1, bins=100, log=True)\n",
        "ax1.tick_params(labelsize=fontsize)\n",
        "ax1.set_title('default', fontsize=fontsize)\n",
        "ax1.set_xlabel('viewCounts', fontsize=fontsize)\n",
        "ax1.set_ylabel('Freqency (log)', fontsize=fontsize)\n",
        "\n",
        "# box-cox\n",
        "temp['box-cox'].hist(ax=ax2, bins=100)\n",
        "ax2.tick_params(labelsize=fontsize)\n",
        "ax2.set_title('box-cox', fontsize=fontsize)\n",
        "ax2.set_xlabel('viewCounts', fontsize=fontsize)\n",
        "ax2.set_ylabel('Freqency', fontsize=fontsize)"
      ],
      "execution_count": 26,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "Text(0, 0.5, 'Freqency')"
            ]
          },
          "metadata": {},
          "execution_count": 26
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 1000x1000 with 2 Axes>"
            ],
            "image/png": "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48aN9dRTT2nAgAHWdzECAEoPgmEJmD17tr799lvrrwULFphdEgDgBvztb3/Tzp079cgjj+jPP//U0qVLlZycrH//+9/64osvChxTrlw5xcbGasGCBerUqZNOnDihpUuXatOmTbp48aKefPJJLV26VMHBwTdcxyOPPKKtW7eqY8eO+vXXX7VixQqdPn1a48aN09q1awt8nYYklS9fXtu3b9fTTz8tSVq7dq2OHTumgQMHaseOHfL19b3pc7JkyRL169dPqamp+uKLLzRnzhwtXLjwpvcDAHBsFuNmlzRDobZs2aL27dvr22+/VevWrc0uBwAAAABuCDOGAAAAAODkSn0wPHz4sGbMmKGIiAg1btxYZcqUkcViKXARgYIsXrxYYWFhqlChgry8vNS0aVNNnTq1yIfwH374Ybm6uqpKlSoaOHCgdXU5AAAAAHBEpf49hrNmzVJ0dPQtjR0+fLiio6NVpkwZdejQQd7e3tq0aZNefvllrVy5UrGxsfL09LT29/X11UsvvaSwsDB5e3tr586dmjx5sr799lvFx8fLw8PDVl8LAAAAAGym1AfDRo0aadSoUWrevLlatGihSZMm6bPPPrvuuGXLlik6Olre3t7aunWrWrRoIUn6448/1KFDB23btk1jx47VW2+9ZR3TvHlzNW/e3Po5LCxMLVq0UJcuXfTf//5XERERNv9+AAAAAFBcpf5W0gEDBmjatGnq16+f6tevLxeXG/vKkyZNkiRFRUVZQ6Ek+fn56b333pMkzZw5U+fPny9yP507d1bFihW1a9euW/wGAAAAAFCySn0wvBUnT560Brl+/frla2/btq0CAgKUmZmpNWvW3NA+LRaLTWsEAAAAAFsp9beS3oqEhARJUsWKFVWrVq0C+4SEhCgpKUkJCQnq27dvoftav369zp49q1atWhXaJzMzU5mZmdbPOTk5Onv2rCpVqkSgBAAAAJyYYRhKS0tT9erVb/jux1tBMCxAYmKiJCkwMLDQPgEBAXn6StJTTz2lWrVqqWXLlipXrpx27typN998U82aNdMTTzxR6L4mT56s8ePH26h6AAAAAKVNUlKS/P39S2z/BMMCpKWlSZK8vLwK7ePt7S1JSk1NtW5r2LChFixYoOjoaF28eFH+/v567rnn9Prrr8vd3b3QfY0ePVojR460fj5//rwCAwOVmJiocuXKFffr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+j/QvL295e3tbe2/b98+HThwQO+//35Jl25FMAQAlEqOGAgl6eOPP9YXX3whNzc3xcbG6p577snXx2KxqEuXLmrfvr3i4+NNqBIAYEtDhw7VgQMHtHDhQlWvXl1Lly7Vgw8+qB9//FF33XVXvv6zZ89W3bp11a5dO7vVyK2kAACHdujQIVksFlWoUEGXLl0qtF9ISIgsFouWL18u6frPGG7cuFGPPPKIqlWrJnd3d915553q3bu3vv322zz9DMOQn5+fXFxcdObMmTxt33//vfU5kPfeey/fMWrXri2LxaKff/7Zuq833nhDkjR48OACQ+G13NzcdO+99+bb/v333ys8PFzVq1e31t6jRw/FxcUVuJ/rnYvcZ1vGjRtX6PaUlBRFRkYqICBA7u7uCggI0AsvvKBz587lO1b79u0lSVu3bs3zrExQUJC1X2ZmpqZNm6aWLVuqXLlycnd3V9WqVRUaGqp//etfOnv2bJHnBgBuFydOnNAnn3yixYsXq127dgoODtaoUaPUtm1bffLJJ/n6X7p0SfPnz9dzzz1n1zoJhgAAh1a/fn3de++9OnfuXKEP8//444/avXu3qlSpou7du193n6NGjVKnTp20fPlyBQYGqlevXqpdu7aWL1+udu3a5fkXtcViUYcOHWQYhjZu3JhnPxs2bCjw95L0888/KzExUbVq1VLt2rWtdeaGxGeeeeaGvv9fffTRR7r33nu1ePFiVa1aVX369NFdd92lVatWqUuXLho/fvwt7bcoSUlJatGihZYsWaJWrVqpc+fOSktL08yZM9WlSxdlZWVZ+z744IN64IEHJElVqlTRM888Y/3Vp08fSVJOTo66d++uf/3rX/rpp5/Url079enTR40bN1ZKSoqmTZumEydO2Px7AIAZfvzxR2VnZ6tu3brWW0a9vb21detWHTt2LF//pUuXKi0t7Zb/PXGruJUUAODwnn32WX377beaO3eunnjiiXztuUHuqaeeUpkyRf+r7aOPPtLbb7+tOnXqaMmSJWrSpIm17euvv9ZDDz2kQYMGqW3bttbbezp16qTFixdrw4YNCg8Pt/bfsGGD3N3dVbt2bW3evFnZ2dnWZwVzg2KnTp2s/XNvC3V3d89z3Bv1448/asiQITIMQ59++qn69+9vbVu7dq169eqlcePG6b777lPnzp1vev+F+fjjjxUREaH3339fHh4ekq6GxXvvvVe7du3Sl19+qb59+0qSoqKi1Lp1a61fv17169fX3Llz8+1v27Zt2rhxo5o3b66tW7eqXLlyedrj4+MVEBBgs/oBwEwXLlyQq6urdu/ened5ckl5nivMNXv2bD300EOqUqWKvUqUxIwhAOA28Pjjj6ts2bKKi4vTyZMn87RlZWXp888/lyT9/e9/L3I/OTk51tslFy5cmC+c3X///Ro7dqwuX76sDz74wLo9N9xdOyt48eJF7dixQ/fee6969Oihc+fO5XkesKBgmJKSIkmqWLHidQNsQaKjo3XlyhX17t07TyiUri58MHDgQEnStGnTbnrfRfH391dMTIw1FEqy3koq5Z8tvZ7ff/9dktSuXbt8oVC6eltwpUqVilExADiO5s2bKzs7W6dPn1adOnXy/KpatWqevomJidq8ebPdbyOVCIYAgNtAuXLl1KdPH+Xk5OjTTz/N07Z69WqlpKSoVatWatiwYZH7SUhI0KlTpxQcHKyWLVsW2Cd3hbgdO3ZYt9WuXVu1atVSYmKi9bafb775RpmZmercuXO+4GgYhjZt2iSLxaKOHTve0ncuSO4zghEREQW25/6HxDfffKPs7GybHbdjx44qW7Zsvu133323JOUL69fTokULubq66uOPP1ZMTIx+/fVXm9QJAGa5cOGC9u7dq71790q6GvD27t2rEydOqG7dunryySf19NNP66uvvlJiYqK+//57TZ48WatXr86zn48//ljVqlUrcoXTkkIwBADcFp599llJyndrYu5tpNebLZRkfb7v2LFjBb5I2GKxqFWrVpL+N7uX66/hL/efnTt3Vrt27eTh4WHdlpCQoDNnzqhZs2Z5Zr4qV64sSTp79uwtBbfcAFarVq0C24ODgyVdXbjgrwvlFEdhK7z6+PhYj3czgoOD9Z///EdZWVkaOnSoqlevrqCgIPXt21fz58/X5cuXi10zANhTfHy8mjdvrubNm0uSRo4cqebNm+u1116TdPXfVU8//bReeukl1atXT7169dKuXbvy/P2ak5OjuXPnKiIiIt8tp/bAM4YAgNvC/fffr+DgYB05ckQ7duzQfffdp9OnT2vNmjW64447Cnz28K9ycnIkSVWrVrUukFIYPz+/PJ87deqkjz76SHFxcXr++ee1YcMGVahQQSEhIXJxcdF9992n7du3KyMjo8Db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qF5//XWdOXMmX//169froYce0p133il3d3dVr15djz/+uOLj4/N9x5o1a8pisej999/Pt58LFy6ofv36slgsevPNN2+6bgCAY7EYhmGYXQQAAPaWu/DMiBEj9O6776pNmzYKCAjQjz/+qP3796tMmTJatGiRevfunWfczz//rA4dOuiXX35R5cqVdf/99ysrK0ubN29WWlqaWrRooQ0bNqhChQrWMQ8//LBWrFihJ554Qv/973+t2/ft26fWrVvrypUr2rp1q+67776b+g7Dhg3TjBkzJEnNmjVT/fr1df78eR0+fFg///yzNm/erLCwMGv/sWPHauLEibJYLLrvvvsUGBiogwcPau/evXJ1ddWHH36oZ5991tp/586dateunVxdXfXtt9+qWbNm1rZ+/frpv//9r7p3766VK1eykA8A3O4MAACckCRDkuHp6Wls3LgxT9vUqVMNSYavr6/x+++/52m75557DElGz549jQsXLli3nz592mjRooUhyejXr1+eMX/++acRFBRkSDJmzZplGIZhpKamGnfddZchyZg2bdpN1z99+nRDklGpUiVj06ZN+dp37txpnDhxwvp57dq1hiTjjjvuMGJjY/P0nT17tiHJcHNzM/bv35+n7T//+Y8hybjrrruM1NRUwzAMY9asWYYkIzAw0Dhz5sxN1w4AcDwEQwCAU8oNhsOHDy+wPSQkxJBkvPHGG9Zt33zzjSHJKFu2rPHbb7/lGxMfH29IMlxcXIykpKQ8bd9//73h7u5ueHh4GAkJCUZ4eLghyejRo4eRk5NzU7VnZWUZlStXNiQZS5YsuaExHTt2NCQZI0eOLLD9oYceMiQZ//jHP/K1PfLII4Yk4/HHHzf27NljeHh4GG5ubsa33357U3UDABwXzxgCAJzaM888U+D2p59+WpK0ZcsW67bc3z/44IOqUqVKvjEtW7ZU06ZNlZOTo61bt+ZpCw0N1VtvvaXMzEyFhYVp0aJFqlmzpubNm3fTt2Hu3r1bKSkp8vPzy3era0GuXLmi7du3S5IiIiIK7PPcc89JkjZv3pyv7eOPP1bt2rX1xRdfqH379srMzNSUKVPUunXrm6obAOC4yphdAAAAZqpVq1aR25OTk63bTp48WeQYSQoODta+ffusfa/1wgsvaNWqVYqNjZXFYtHChQvzPIuYa/bs2dq2bVu+7VFRUapf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enqBYy9cuGD9/bV/GLljCxt37dii/hBHjx6tkSNHWj+npqYqICBAXbp0KXRcVlaW4uLi1LlzZ7m5uRW6b9ge594cnHfzcO7N4SznvdG49WaXkI+Hi6EJITkaG++izJz870u+GfvHPWCjqpyDs1z3jobzbp4bOfdF3XloS7dFMHzppZc0ffp0lS9fXrGxsdZVSW9GxYoVdeedd+rXX39VcnKydXu5cuVUsWJFnT17VidOnFDTpk3zjc1d/dTPzy/PbaNBQUHas2ePTpw4UeAxr72FNCgoqNDaPDw85OHhkW+7m5vbdX84b6QPSgbn3hycd/Nw7s1R2s97ZnbxgldJysyxFLu+0vxnV5JK+3XvqDjv5inq3Nvrz8ThX1fxr3/9S++88458fX0VGxtb6Aqg15Odna3z589LUr7VSVu0aCFJio+PL3Bs7vbcfjc7zsvL66ZnOAEAAADAXhx6xjAqKkrTpk2Tr6+v4uLiFBoaesv7WrFihTIyMmSxWPKFy969e2vDhg1auHChXn/99TzvMszJydEXX3whSXrkkUfyjOvVq5deffVVbd++XSdOnMi3OumCBQskST169OD/vgAA4ISColYX2nZ8Snc7VgIARXPYGcNXX31Vb775psqXL39DofDEiRP6/PPPdenSpXxty5Ytsy4O8+STT6pq1ap52iMiIlS9enUdOXJEY8eOzdM2duxYHTlyRP7+/vleddGwYUM9/PDDys7O1nPPPaeLFy9a29auXau5c+fKxcVFo0ePvqnvDgAAAAD25JAzhitWrNAbb7whSapTp45iYmIK7Ofn56e33npLknT27Fn1799fgwcPVvPmzVWjRg1dvHhRBw4c0NGjRyVJ7du316xZs/Ltp2zZslq0aJG6dOmiSZMmacWKFWrUqJH279+v/fv3y8vLS4sXL5anp2e+sR9++KEOHDigDRs2KDg4WO3atdPp06e1detWGYah6OhoNWnSxFanBgAAAABsziGD4dmzZ62/j4+PL/QZvpo1a1qDYUBAgF5++WXt2rVLP/30k/bs2aPLly/Lz89PDz30kPr166fHH388z22i12rTpo327dunCRMmaMOGDVqyZIkqV66sp59+Wq+99pqCg4MLHHfnnXcqPj5ekydP1pIlS7R8+XJ5eXnpgQce0KhRo9SxY8ding0AAAAAKFkOGQwjIiIUERFxU2Mq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cnJySRwaAAAAAHCTbBoMY2Nj1bNnT9WpU0fTpk1Tenq6nn32We3du1enTp1SbGysWrdurX379mnEiBG2PDQAAAAA4BYV6z2GkpSamqpPPvlEs2bN0tGjR2UYhmrUqKHBgwfr+eefV6VKlax9O3XqpA4dOqhZs2batGlTcQ8NAAAAALCBYgXDwYMHa/78+UpPT5dhGLr33ns1bNgw9enTR66urgWOcXFxUUhIiP7v//6vOIcGAAAAANhIsYLhBx98IHd3d/Xr108vvviiQkJCbmjc/fffL8MwinNoAAAAAICNFCsYvvbaaxo8eLCqVKlyU+MiIiIUERFRnEMDAAAAAGykWMFw3LhxNioDAAAANyooanWhbcendLdjJQBKi2KtSvrnn3/q66+/1smTJwvtc/LkSX399dc6d+5ccQ4FAAAAACghxZoxjI6O1oQJE7Rz507VqFGjwD6//vqr2rdvr3//+9965ZVXinM4AABwg4qaUQIA4K+KNWO4Zs0a1a5du8hFZ0JCQlSrVi2tWrWqOIcCAAAAAJSQYgXD48ePq169etftV79+fSUmJhbnUAAAAACAElKsYJiamipfX9/r9vPx8eEZQwAAAABwUMUKhpUrV9ahQ4eu2+/w4cOqWLFicQ4FAAAAACghxQqGrVu31t69e/X1118X2uebb75RQkKCWrduXZxDAQAAAABKSLGC4eDBg2UYhvr06aPly5fna1++fLn69Okji8WiQYMGFedQAAAAAIASUqzXVXTo0EFDhw7VzJkz9cgjj8jPz8+6GM2RI0eUkpIiwzA0ePBgdenSxSYFAwAAAABsq1jBUJKmT5+uu+66SxMmTFBKSopSUlKsbX5+fnrllVf04osvFvcwAAAAAIASUuxgKEkvvPCChgwZot27d+uXX36RJAUGBiokJESurq62OAQAAAAAoITYJBhKkqurq1q1aqVWrVrZapcAAAAAADso1uIzAAAAAIDbn01mDE+dOqXNmzfr5MmTunTpUoF9LBaLxo4da4vDAQAAAABsqNjBcOTIkZo5c6ays7MlSYZh5Gm3WCwyDINgCAAAAAAOqljB8J133tG7774ri8WiBx54QHfffbd8fHxsVRsAAAAAwA6KFQznzJmjMmXKKDY2VmFhYTYqCQAAAABgT8VafObYsWNq27YtoRAAAAAAbmPFCoblypVTtWrVbFULAAAAAMAExQqG7dq10759+2xVCwAAAADABMV6xvC1115T69atNXv2bA0YMMBWNQEAgBsQFLXa7BIAAKVEsYJhamqqRo4cqeeff16xsbF66KGHFBgYKBeXgici77///uIcDgAAAABQAooVDMPCwqzvKVyyZImWLFlSaF+LxaIrV64U53AAAAAAgBJQrGB4//33y2Kx2KoWAAAAAIAJihUMt2zZYqMyAAAAAABmKdaqpCXp8OHDmjFjhiIiItS4cWOVKVNGFotFEydOLHTMuHHjZLFYivx16NChQsf/9NNPioiIkL+/vzw8POTv76+IiAj9/PPPRdaalpamMWPGqF69evL09JSfn5+6d++uTZs23fL3BwAAuBVBUasL/QUAhSnWjOFfXb58WWfOnJGHh4cqVqxYrH3NmjVL0dHRtzS2adOmatasWYFtvr6+BW7fvn27unTpooyMDDVs2FBt27bV/v37NW/ePH355ZfasGGDWrdunW/c6dOn1a5dOx05ckTVqlVTjx499Pvvv2vt2rVau3atoqOj9cILL9zS9wAAAAAAe7DJjOHnn3+uVq1aycvLS/7+/ho1apS1benSperXr58SExNvap+NGjXSqFGjNH/+fB08eFD9+/e/4bG9evXS3LlzC/xVrVq1fP0zMjIUHh6ujIwMjR49Wvv379fChQu1f/9+jR49Wunp6QoPD9fFixfzjR04cKCOHDmijh076qefftKiRYu0detWrVq1Si4uLho+fLh++OGHm/ruAAAAAGBPxQ6GAwYM0DPPPKP4+Hh5enrKMIw87XXr1tXChQuLXLG0sP1OmzZN/fr1U/369Qt9BYYtzJ07V6dOnVLdunXz3ao6ceJE1a1bV0lJSfr000/ztB04cEDLly+Xq6ur5syZo7Jly1rbunXrpoiICOXk5Gjy5MklVjsAAAAAFFex0tb8+fP18ccfq1GjRtq1a5fOnz+fr0/Dhg3l7++vtWvXFudQJWrp0qWSpCeeeCJfAHVxcdHjjz8uSfrqq68KHNemTRvVrFkz33779esnSVq5cqWysrJsXjcAAAAA2EKxnjH88MMP5e3trVWrVikgIKDQfo0bN9bBgweLc6ibsmfPHkVFRens2bPy9fVV8+bN1aNHD5UrV67A/gkJCZKkkJCQAttzt+f2u9lx6enpOnr0qBo0aHDzXwYAAAAASlixguG+fft0zz33FBkKJalixYr6/fffi3Oom7Jy5UqtXLkyzzZfX19Nnz5dTz/9dJ7taWlpOnPmjCQpMDCwwP3lfr+UlBSlp6fLy8tLkqzPTRY2zsfHRz4+PkpNTVViYmKhwTAzM1OZmZnWz6mpqZKkrKysQmcac7czE2l/nHtzcN7Nw7k3x42cdw9Xo9A23DoPFyPPP0sTR/855u8bc3DezXMj595efy7FCoaZmZmFrvJ5rZSUFLm6uhbnUDckODhYkyZNUteuXa23dh44cEBTpkzRqlWr9Mwzz8jV1VVPPvmkdUxaWpr197mB76+8vb2tv09NTbX2yx1b2LjcsampqdawV5DJkydr/Pjx+bbHxsbmeW6xIHFxcUW2o+Rw7s3BeTcP594cRZ33qa3sWIgTmhCSY3YJNrdmzRqzS7gh/H1jDs67eYo69xkZGXapoVjBsEaNGte9RdQwDB04cEC1atUqzqFuSEErl7Zp00YrV67UsGHDNGPGDI0YMUKPPfaY3N3dS7yeGzV69GiNHDnS+jk1NVUBAQHq0qWLfHx8ChyTlZWluLg4de7cWW5ubvYqFeLcm4Xzbp7/1969x0VZ5///fw4IqBxEJUUEBLW0VSsN7KCuB9RS00LN0k2jLCuz0nQ3sTVxrfST27qadrDwVLqoKR7SDDU10c0kDy1fKzymZqXpIgiGHK7fH/5m1onhMMzgAPO4327cYq734XrPi/dczcvrut4XsXeN8sS9bcJn13lU7sHHw9C0qCJNTvNQXpHJ1cNxqvSEe1w9hFJxvHEN4u465Yl9aSeYnMmhxDAmJkYffPCB1q5dq/vvv99mnQ8//FCnT5/WkCFDHNmVwxISEvT222/r3Llz2rNnj7p06SJJVvcd5uTk2Gx76dIly+/XJmrmtiW1u7ZtSQmeJPn4+MjHx6fYdi8vrzI/nOWpg8pB7F2DuLsOsXeN9q99rrzCkpKTmpW0VDV5RaZSYl89VZfPMMcb1yDurlNa7K/X38ShVUknTJggHx8fDRs2TP/85z915swZS9mFCxf07rvvavTo0fL19dXzzz/v8GAd0aBBAzVq1EiSdPr0act2f39/NWjQQJJ08uRJm21PnTolSQoKCrK6bDQiIqLUdtdeQmquCwAAAABVjUOJ4Y033qjFixerqKhI48ePV1hYmEwmkxYvXqwbbrhBzz77rAoKCrRo0aISF2i5XgoLCy2P0/j96qQdOnSQJKWlpdlsa95urmdvO19fX910000VHDkAAAAAVC6Hnxr/4IMPau/evXrwwQfl7+8vwzBkGIZq166t/v3769///rcGDRrkjLE6ZN26dcrNzZXJZCr2eInY2FhJUlJSkoqKrG80Lyoq0vLlyyVJAwcOtCp74IEHJEm7du2yedZw2bJlkqT+/ftzWh4AAABAleVwYihJbdu2VVJSkv773//q7Nmz+vnnn5Wdna01a9aoffv2zthFmU6ePKmPPvpIv/32W7GyNWvW6IknnpAk/elPf1JwcLBVeVxcnEJCQpSRkaHJkydblU2ePFkZGRkKDQ0t9qiLNm3a6P7771dhYaFGjhypy5cvW8o+/fRTLVq0SB4eHoqPj3fW2wQAAAAAp3No8ZnfM5lMCgoKckpf+/bt0+jRoy2vjx49Kkl677339Mknn1i2Jycnq0mTJrpw4YKGDx+uZ555Ru3bt1fTpk11+fJlHTp0SIcPH5Ykde/eXe+8806xfdWtW1crVqxQ79699frrr2vdunVq27at0tPTlZ6eLl9fX61cuVJ16tQp1nb+/Pk6dOiQtmzZohYtWqhLly46e/asduzYIcMwNHv2bN1yyy1OiQkAAAAAVAanJobOlJWVpT179hTbfvr0aavFY8wPhg8LC9NLL72kvXv36siRI9q3b5+uXLmioKAg3XfffRo2bJgeeugheXjYPknaqVMnHTx4UNOmTdOWLVu0atUq3XDDDRoxYoReeeUVtWjRwma7Ro0aKS0tTdOnT9eqVau0du1a+fr66p577tGECRMUExPjhGgAAAAAQOVxKDF8/PHHK9zWZDIpMTGxxPJu3brJMIxy99ewYUPNmDGjwuORpJYtW2rx4sV2twsICND06dM1ffp0h/YPAABQmSImbiix7MSMftdxJACqGocSw0WLFkm6muRJKpbIlbTdXFZaYggAAAAAuD4cSgwXLlyovXv36u2331ZwcLCGDBmiyMhISdKJEye0cuVKnTlzRqNHj1Z0dLRTBgwAAAAAcC6HEsPbb79dzzzzjEaPHq0333xTPj4+VuX/93//p/Hjx2vBggV66qmn1K5dO4cGCwAAAABwPoceV5GQkKAmTZpozpw5xZJCSfL29tbs2bMVHByshIQER3YFAAAAAKgkDiWGX3zxhe64444SV/qUJA8PD91xxx3auXOnI7sCAAAAAFQShxLD7Oxs/fe//y2z3n//+19dunTJkV0BAAAAACqJQ4lhy5YttX37dmVkZJRY5/vvv9e2bdtKfA4gAAAAAMC1HEoMR44cqby8PHXr1k3vv/++cnNzLWW5ubn64IMPFBMTo/z8fI0cOdLhwQIAAAAAnM+hVUmfe+457dixQ2vXrtXTTz+tp59+WkFBQZKkX3/9VdLVZxgOGDBAzz//vOOjBQAAAAA4nUNnDD09PbV69Wq99dZbat68uQzD0Llz53Tu3DkZhqHIyEjNmTNHycnJpS5QAwAAAABwHYfOGEqSyWTSs88+q2effVZnzpzR6dOnJUlNmzZV06ZNHR4gAAAAAKByOZwYXiskJEQhISHO7BIAAAAAUMmclhhevHhRe/fu1blz59SsWTPdfffdzuoaAIAaLWLihmLbfDwNvdHRBYMBALglh2/8y87O1hNPPKFGjRrpnnvu0SOPPKIPPvjAUv7BBx8oJCREe/bscXRXAAAAAIBK4FBiePnyZXXr1k0LFixQ/fr11adPHxmGYVXnvvvu0y+//KI1a9Y4sisAAAAAQCVxKDH8xz/+of3792vo0KE6evSoPvnkk2J1goODdfPNN2vbtm2O7AoAAAAAUEkcSgyXL1+u4OBgJSYmytfXt8R6N910k2W1UgAAAABA1eJQYnj06FF17NhRtWvXLrVe3bp1LQ+8BwAAAABULQ4/4D4/P7/MeqdPny71jCIAAAAAwHUcSgxbtGihgwcPqqCgoMQ6ly5d0jfffKObb77ZkV0BAAAAACqJQ4nhgAED9NNPP+nVV18tsc6rr76qixcvKjY21pFdAQAAAAAqiUOJ4bhx49S0aVNNmzZNDzzwgJYtWyZJ+uWXX7R69Wo9/PDDmjlzpiIiIvT00087ZcAAAAAAAOeq5UjjwMBAbdq0SQMGDNC6deu0fv16mUwmbdq0SZs2bZJhGGrWrJnWr1/PPYYAAABVWMTEDSWWnZjR7zqOBIArOJQYStIf/vAHpaena9GiRdq4caOOHTumoqIihYWFqU+fPho1apTq1q3rjLECAAAAACqBQ4nhF198IU9PT3Xq1ElPP/00l4sCAAAAQDXk0D2G3bp10+TJk501FgAAAACACziUGNavX18hISHOGgsAAAAAwAUcSgxvu+02HT582FljAQAAAAC4gEOJ4fPPP6+9e/dqw4aSV7ECAAAAAFRtDi0+0759e40ZM0axsbGKi4vToEGDFBERoTp16tisHx4e7sjuAAAAAACVwKHEMDIyUpJkGIYSExOVmJhYYl2TyaSCggJHdgcAAAAAqAQOJYZhYWEymUzOGgsAADVWaQ8PBwDA1exKDOfMmaM//OEP6tmzpyTpxIkTlTEmAAAAAMB1ZFdiOHbsWMXFxVkSw2v16NFDffr00Z///GenDQ4AAACuV9oZ7xMz+l3HkQCoLA5dSnqt7du3KyIiwlndAQAAAACuE4ceVwEAAAAAqP6qbGL4/fff66233lJcXJzatWunWrVqyWQy6dVXXy2z7ZYtW9S3b18FBQWpTp06at26tV5++WVdunSp1HZHjhxRXFycQkND5ePjo9DQUMXFxenYsWOltsvOztakSZPUqlUr1alTR0FBQerXr58+//xzu94zAAAAALhClU0M33nnHT3//PNavHix0tPTVVhYWK52s2bNUq9evbRp0ya1adNG/fv318WLF/X6668rKipKv/76q812u3bt0q233qrFixcrMDBQsbGxCgwM1OLFi3XLLbfoyy+/tNnu7NmzioqK0vTp05Wdna3+/furTZs2+vTTT9WzZ0+99dZbFY4BAAAAAFwPVTYxbNu2rSZMmKClS5fq22+/1fDhw8tss3//fo0fP16enp7asGGDduzYoRUrVujo0aOKiYnR999/r6effrpYu9zcXA0ZMkS5ubmKj49Xenq6kpKSlJ6ervj4eOXk5GjIkCG6fPlysbajRo1SRkaGYmJidOTIEa1YsUI7duzQJ598Ig8PD40dO1bffPONU2ICAAAAAJXB7sVnjhw5oiVLlthdJkkjRowo936eeOIJq9ceHmXnsNOnT5dhGHrsscfUp08fy/a6desqMTFRzZs316pVq/Tdd9+pdevWlvJFixbpzJkzuummm4pdqvrqq69q1apVysjI0JIlS/TUU09Zyg4dOqS1a9fK09NTiYmJqlu3rqWsb9++iouLU2JioqZPn65//etf5X7vAAAAAHA92Z0Y7tq1S7t27Sq23WQylVhmLrcnMbTXlStXtGHD1aWUhw0bVqy8WbNm6tSpk3bu3Knk5GTFx8dbypKTkyVJDz/8cLEE1MPDQw899JCmTZum1atXWyWG5nadOnVSs2bNiu1z2LBhSkxM1Pr165Wfny8vLy/H3ygAAAAAOJldiWF4eLhMJlNljcUhGRkZys3NlSRFRUXZrBMVFaWdO3dq//79VtvNr0trd209e9vl5OTo8OHD+sMf/lCetwIAAAAA15VdieGJEycqaRiOO378uCQpMDBQ/v7+NuuEhYVZ1ZWurih6/vx5SVcT39LanTt3Tjk5OfL19bXqp6R2AQEBCggIUFZWlo4fP05iCAAAAKBKctoD7l0tOztbkixJmy1+fn6SpKysrGLtSmtrbmdua65X3n1mZWVZ7fP38vLylJeXZ7UPScrPz1d+fr7NNubtJZWj8hB71yDurkPsncPH07Cvvodh9V9cP8TePs48NnC8cQ3i7jrlif31+rvUmMSwOps+fbqmTp1abHtKSorVgja2bN68ubKGhTIQe9cg7q5D7B3zRseKtZsWVeTcgaDciH35bNy40el9crxxDeLuOqXF3ny7XGWrMYmh+fLRnJycEuuYH3AfEBBQrF1pbc3tSmpr7z5/Lz4+Xi+++KLldVZWlsLCwtS7d+8S2+Xn52vz5s3q1asXi9pcZ8TeNYi76xB752ib8Jld9X08DE2LKtLkNA/lFVXN+/trKmJvn/SEe5zWF8cb1yDurlOe2Jd25aEz1ZjEMCIiQpKUmZmp7Oxsm/cZnjp1yqqudDW5a9CggS5cuKCTJ0/q1ltvLbFdUFCQ1WWjERER2rdvn06ePGlzTNdeQnrtPn/Px8dHPj4+xbZ7eXmV+eEsTx1UDmLvGsTddYi9Y/IKK5Zg5BWZKtwWjiH25VMZxwWON65B3F2ntNhfr79JlX3Avb1atWpluewyLS3NZh3z9g4dOlhtN7+urHa+vr666aabynwPAAAAAOAKNSYx9Pb2Vr9+/SRJy5YtK1b+ww8/aPfu3ZKk2NhYqzLz66SkJBUVWd9PUFRUpOXLl0uSBg4caFX2wAMPSLr6bEdbZw3N4+jfvz//+gIAbiBi4oYSfwAAqMpqTGIoSRMnTpTJZNLChQu1adMmy/bc3FyNHDlShYWFGjRokFq3bm3VLi4uTiEhIcrIyNDkyZOtyiZPnqyMjAyFhoZqxIgRVmVt2rTR/fffr8LCQo0cOVKXL1+2lH366adatGiRPDw8FB8fXwnvFgAAAACco8reY7hv3z6NHj3a8vro0aOSpPfee0+ffPKJZXtycrKaNGki6eqlnW+++aZefPFF9e3bV127dlWjRo20c+dO/fTTT2rVqpXefffdYvuqW7euVqxYod69e+v111/XunXr1LZtW6Wnpys9PV2+vr5auXKl6tSpU6zt/PnzdejQIW3ZskUtWrRQly5ddPbsWe3YsUOGYWj27Nm65ZZbnB0eAACAKqG0M+InZvS7jiMB4IgqmxhmZWVpz549xbafPn1ap0+ftry+9vl/kjRu3Di1a9dOb775pr766ivl5OQoPDxc8fHxio+Pt7kojSR16tRJBw8e1LRp07RlyxatWrVKN9xwg0aMGKFXXnlFLVq0sNmuUaNGSktL0/Tp07Vq1SqtXbtWvr6+uueeezRhwgTFxMQ4EAUAAAAAqHxVNjHs1q2bDKNiD5bt2bOnevbsaXe7li1bavHixXa3CwgI0PTp0zV9+nS72wIAAACAq9WoewwBAAAAAPYjMQQAAAAAN0diCAAAAABujsQQAAAAANwciSEAAAAAuLkquyopAAAAqjeecQhUH5wxBAAAAAA3R2IIAAAAAG6OS0kBACin0i6LAwCgOuOMIQAAAAC4ORJDAAAAAHBzJIYAAAAA4OZIDAEAAADAzZEYAgAAAICbIzEEAAAAADdHYggAAAAAbo7EEAAAAADcHA+4BwAAwHUXMXFDsW0+nobe6OiCwQDgjCEAAAAAuDsSQwAAAABwc1xKCgAAgCqlbcJnyis02Sw7MaPfdR4N4B44YwgAAAAAbo7EEAAAAADcHIkhAAAAALg5EkMAAAAAcHMsPgMAwDVsPVsNAICajjOGAAAAAODmSAwBAAAAwM2RGAIAAACAmyMxBAAAAAA3R2IIAAAAAG6OxBAAAAAA3ByJIQAAAAC4ORJDAAAAAHBzJIYAAAAA4OZquXoAAAAAQHlFTNxQYtmJGf2u40iAmoUzhgAAAADg5mpcYhgXFyeTyVTqz2+//Waz7ddff60HH3xQjRs3Vu3atRUZGannnntOZ8+eLXWfv/zyi8aMGaPIyEj5+PiocePGevDBB7Vv377KeIsAAACwIWLihhJ/AJSuxl5K2qlTJ7Vs2dJmmaenZ7FtH3/8sYYOHaqCggJFR0crMjJSaWlpmjt3rlauXKnU1FSb/WVkZKhLly46e/asmjdvrgceeEDHjx/Xxx9/rDVr1mjFihWKjY11+vsDAAAAAGepsYnhE088obi4uHLVPXPmjB599FEVFBTovffe06hRoyRJhYWFiouL00cffaRhw4Zpz549MplMlnaGYejhhx/W2bNnNXz4cC1cuNCSdM6fP19PPfWURowYocOHDys4ONjp7xEAUDGcPQAAwFqNu5S0Iv75z38qNzdXPXv2tCSF0tUzi++8847q1aunvXv3KiUlxardp59+qv379yswMFBvv/221ZnIUaNGKSYmRpcuXdLs2bOv23sBAAAAAHuRGEpKTk6WJA0bNqxYmZ+fnwYMGCBJWr16tc12AwYMkJ+fX7G25v5+3w4AAAAAqpIaeynptm3b9J///EfZ2dlq2LChOnbsqL59+8rHx8eqXnZ2to4cOSJJioqKstlXVFSUPvzwQ+3fv99qu/l1ae0k6fDhw8rJyZGvr69D7wkAAAAAKkONTQyXLFlSbFuTJk20YMEC3XvvvZZtJ06csPweHh5us6+wsDBJ0vHjx622m1+X1c4wDJ04cUJt2rSxWS8vL095eXmW11lZWZKk/Px85efn22xj3l5SOSoPsXcN4u46NTH2Pp6Gq4dQJh8Pw+q/uH6IvetUZuxr0jHM2Wricb66KE/sr9ffxWQYRo066s2aNUuenp6KiYlReHi4Ll++rIMHDyohIUG7d++Wl5eXUlJS1K1bN0nS7t271alTJ0lXg16rVvFcefPmzerdu7e8vb2tEjhvb2/l5+dr8+bN6tmzZ7F2+fn58vb2tuznrrvusjnmhIQETZ06tdj2ZcuWqW7dunbHAAAAAEDNkJubq2HDhunixYsKCAiotP3UuDOG48aNs3rt7++vXr16qWfPnoqNjdXatWs1duxYHThwwDUDtCE+Pl4vvvii5XVWVpbCwsLUu3fvEv/45oS0V69e8vLyul5DhYi9qxB316mJsW+b8Jmrh1AmHw9D06KKNDnNQ3lFprIbwGmIvetUZuzTE+5xan81SU08zlcX5Ym9+WrCylbjEsOSmEwmTZ06VWvXrtXBgwd16tQphYWFyd/f31InJydH9erVK9b20qVLklQsSfP399eFCxeUk5Njc5/mdrbaXsvHx6fYvY+S5OXlVeaHszx1UDmIvWsQd9epSbHPK6w+X/bzikzVarw1CbF3ncqIfU05flWmmnScr25Ki/31+pu4TWIoSTfffLPl99OnTyssLEzNmjWzbDt58qTatWtXrN2pU6ckSREREVbbIyIidOHCBZ08edLm/sztTCaT1X4AAJWPZxUCAFB+bvW4ivPnz1t+N58pDAgIUMuWLSVJaWlpNtuZt3fo0MFqu/l1We1uvPFGm4+zAAAAAICqwK0Sw6SkJElXk8FWrVpZtsfGxkq6utjL7126dEnr16+XJA0cONCqzNxu3bp1Ni8nNff3+3YAAAAAUJXUqMTwwIEDWrdunQoKCqy2FxUVKTExUZMmTZIkPf/881bX6o4dO1Z169bVli1b9P7771u2FxYWavTo0crMzFR0dLR69+5t1W+fPn3Uvn17ZWZmavTo0SosLLSUzZ8/X1u3bpWfn59eeOGFyni7AAAAAOAUNeoewxMnTig2Nlb169dXhw4d1LhxY2VmZio9Pd1yH+DQoUM1ZcoUq3YhISFatGiRhg4dqlGjRikxMVERERHau3evjh07psaNG2vZsmUymaxvgjaZTPrXv/6lLl26aMmSJUpNTVV0dLSOHz+ur776SrVq1dKSJUsUHBx83WIAAAAAAPaqUWcMb731Vo0dO1Zt2rTRd999p9WrV2vr1q2SpMGDB2vDhg1atmyZzWcVPvjgg9qzZ48GDhyoY8eOKTk5WYWFhXr22Wd18OBBy32Iv9eqVSt98803evbZZ1VYWKjk5GQdP35cAwcO1J49eyyXmwIAAABAVVWjzhhGRkZq1qxZFW5/++23a9WqVXa3Cw4O1ty5czV37twK7xsAAAAAXKVGnTEEAAAAANivRp0xBAAAAGwp7dmmJ2b0u44jAaomEkMAQLXFQ+wBAHAOLiUFAAAAADdHYggAAAAAbo5LSQEAAODWuP8Q4IwhAAAAALg9EkMAAAAAcHMkhgAAAADg5kgMAQAAAMDNkRgCAAAAgJtjVVIAQJXGQ+wBAKh8JIYAAABACXiUBdwFl5ICAAAAgJsjMQQAAAAAN8elpAAAl+M+QgAAXIszhgAAAADg5kgMAQAAAMDNcSkpAOC64HJRAACqLhJDAAAAoAJ4lAVqEi4lBQAAAAA3R2IIAAAAAG6OxBAAAAAA3Bz3GAIAnIYFZgAAqJ5IDAEAAAAnY2EaVDdcSgoAAAAAbo7EEAAAAADcHIkhAAAAALg5EkMAAAAAcHMsPgMAsAsrjwIAUPNwxhAAAAAA3ByJIQAAAAC4OS4lBQAUc+3loj6eht7oKLVN+Ex5hSYXjgoAAFQWEkMAAADgOirtXu0TM/pdx5EA/8OlpAAAAADg5kgMAQAAAMDNcSmpE61cuVLz5s3TwYMHdeXKFbVs2VJ/+tOfNG7cOHl5ebl6eAAAAKjiKvpIIC5BhaNIDJ1k7Nixmj17tmrVqqUePXrIz89Pn3/+uV566SWtX79eKSkpqlOnjquHCQAWPI8QAACYkRg6wZo1azR79mz5+flpx44d6tChgyTp119/VY8ePZSamqrJkyfr73//u4tHCgAAgJqIBW3gKO4xdILXX39dkjRx4kRLUihJQUFBevvttyVJc+fO1cWLF10yPgAAAAAoDWcMHfTjjz9q7969kqRhw4YVK+/cubPCwsJ06tQpbdy4UUOHDr3eQwTgxrhcFADA2USUB4mhg/bv3y9JatCggSIjI23WiYqK0qlTp7R//34SQwAVQoIHAAAqE4mhg44fPy5JCg8PL7FOWFiYVV0A7osEDwBQlURM3CAfT0NvdJTaJnymvEKTVTlnFN0HiaGDsrOzJUm+vr4l1vHz85MkZWVl2SzPy8tTXl6e5bX5XsQLFy4oPz/fZpv8/Hzl5ubq/PnzPArjOiP2ruFI3O+YvrWSRmW/6njQrVVkKDe3SLXyPVRYZCq7AZyCuLsOsXcdYu8apcW95YQVTt/fnviYEstK+392ae2qq/J8vzHnG4ZhVOpYquN3lBpn+vTpmjp1arHtJV2aCgDXW/E7qHE9EHfXIfauQ+xd43rGPejN69uupsjOzla9evUqrX8SQwf5+/tLknJyckqsc+nSJUlSQECAzfL4+Hi9+OKLltdFRUW6cOGCGjZsKJPJ9r+WZWVlWRa1KalfVA5i7xrE3XWIvWsQd9ch9q5D7F2DuLtOeWJvGIays7MVEhJSqWMhMXRQRESEJOnUqVMl1jGXmev+no+Pj3x8fKy2BQYGlmv/AQEBfIBdhNi7BnF3HWLvGsTddYi96xB71yDurlNW7CvzTKEZzzF0UPv27SVJ58+fL3FxmbS0NEmyesYhAAAAAFQVJIYOCg0NVXR0tCRp2bJlxcpTU1N16tQp+fj4qG/fvtd7eAAAAABQJhJDJ5g0aZIkacaMGdq3b59l+/nz5zV69GhJ0pgxY5x6CtjHx0dTpkwpdgkqKh+xdw3i7jrE3jWIu+sQe9ch9q5B3F2nKsXeZFT2uqdu4oUXXtCcOXPk5eWlmJgY+fr6auvWrcrMzFSnTp20efNm1alTx9XDBAAAAIBiSAydaMWKFZo3b54OHDig/Px8tWjRQo888ojGjRsnb29vVw8PAAAAAGwiMQQAAAAAN8c9hgAAAADg5kgMq4iVK1eqW7duql+/vnx9fXXrrbfqjTfeUH5+foX6+/rrr/Xggw+qcePGql27tiIjI/Xcc8/p7NmzTh559ZSfn6+tW7fqz3/+s6KjoxUYGCgvLy8FBwdrwIAB2rBhg919JiQkyGQylfrz3XffVcK7qV7i4uLKjNNvv/1md7/M+dKdOHGizLibf7744oty9cmc/5/vv/9eb731luLi4tSuXTvVqlVLJpNJr776apltt2zZor59+yooKEh16tRR69at9fLLL+vSpUsVHs+RI0cUFxen0NBQ+fj4KDQ0VHFxcTp27FiF+6yq7I19UVGRdu/erVdeeUWdO3dWw4YN5eXlpaCgIPXq1UtLly5VRS6mWrRoUZmfh02bNjn6dquMisz5yjxmMOdLj315j/9Lliwp9zjcac47+r2xuhznecB9FTB27FjNnj1btWrVUo8ePeTn56fPP/9cL730ktavX6+UlBS7Fq75+OOPNXToUBUUFCg6OlqRkZFKS0vT3LlztXLlSqWmpqply5aV+I6qvh07dqhXr16SpODgYHXu3Fm+vr46dOiQ1q9fr/Xr12vUqFF69913ZTKZ7Or71ltv1W233Waz7Ho8nLS66NSpU4nz0NPT066+mPNl8/Pz06OPPlpi+aFDh7R37175+/vr9ttvt6tv5rz0zjvvaPbs2Xa3mzVrll588UWZTCZ16dJFjRs31s6dO/X6669r1apVSk1NVVBQkF197tq1S71791Zubq7atGmjzp07Kz09XYsXL9bHH3+sLVu26M4777R7rFWVvbE/duyYOnXqJElq0KCBoqKiVL9+fR07dkxbtmzRli1blJSUpFWrVlVofYAWLVqoc+fONsuaNm1qd39VVUXnvOT8YwZzvmylHf9Pnjypbdu2yWQyqWvXrnaPxx3mvCPfG6vVcd6ASyUnJxuSDD8/P+Prr7+2bD937pzRrl07Q5Ixfvz4cvf3448/GnXr1jUkGe+9955le0FBgfHII48Ykozo6GijqKjIqe+jutm6dasxaNAg44svvihWlpSUZHh6ehqSjMWLF5e7zylTphiSjClTpjhxpDXPo48+akgyFi5c6JT+mPPO0adPH0OS8eSTT5a7DXP+f95//31jwoQJxtKlS41v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\n"
          },
          "metadata": {}
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "rY_NZkJCfUyE",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 375
        },
        "outputId": "94b5fd6b-e972-4afa-d85c-27b1eecb9baa"
      },
      "source": [
        "# 似ている分布、log-scaledとの比較\n",
        "\n",
        "fig, ax = plt.subplots(figsize=(10,5))\n",
        "\n",
        "# log-scaled\n",
        "temp['log10'].hist(ax=ax, bins=100)\n",
        "ax.tick_params(labelsize=fontsize)\n",
        "ax.set_title('log10', fontsize=fontsize)\n",
        "ax.set_xlabel('viewCounts (log-scaled)', fontsize=fontsize)\n",
        "ax.set_ylabel('Freqency', fontsize=fontsize)\n"
      ],
      "execution_count": 27,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "Text(0, 0.5, 'Freqency')"
            ]
          },
          "metadata": {},
          "execution_count": 27
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 1000x500 with 1 Axes>"
            ],
            "image/png": "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A1kslhz9mzdvrjvvvNPhsStUqOBw+7Zt29SpUyelp6ercePGuv/++5WYmKh58+ZpyZIl2rBhg+65554c/U6fPq22bdsqOTlZNWrUUPfu3XXq1CmtW7dO69at04wZM/Tss8/e/GQAAAAAQD6UyHDn5uamxx57TM8995zatm1r17Zo0SL1799fc+bMUZs2bTRw4MAc/Xv27Kno6Oh8j5eenq6+ffsqPT1dUVFRmjp1qq1t4sSJiomJUd++fbVv3z6VK1fOru/w4cOVnJyssLAwrVy5Ut7e3pKktWvXqkePHhozZowefPBBNWvWrAAzAABA6RAywfHVOACAgiuRl2W2b99eS5YsyRHsJKlfv36KjIyUJM2fP79Qxps7d65OnDihBg0aaMqUKXZtU6ZMUYMGDXT06NEc4yUlJWnFihVyd3dXbGysLdhJUteuXRUZGans7GzFxMQUSp0AAAAAkJsSGe5upEWLFpKko0ePFsrxli9fLkl6/PHH5eZmPyVubm7q16+fJGnZsmUO+7Vp00a1a9fOcdyIiAhJ0qpVq5SZmVkotQIAAACAIyXysswb+e233yRJNWrUcNi+a9cuTZgwQefPn1eFChXUokULde/eXb6+vg73T0hIkCSFhoY6bLdut+5X0H5paWn67bffdMcdd+T1tgAAgMnkddnp4WndirESAKXBLRfu/vjjD82dO1eS9Nhjjzncx/rQletVqFBBM2fOzHGPXmpqqs6dOydJCg4Odni8oKAgSdKZM2eUlpYmHx8fSdKhQ4fy7Ofn5yc/Pz+lpKTo0KFDuYa7jIwMZWRk2F6npKRI+uupoZzxKxzWeWQ+ixfz7jrMvWsw7wXn5W44fww3w+73W4UZPid85l2DeXcdV8x9Qca6pcLdtWvX9OSTT+rixYtq2rSpRowYYdder149TZ06VV26dLFdJpmUlKRp06Zp9erVGjRokNzd3dW/f39bn9TUVNvX1tD2d+XLl7d9nZKSYtvP2je3fta+KSkptsDmSExMjF577bUc2+Pi4uzu44Pz1q9f7+oSSiXm3XWYe9dg3vPvX60L71iTQ7ML72DFYO3ata4uodDwmXcN5t11inPu09PT873vLRXuRo4cqY0bN6py5cpasmSJPD097doHDBiQo0+bNm20atUqjR49Wu+++67Gjh2rPn365OjrSlFRURo3bpztdUpKioKC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X331lTp06KDz58/rjTfeUL169RQeHq6NGzcWxlAAAAAAAAcKdZ07i8WiHj166L///a/27t2r4cOHKysrSytXrlSnTp3UuHFjxcbG8pRNAAAAAChkRbKI+e+//66PP/5YS5culSQZhqFq1arp119/1fDhw3XXXXfp2LFjRTE0AAAAAJRKhRru4uLi1KNHD9WvX1/Tp09XWlqahgwZot27d+vEiROKi4vTPffcoz179mjs2LGFOTQAAAAAlGplnD1ASkqKPv30U82ePVu//fabDMNQrVq19NRTT2nEiBGqXLmybd8OHTqoffv2uvPOO/XNN984OzQAAAAA4P9zKtw99dRT+vzzz5WWlibDMHTvvfdq9OjR6t27t9zd3R32cXNzU2hoqH755RdnhgYAAAAAXMepcPfhhx/K09NTEREReu655xQaGpqvfg888IAMw3BmaAAAAADAdZwKd6+88oqeeuopVatWrUD9IiMjFRkZ6czQAAAAAIDrOBXuoqOjC6kMAAAAAIAznHpa5p9//qnNmzfr+PHjue5z/Phxbd68WRcuXHBmKAAAAABAHpwKdzNmzNBDDz2kkydP5rrPyZMn9dBDD+m9995zZigAAAAAQB6cCndr165V3bp183yQSmhoqOrUqaPVq1c7MxQAAAAAIA9OhbvDhw+rYcOGN9yvUaNGOnTokDNDAQAAAADy4NQDVVJSUlShQoUb7ufn58c9dwAAFKOQCWtcXQIAoJg5deauSpUq2rt37w3327dvnypVquTMUAAAAACAPDh15u6ee+7RsmXLtHnzZj3wwAMO99myZYsSEhLUs2dPZ4YCAABAPuR11vbwtG7FWAmA4ubUmbunnnpKhmGod+/eWrFiRY72FStWqHfv3rJYLBo5cqQzQwEAAAAA8uDUmbv27dvrmWee0axZs9SrVy8FBATYHrCSnJysM2fOyDAMPfXUU+rUqVOhFAwAAAAAyMmpcCdJM2fO1G233abJkyfrzJkzOnPmjK0tICBAL730kp577jlnhwEAAAAA5MHpcCdJzz77rEaNGqWffvpJv//+uyQpODhYoaGhcnd3L4whAAAAAAB5KJRwJ0nu7u5q3bq1WrduXViHBAAAAADkk1MPVAEAAAAAlAyFcubuxIkT2rRpk44fP64rV6443MdisWjSpEmFMRwAAAAA4G+cDnfjxo3TrFmzlJWV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WrRIfn5+mjFjhgYMGCB3d3dbu2EYWr9+vaKiorR//34XVnrr2LFjhxYsWKA+ffqoadOmri4HRSAwMFDDhg3TrFmztHLlSvXo0cPVJQG4BXDmDgBMIDg4WI0aNZK3t7erS7HzySefaNGiRfLw8FBcXJwiIyPtgp0kWSwWderUST/88IP69evnokpvLe+8844kaejQoa4tBEXK+udr/fMGgBsh3AFACbF3715ZLBZVrFhRV65cyXW/0NBQWSwWrVixwrbtRvfcbdy4Ub169VKNGjXk6empqlWrKjw8XN9//73dfoZhKCAgQG5ubjp37pxd248//iiLxSKLxaL3338/xxh169aVxWLRwYMHbcd6/fXXJUlPPfWU7r777jzfv4eHh+69994c23/88Uf17dtXNWvWtNXevXt3rV+/3uFxbjQXud1Tdf32M2fO6Omnn1ZQUJA8PT0VFBSkZ599VhcuXMgx1kMPPSRJio+Pt83P3+95y8jI0PTp03XXXXfJ19dXnp6eql69ulq1aqUXX3xR58+fz3Nurnfq1CktWbJENWvWVMeOHfPdz+rYsWN69tlnddttt6ls2bKqUKGC2rRpow8//FBZWVkO+xiGoU8++UShoaHy9vZW5cqV1aVLF3333XdOXZb6008/qV+/fgoMDJSnp6f8/PxUt25dPfbYY3af77/3GTRokOrUqaOyZcuqUqVKat68uV544QX9/vvvdvsuW7ZMw4YNU5MmTVSxYkWVLVtWderU0ZAhQ7Rv374C1ytJycnJGjFihOrVq2ebvwceeECfffZZrn3Onz+vMWPGqHbt2vLy8lJwcLCeeeaZG/6533nnnWrevLk2bdrEPakA8oVwBwAlRKNGjXTvvffqwoUL+uqrrxzu87///U8//fSTqlWrpm7duuXruOPHj1eHDh20YsUKBQcHq2fPnqpbt65WrFihtm3b6tNPP7Xta7FY1L59exmGoY0bN9odZ8OGDQ6/lqSDBw/q0KFDqlOnjurWrWur1Rr0Bg0alK9a/+6jjz7Svffeqy+//FLVq1dX7969ddttt2n16tXq1KmTXnvttZs6bl6OHj2qli1baunSpWrdurU6duyo1NRUzZo1S506dVJmZqZt34cfflidO3eWJFWrVk2DBg2y/erdu7ckKTs7W926ddOLL76o/fv3q23bturdu7eaNm2qM2fOaPr0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\n"
          },
          "metadata": {}
        }
      ]
    },
    {
      "cell_type": "markdown",
      "source": [
        "## 演習\n",
        "1. dislikeCountの出現頻度をヒストグラムとして描画してみよう。数値はそのまま用いるものとする。ビン数は50とすること。\n",
        "1. 1のヒストグラムにおいて、ビン数を10〜100の間で変更し、描画されるグラフへの影響を確認してみよう。\n",
        "1. 1のヒストグラムにおいて、カウント数をlogスケールで描画してみよう。\n",
        "1. 1のヒストグラムにおいて、カウント数を標準化して描画してみよう。\n",
        "1. 1のヒストグラムにおいて、カウント数をBox-Cox写像して描画してみよう。\n",
        "1. 前処理なし、logスケール、標準化、Box-Cox写像、各々によるヒストグラム上の違いを確認してみよう。"
      ],
      "metadata": {
        "id": "J2lk5avzkZof"
      }
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "329eSZL8fuCD"
      },
      "source": [],
      "execution_count": 27,
      "outputs": []
    }
  ]
}