{
  "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.7.1"
    },
    "colab": {
      "name": "Regression Project - Industry Dataset Solution.ipynb",
      "provenance": [],
      "collapsed_sections": []
    }
  },
  "cells": [
    {
      "cell_type": "code",
      "metadata": {
        "id": "4om-pNcQGNlO",
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "outputId": "7a544d92-d501-4498-d881-1f3d07ae73c0"
      },
      "source": [
        "from google.colab import drive\n",
        "drive.mount('/content/drive')"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "Mounted at /content/drive\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "YyPHLRhlFeRY"
      },
      "source": [
        "import pandas as pd\n",
        "import numpy as np\n",
        "import warnings \n",
        "warnings.filterwarnings(\"ignore\")\n",
        "from pandas_profiling import ProfileReport "
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "gm4LijgtFeRq",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 226
        },
        "outputId": "7414984d-4346-40b3-a61f-5980f30e20dc"
      },
      "source": [
        "df = pd.read_csv('/content/drive/My Drive/collab projects/Regression Project - Industry Dataset/Hazard_train.csv')\n",
        "df.head()"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>Id</th>\n",
              "      <th>Hazard</th>\n",
              "      <th>T1_V1</th>\n",
              "      <th>T1_V2</th>\n",
              "      <th>T1_V3</th>\n",
              "      <th>T1_V4</th>\n",
              "      <th>T1_V5</th>\n",
              "      <th>T1_V6</th>\n",
              "      <th>T1_V7</th>\n",
              "      <th>T1_V8</th>\n",
              "      <th>T1_V9</th>\n",
              "      <th>T1_V10</th>\n",
              "      <th>T1_V11</th>\n",
              "      <th>T1_V12</th>\n",
              "      <th>T1_V13</th>\n",
              "      <th>T1_V14</th>\n",
              "      <th>T1_V15</th>\n",
              "      <th>T1_V16</th>\n",
              "      <th>T1_V17</th>\n",
              "      <th>T2_V1</th>\n",
              "      <th>T2_V2</th>\n",
              "      <th>T2_V3</th>\n",
              "      <th>T2_V4</th>\n",
              "      <th>T2_V5</th>\n",
              "      <th>T2_V6</th>\n",
              "      <th>T2_V7</th>\n",
              "      <th>T2_V8</th>\n",
              "      <th>T2_V9</th>\n",
              "      <th>T2_V10</th>\n",
              "      <th>T2_V11</th>\n",
              "      <th>T2_V12</th>\n",
              "      <th>T2_V13</th>\n",
              "      <th>T2_V14</th>\n",
              "      <th>T2_V15</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>83642</td>\n",
              "      <td>2</td>\n",
              "      <td>10</td>\n",
              "      <td>23</td>\n",
              "      <td>4</td>\n",
              "      <td>N</td>\n",
              "      <td>K</td>\n",
              "      <td>Y</td>\n",
              "      <td>B</td>\n",
              "      <td>D</td>\n",
              "      <td>E</td>\n",
              "      <td>2</td>\n",
              "      <td>H</td>\n",
              "      <td>B</td>\n",
              "      <td>10</td>\n",
              "      <td>0</td>\n",
              "      <td>A</td>\n",
              "      <td>K</td>\n",
              "      <td>N</td>\n",
              "      <td>52</td>\n",
              "      <td>14</td>\n",
              "      <td>N</td>\n",
              "      <td>8</td>\n",
              "      <td>C</td>\n",
              "      <td>2</td>\n",
              "      <td>37</td>\n",
              "      <td>1</td>\n",
              "      <td>11</td>\n",
              "      <td>2</td>\n",
              "      <td>Y</td>\n",
              "      <td>N</td>\n",
              "      <td>E</td>\n",
              "      <td>2</td>\n",
              "      <td>1</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>92530</td>\n",
              "      <td>6</td>\n",
              "      <td>3</td>\n",
              "      <td>18</td>\n",
              "      <td>2</td>\n",
              "      <td>B</td>\n",
              "      <td>H</td>\n",
              "      <td>N</td>\n",
              "      <td>B</td>\n",
              "      <td>B</td>\n",
              "      <td>D</td>\n",
              "      <td>8</td>\n",
              "      <td>L</td>\n",
              "      <td>B</td>\n",
              "      <td>10</td>\n",
              "      <td>3</td>\n",
              "      <td>A</td>\n",
              "      <td>B</td>\n",
              "      <td>N</td>\n",
              "      <td>39</td>\n",
              "      <td>14</td>\n",
              "      <td>Y</td>\n",
              "      <td>13</td>\n",
              "      <td>A</td>\n",
              "      <td>2</td>\n",
              "      <td>34</td>\n",
              "      <td>1</td>\n",
              "      <td>12</td>\n",
              "      <td>7</td>\n",
              "      <td>Y</td>\n",
              "      <td>N</td>\n",
              "      <td>C</td>\n",
              "      <td>3</td>\n",
              "      <td>3</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2</th>\n",
              "      <td>86131</td>\n",
              "      <td>4</td>\n",
              "      <td>5</td>\n",
              "      <td>20</td>\n",
              "      <td>4</td>\n",
              "      <td>B</td>\n",
              "      <td>K</td>\n",
              "      <td>N</td>\n",
              "      <td>B</td>\n",
              "      <td>B</td>\n",
              "      <td>E</td>\n",
              "      <td>7</td>\n",
              "      <td>H</td>\n",
              "      <td>B</td>\n",
              "      <td>15</td>\n",
              "      <td>1</td>\n",
              "      <td>A</td>\n",
              "      <td>K</td>\n",
              "      <td>N</td>\n",
              "      <td>66</td>\n",
              "      <td>10</td>\n",
              "      <td>N</td>\n",
              "      <td>8</td>\n",
              "      <td>C</td>\n",
              "      <td>1</td>\n",
              "      <td>40</td>\n",
              "      <td>1</td>\n",
              "      <td>17</td>\n",
              "      <td>4</td>\n",
              "      <td>Y</td>\n",
              "      <td>N</td>\n",
              "      <td>D</td>\n",
              "      <td>1</td>\n",
              "      <td>1</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>3</th>\n",
              "      <td>88666</td>\n",
              "      <td>1</td>\n",
              "      <td>4</td>\n",
              "      <td>7</td>\n",
              "      <td>5</td>\n",
              "      <td>N</td>\n",
              "      <td>H</td>\n",
              "      <td>N</td>\n",
              "      <td>B</td>\n",
              "      <td>B</td>\n",
              "      <td>B</td>\n",
              "      <td>8</td>\n",
              "      <td>B</td>\n",
              "      <td>B</td>\n",
              "      <td>15</td>\n",
              "      <td>3</td>\n",
              "      <td>A</td>\n",
              "      <td>B</td>\n",
              "      <td>N</td>\n",
              "      <td>48</td>\n",
              "      <td>11</td>\n",
              "      <td>N</td>\n",
              "      <td>11</td>\n",
              "      <td>B</td>\n",
              "      <td>2</td>\n",
              "      <td>37</td>\n",
              "      <td>1</td>\n",
              "      <td>11</td>\n",
              "      <td>6</td>\n",
              "      <td>Y</td>\n",
              "      <td>N</td>\n",
              "      <td>D</td>\n",
              "      <td>2</td>\n",
              "      <td>1</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>4</th>\n",
              "      <td>11122</td>\n",
              "      <td>21</td>\n",
              "      <td>10</td>\n",
              "      <td>21</td>\n",
              "      <td>6</td>\n",
              "      <td>N</td>\n",
              "      <td>C</td>\n",
              "      <td>Y</td>\n",
              "      <td>B</td>\n",
              "      <td>C</td>\n",
              "      <td>D</td>\n",
              "      <td>12</td>\n",
              "      <td>L</td>\n",
              "      <td>B</td>\n",
              "      <td>10</td>\n",
              "      <td>1</td>\n",
              "      <td>A</td>\n",
              "      <td>I</td>\n",
              "      <td>N</td>\n",
              "      <td>42</td>\n",
              "      <td>11</td>\n",
              "      <td>N</td>\n",
              "      <td>11</td>\n",
              "      <td>A</td>\n",
              "      <td>2</td>\n",
              "      <td>40</td>\n",
              "      <td>1</td>\n",
              "      <td>6</td>\n",
              "      <td>6</td>\n",
              "      <td>N</td>\n",
              "      <td>N</td>\n",
              "      <td>D</td>\n",
              "      <td>5</td>\n",
              "      <td>5</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>"
            ],
            "text/plain": [
              "      Id  Hazard  T1_V1  T1_V2  T1_V3  ... T2_V11 T2_V12 T2_V13 T2_V14 T2_V15\n",
              "0  83642       2     10     23      4  ...      Y      N      E      2      1\n",
              "1  92530       6      3     18      2  ...      Y      N      C      3      3\n",
              "2  86131       4      5     20      4  ...      Y      N      D      1      1\n",
              "3  88666       1      4      7      5  ...      Y      N      D      2      1\n",
              "4  11122      21     10     21      6  ...      N      N      D      5      5\n",
              "\n",
              "[5 rows x 34 columns]"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 3
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "M3mVoSoKFeR6",
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "outputId": "905faf91-d8a0-4fcd-993b-843b71b8354f"
      },
      "source": [
        "print(df.shape)"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "(40799, 34)\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "kdVFcLloFeSs"
      },
      "source": [
        "cols = df.columns\n",
        "predictors = df[cols[2:]]\n",
        "target = df['Hazard']"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "v3g2ArmvFeS2",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 320
        },
        "outputId": "c6e5b866-8566-45bf-e41b-d3938b436651"
      },
      "source": [
        "df.describe()"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>Id</th>\n",
              "      <th>Hazard</th>\n",
              "      <th>T1_V1</th>\n",
              "      <th>T1_V2</th>\n",
              "      <th>T1_V3</th>\n",
              "      <th>T1_V10</th>\n",
              "      <th>T1_V13</th>\n",
              "      <th>T1_V14</th>\n",
              "      <th>T2_V1</th>\n",
              "      <th>T2_V2</th>\n",
              "      <th>T2_V4</th>\n",
              "      <th>T2_V6</th>\n",
              "      <th>T2_V7</th>\n",
              "      <th>T2_V8</th>\n",
              "      <th>T2_V9</th>\n",
              "      <th>T2_V10</th>\n",
              "      <th>T2_V14</th>\n",
              "      <th>T2_V15</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>count</th>\n",
              "      <td>40799.000000</td>\n",
              "      <td>40799.000000</td>\n",
              "      <td>40799.000000</td>\n",
              "      <td>40799.000000</td>\n",
              "      <td>40799.000000</td>\n",
              "      <td>40799.000000</td>\n",
              "      <td>40799.000000</td>\n",
              "      <td>40799.000000</td>\n",
              "      <td>40799.000000</td>\n",
              "      <td>40799.000000</td>\n",
              "      <td>40799.000000</td>\n",
              "      <td>40799.000000</td>\n",
              "      <td>40799.000000</td>\n",
              "      <td>40799.000000</td>\n",
              "      <td>40799.000000</td>\n",
              "      <td>40799.000000</td>\n",
              "      <td>40799.000000</td>\n",
              "      <td>40799.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>mean</th>\n",
              "      <td>50850.454276</td>\n",
              "      <td>4.009584</td>\n",
              "      <td>9.723645</td>\n",
              "      <td>12.849359</td>\n",
              "      <td>3.190691</td>\n",
              "      <td>7.025123</td>\n",
              "      <td>14.009902</td>\n",
              "      <td>1.582416</td>\n",
              "      <td>57.568641</td>\n",
              "      <td>12.410451</td>\n",
              "      <td>10.251403</td>\n",
              "      <td>1.947499</td>\n",
              "      <td>33.504620</td>\n",
              "      <td>1.031349</td>\n",
              "      <td>12.496973</td>\n",
              "      <td>4.489963</td>\n",
              "      <td>2.448344</td>\n",
              "      <td>3.482512</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>std</th>\n",
              "      <td>29282.641037</td>\n",
              "      <td>4.007785</td>\n",
              "      <td>5.170715</td>\n",
              "      <td>6.257502</td>\n",
              "      <td>1.742044</td>\n",
              "      <td>3.596619</td>\n",
              "      <td>4.649012</td>\n",
              "      <td>0.865121</td>\n",
              "      <td>23.461468</td>\n",
              "      <td>4.785406</td>\n",
              "      <td>4.845443</td>\n",
              "      <td>0.795249</td>\n",
              "      <td>5.830512</td>\n",
              "      <td>0.191676</td>\n",
              "      <td>7.313552</td>\n",
              "      <td>1.899386</td>\n",
              "      <td>1.257293</td>\n",
              "      <td>3.070911</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>min</th>\n",
              "      <td>2.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>2.000000</td>\n",
              "      <td>5.000000</td>\n",
              "      <td>0.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>22.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>1.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>25%</th>\n",
              "      <td>25596.500000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>6.000000</td>\n",
              "      <td>7.000000</td>\n",
              "      <td>2.000000</td>\n",
              "      <td>3.000000</td>\n",
              "      <td>10.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>40.000000</td>\n",
              "      <td>9.000000</td>\n",
              "      <td>6.000000</td>\n",
              "      <td>2.000000</td>\n",
              "      <td>31.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>6.000000</td>\n",
              "      <td>3.000000</td>\n",
              "      <td>2.000000</td>\n",
              "      <td>1.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>50%</th>\n",
              "      <td>50784.000000</td>\n",
              "      <td>3.000000</td>\n",
              "      <td>9.000000</td>\n",
              "      <td>14.000000</td>\n",
              "      <td>3.000000</td>\n",
              "      <td>8.000000</td>\n",
              "      <td>15.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>55.000000</td>\n",
              "      <td>11.000000</td>\n",
              "      <td>10.000000</td>\n",
              "      <td>2.000000</td>\n",
              "      <td>34.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>14.000000</td>\n",
              "      <td>4.000000</td>\n",
              "      <td>2.000000</td>\n",
              "      <td>2.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>75%</th>\n",
              "      <td>76198.500000</td>\n",
              "      <td>5.000000</td>\n",
              "      <td>14.000000</td>\n",
              "      <td>18.000000</td>\n",
              "      <td>4.000000</td>\n",
              "      <td>12.000000</td>\n",
              "      <td>20.000000</td>\n",
              "      <td>2.000000</td>\n",
              "      <td>77.000000</td>\n",
              "      <td>15.000000</td>\n",
              "      <td>14.000000</td>\n",
              "      <td>2.000000</td>\n",
              "      <td>40.000000</td>\n",
              "      <td>1.000000</td>\n",
              "      <td>18.000000</td>\n",
              "      <td>6.000000</td>\n",
              "      <td>3.000000</td>\n",
              "      <td>5.000000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>max</th>\n",
              "      <td>101999.000000</td>\n",
              "      <td>69.000000</td>\n",
              "      <td>19.000000</td>\n",
              "      <td>24.000000</td>\n",
              "      <td>9.000000</td>\n",
              "      <td>12.000000</td>\n",
              "      <td>20.000000</td>\n",
              "      <td>4.000000</td>\n",
              "      <td>100.000000</td>\n",
              "      <td>39.000000</td>\n",
              "      <td>22.000000</td>\n",
              "      <td>7.000000</td>\n",
              "      <td>40.000000</td>\n",
              "      <td>3.000000</td>\n",
              "      <td>25.000000</td>\n",
              "      <td>7.000000</td>\n",
              "      <td>7.000000</td>\n",
              "      <td>12.000000</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>"
            ],
            "text/plain": [
              "                  Id        Hazard  ...        T2_V14        T2_V15\n",
              "count   40799.000000  40799.000000  ...  40799.000000  40799.000000\n",
              "mean    50850.454276      4.009584  ...      2.448344      3.482512\n",
              "std     29282.641037      4.007785  ...      1.257293      3.070911\n",
              "min         2.000000      1.000000  ...      1.000000      1.000000\n",
              "25%     25596.500000      1.000000  ...      2.000000      1.000000\n",
              "50%     50784.000000      3.000000  ...      2.000000      2.000000\n",
              "75%     76198.500000      5.000000  ...      3.000000      5.000000\n",
              "max    101999.000000     69.000000  ...      7.000000     12.000000\n",
              "\n",
              "[8 rows x 18 columns]"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 6
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "bCMvHwSLFeTB",
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "outputId": "920f023d-ece9-4180-c99e-a219fe0b2821"
      },
      "source": [
        "objcol= df.select_dtypes(['object']).columns\n",
        "objcol"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "Index(['T1_V4', 'T1_V5', 'T1_V6', 'T1_V7', 'T1_V8', 'T1_V9', 'T1_V11',\n",
              "       'T1_V12', 'T1_V15', 'T1_V16', 'T1_V17', 'T2_V3', 'T2_V5', 'T2_V11',\n",
              "       'T2_V12', 'T2_V13'],\n",
              "      dtype='object')"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 7
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "AGfZOq4PFeTL",
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "outputId": "832a7598-8dad-4c20-b0bf-d796463291d2"
      },
      "source": [
        "cutoff = df.shape[0] * 0.05\n",
        "print(\"cutoff : \", cutoff)"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "cutoff :  2039.95\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "Ci1g8aHyFeTU",
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "outputId": "7472b0be-41fe-4ece-f428-12418dc015c5"
      },
      "source": [
        "for col in objcol:\n",
        "    freqs=df[col].value_counts()\n",
        "    selected_cats=freqs.index[freqs > cutoff]\n",
        "    \n",
        "    print(col)\n",
        "    for cat in selected_cats:\n",
        "        name=col+'_'+cat\n",
        "        \n",
        "        df[name]=(df[col]==cat).astype(int)\n",
        "    del df[col]"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "T1_V4\n",
            "T1_V5\n",
            "T1_V6\n",
            "T1_V7\n",
            "T1_V8\n",
            "T1_V9\n",
            "T1_V11\n",
            "T1_V12\n",
            "T1_V15\n",
            "T1_V16\n",
            "T1_V17\n",
            "T2_V3\n",
            "T2_V5\n",
            "T2_V11\n",
            "T2_V12\n",
            "T2_V13\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "CeaYGKubFeTd",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 226
        },
        "outputId": "a646de92-00cb-4026-a5c5-25ec28595948"
      },
      "source": [
        "df.head()"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>Id</th>\n",
              "      <th>Hazard</th>\n",
              "      <th>T1_V1</th>\n",
              "      <th>T1_V2</th>\n",
              "      <th>T1_V3</th>\n",
              "      <th>T1_V10</th>\n",
              "      <th>T1_V13</th>\n",
              "      <th>T1_V14</th>\n",
              "      <th>T2_V1</th>\n",
              "      <th>T2_V2</th>\n",
              "      <th>T2_V4</th>\n",
              "      <th>T2_V6</th>\n",
              "      <th>T2_V7</th>\n",
              "      <th>T2_V8</th>\n",
              "      <th>T2_V9</th>\n",
              "      <th>T2_V10</th>\n",
              "      <th>T2_V14</th>\n",
              "      <th>T2_V15</th>\n",
              "      <th>T1_V4_N</th>\n",
              "      <th>T1_V4_B</th>\n",
              "      <th>T1_V4_C</th>\n",
              "      <th>T1_V4_W</th>\n",
              "      <th>T1_V4_E</th>\n",
              "      <th>T1_V5_K</th>\n",
              "      <th>T1_V5_A</th>\n",
              "      <th>T1_V5_H</th>\n",
              "      <th>T1_V5_C</th>\n",
              "      <th>T1_V5_I</th>\n",
              "      <th>T1_V5_B</th>\n",
              "      <th>T1_V6_N</th>\n",
              "      <th>T1_V6_Y</th>\n",
              "      <th>T1_V7_B</th>\n",
              "      <th>T1_V8_B</th>\n",
              "      <th>T1_V9_D</th>\n",
              "      <th>T1_V9_E</th>\n",
              "      <th>T1_V9_B</th>\n",
              "      <th>T1_V11_B</th>\n",
              "      <th>T1_V11_H</th>\n",
              "      <th>T1_V11_L</th>\n",
              "      <th>T1_V11_J</th>\n",
              "      <th>T1_V12_B</th>\n",
              "      <th>T1_V15_A</th>\n",
              "      <th>T1_V16_I</th>\n",
              "      <th>T1_V16_B</th>\n",
              "      <th>T1_V16_R</th>\n",
              "      <th>T1_V16_K</th>\n",
              "      <th>T1_V16_A</th>\n",
              "      <th>T1_V16_E</th>\n",
              "      <th>T1_V17_N</th>\n",
              "      <th>T1_V17_Y</th>\n",
              "      <th>T2_V3_N</th>\n",
              "      <th>T2_V3_Y</th>\n",
              "      <th>T2_V5_A</th>\n",
              "      <th>T2_V5_B</th>\n",
              "      <th>T2_V5_C</th>\n",
              "      <th>T2_V11_Y</th>\n",
              "      <th>T2_V11_N</th>\n",
              "      <th>T2_V12_N</th>\n",
              "      <th>T2_V12_Y</th>\n",
              "      <th>T2_V13_E</th>\n",
              "      <th>T2_V13_A</th>\n",
              "      <th>T2_V13_C</th>\n",
              "      <th>T2_V13_D</th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>0</th>\n",
              "      <td>83642</td>\n",
              "      <td>2</td>\n",
              "      <td>10</td>\n",
              "      <td>23</td>\n",
              "      <td>4</td>\n",
              "      <td>2</td>\n",
              "      <td>10</td>\n",
              "      <td>0</td>\n",
              "      <td>52</td>\n",
              "      <td>14</td>\n",
              "      <td>8</td>\n",
              "      <td>2</td>\n",
              "      <td>37</td>\n",
              "      <td>1</td>\n",
              "      <td>11</td>\n",
              "      <td>2</td>\n",
              "      <td>2</td>\n",
              "      <td>1</td>\n",
              "      <td>1</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>1</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>1</td>\n",
              "      <td>1</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>1</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>1</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>1</td>\n",
              "      <td>1</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>1</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>1</td>\n",
              "      <td>0</td>\n",
              "      <td>1</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>1</td>\n",
              "      <td>1</td>\n",
              "      <td>0</td>\n",
              "      <td>1</td>\n",
              "      <td>0</td>\n",
              "      <td>1</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>1</th>\n",
              "      <td>92530</td>\n",
              "      <td>6</td>\n",
              "      <td>3</td>\n",
              "      <td>18</td>\n",
              "      <td>2</td>\n",
              "      <td>8</td>\n",
              "      <td>10</td>\n",
              "      <td>3</td>\n",
              "      <td>39</td>\n",
              "      <td>14</td>\n",
              "      <td>13</td>\n",
              "      <td>2</td>\n",
              "      <td>34</td>\n",
              "      <td>1</td>\n",
              "      <td>12</td>\n",
              "      <td>7</td>\n",
              "      <td>3</td>\n",
              "      <td>3</td>\n",
              "      <td>0</td>\n",
              "      <td>1</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>1</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>1</td>\n",
              "      <td>0</td>\n",
              "      <td>1</td>\n",
              "      <td>1</td>\n",
              "      <td>1</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>1</td>\n",
              "      <td>0</td>\n",
              "      <td>1</td>\n",
              "      <td>1</td>\n",
              "      <td>0</td>\n",
              "      <td>1</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>1</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>1</td>\n",
              "      <td>1</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>1</td>\n",
              "      <td>0</td>\n",
              "      <td>1</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>1</td>\n",
              "      <td>0</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2</th>\n",
              "      <td>86131</td>\n",
              "      <td>4</td>\n",
              "      <td>5</td>\n",
              "      <td>20</td>\n",
              "      <td>4</td>\n",
              "      <td>7</td>\n",
              "      <td>15</td>\n",
              "      <td>1</td>\n",
              "      <td>66</td>\n",
              "      <td>10</td>\n",
              "      <td>8</td>\n",
              "      <td>1</td>\n",
              "      <td>40</td>\n",
              "      <td>1</td>\n",
              "      <td>17</td>\n",
              "      <td>4</td>\n",
              "      <td>1</td>\n",
              "      <td>1</td>\n",
              "      <td>0</td>\n",
              "      <td>1</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>1</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>1</td>\n",
              "      <td>0</td>\n",
              "      <td>1</td>\n",
              "      <td>1</td>\n",
              "      <td>0</td>\n",
              "      <td>1</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>1</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>1</td>\n",
              "      <td>1</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>1</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>1</td>\n",
              "      <td>0</td>\n",
              "      <td>1</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>1</td>\n",
              "      <td>1</td>\n",
              "      <td>0</td>\n",
              "      <td>1</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>1</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>3</th>\n",
              "      <td>88666</td>\n",
              "      <td>1</td>\n",
              "      <td>4</td>\n",
              "      <td>7</td>\n",
              "      <td>5</td>\n",
              "      <td>8</td>\n",
              "      <td>15</td>\n",
              "      <td>3</td>\n",
              "      <td>48</td>\n",
              "      <td>11</td>\n",
              "      <td>11</td>\n",
              "      <td>2</td>\n",
              "      <td>37</td>\n",
              "      <td>1</td>\n",
              "      <td>11</td>\n",
              "      <td>6</td>\n",
              "      <td>2</td>\n",
              "      <td>1</td>\n",
              "      <td>1</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>1</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>1</td>\n",
              "      <td>0</td>\n",
              "      <td>1</td>\n",
              "      <td>1</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>1</td>\n",
              "      <td>1</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>1</td>\n",
              "      <td>1</td>\n",
              "      <td>0</td>\n",
              "      <td>1</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>1</td>\n",
              "      <td>0</td>\n",
              "      <td>1</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>1</td>\n",
              "      <td>0</td>\n",
              "      <td>1</td>\n",
              "      <td>0</td>\n",
              "      <td>1</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>1</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>4</th>\n",
              "      <td>11122</td>\n",
              "      <td>21</td>\n",
              "      <td>10</td>\n",
              "      <td>21</td>\n",
              "      <td>6</td>\n",
              "      <td>12</td>\n",
              "      <td>10</td>\n",
              "      <td>1</td>\n",
              "      <td>42</td>\n",
              "      <td>11</td>\n",
              "      <td>11</td>\n",
              "      <td>2</td>\n",
              "      <td>40</td>\n",
              "      <td>1</td>\n",
              "      <td>6</td>\n",
              "      <td>6</td>\n",
              "      <td>5</td>\n",
              "      <td>5</td>\n",
              "      <td>1</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>1</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>1</td>\n",
              "      <td>1</td>\n",
              "      <td>0</td>\n",
              "      <td>1</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>1</td>\n",
              "      <td>0</td>\n",
              "      <td>1</td>\n",
              "      <td>1</td>\n",
              "      <td>1</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>1</td>\n",
              "      <td>0</td>\n",
              "      <td>1</td>\n",
              "      <td>0</td>\n",
              "      <td>1</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>1</td>\n",
              "      <td>1</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>0</td>\n",
              "      <td>1</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>"
            ],
            "text/plain": [
              "      Id  Hazard  T1_V1  T1_V2  ...  T2_V13_E  T2_V13_A  T2_V13_C  T2_V13_D\n",
              "0  83642       2     10     23  ...         1         0         0         0\n",
              "1  92530       6      3     18  ...         0         0         1         0\n",
              "2  86131       4      5     20  ...         0         0         0         1\n",
              "3  88666       1      4      7  ...         0         0         0         1\n",
              "4  11122      21     10     21  ...         0         0         0         1\n",
              "\n",
              "[5 rows x 63 columns]"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 10
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "H_B594mfFeUM"
      },
      "source": [
        "def report(results, n_top=3):\n",
        "    for i in range(1, n_top + 1):\n",
        "        candidates = np.flatnonzero(results['rank_test_score'] == i)\n",
        "        for candidate in candidates:\n",
        "            print(\"Model with rank: {0}\".format(i))\n",
        "            print(\"Mean validation score: {0:.3f} (std: {1:.5f})\".format(\n",
        "                  results['mean_test_score'][candidate],\n",
        "                  results['std_test_score'][candidate]))\n",
        "            print(\"Parameters: {0}\".format(results['params'][candidate]))\n",
        "            print(\"\")"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "m1k5MkxwFeUf"
      },
      "source": [
        "X = df[df.columns[2:]]\n",
        "Y=pd.DataFrame()\n",
        "Y['Hazard'] = df['Hazard']"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "4C4gB2VUhCaO",
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "outputId": "bd12075b-4c8c-445f-9b3c-20a20b6a8d4f"
      },
      "source": [
        "Y.columns"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "Index(['Hazard'], dtype='object')"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 13
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "wSZzoftMFeUR"
      },
      "source": [
        "from sklearn.model_selection import RandomizedSearchCV, GridSearchCV\n",
        "from sklearn.tree import DecisionTreeRegressor \n",
        "from sklearn.linear_model import LinearRegression, Ridge,Lasso\n",
        "from sklearn.model_selection import train_test_split"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "71MzKvLLeNrU",
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "outputId": "71fd8105-8e0c-4842-cc26-278bcaf1cb06"
      },
      "source": [
        "import numpy as np\n",
        "lambdas=np.linspace(1,100,100)\n",
        "lm=Ridge(fit_intercept=True)\n",
        "params= {\n",
        "    'alpha':lambdas\n",
        "}\n",
        "ridgesearch=GridSearchCV(lm , param_grid=params , cv=10 ,n_jobs=-1,  scoring='neg_mean_absolute_error' ,  verbose=30)\n",
        "ridgesearch.fit(X,Y)"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "Fitting 10 folds for each of 100 candidates, totalling 1000 fits\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "[Parallel(n_jobs=-1)]: Using backend LokyBackend with 2 concurrent workers.\n",
            "[Parallel(n_jobs=-1)]: Done   1 tasks      | elapsed:    1.2s\n",
            "[Parallel(n_jobs=-1)]: Done   2 tasks      | elapsed:    1.2s\n",
            "[Parallel(n_jobs=-1)]: Done   3 tasks      | elapsed:    1.3s\n",
            "[Parallel(n_jobs=-1)]: Done   4 tasks      | elapsed:    1.3s\n",
            "[Parallel(n_jobs=-1)]: Done   5 tasks      | elapsed:    1.3s\n",
            "[Parallel(n_jobs=-1)]: Done   6 tasks      | elapsed:    1.3s\n",
            "[Parallel(n_jobs=-1)]: Done   7 tasks      | elapsed:    1.4s\n",
            "[Parallel(n_jobs=-1)]: Done   8 tasks      | elapsed:    1.4s\n",
            "[Parallel(n_jobs=-1)]: Done   9 tasks      | elapsed:    1.4s\n",
            "[Parallel(n_jobs=-1)]: Done  10 tasks      | elapsed:    1.4s\n",
            "[Parallel(n_jobs=-1)]: Done  11 tasks      | elapsed:    1.5s\n",
            "[Parallel(n_jobs=-1)]: Done  12 tasks      | elapsed:    1.5s\n",
            "[Parallel(n_jobs=-1)]: Done  13 tasks      | elapsed:    1.6s\n",
            "[Parallel(n_jobs=-1)]: Done  14 tasks      | elapsed:    1.6s\n",
            "[Parallel(n_jobs=-1)]: Done  15 tasks      | elapsed:    1.6s\n",
            "[Parallel(n_jobs=-1)]: Done  16 tasks      | elapsed:    1.6s\n",
            "[Parallel(n_jobs=-1)]: Batch computation too fast (0.1984s.) Setting batch_size=2.\n",
            "[Parallel(n_jobs=-1)]: Done  17 tasks      | elapsed:    1.7s\n",
            "[Parallel(n_jobs=-1)]: Done  18 tasks      | elapsed:    1.7s\n",
            "[Parallel(n_jobs=-1)]: Done  19 tasks      | elapsed:    1.8s\n",
            "[Parallel(n_jobs=-1)]: Done  20 tasks      | elapsed:    1.8s\n",
            "[Parallel(n_jobs=-1)]: Done  22 tasks      | elapsed:    1.9s\n",
            "[Parallel(n_jobs=-1)]: Batch computation too fast (0.1793s.) Setting batch_size=4.\n",
            "[Parallel(n_jobs=-1)]: Done  24 tasks      | elapsed:    1.9s\n",
            "[Parallel(n_jobs=-1)]: Done  26 tasks      | elapsed:    2.0s\n",
            "[Parallel(n_jobs=-1)]: Done  28 tasks      | elapsed:    2.0s\n",
            "[Parallel(n_jobs=-1)]: Done  32 tasks      | elapsed:    2.2s\n",
            "[Parallel(n_jobs=-1)]: Done  36 tasks      | elapsed:    2.2s\n",
            "[Parallel(n_jobs=-1)]: Done  40 tasks      | elapsed:    2.4s\n",
            "[Parallel(n_jobs=-1)]: Done  44 tasks      | elapsed:    2.4s\n",
            "[Parallel(n_jobs=-1)]: Done  48 tasks      | elapsed:    2.7s\n",
            "[Parallel(n_jobs=-1)]: Done  52 tasks      | elapsed:    2.7s\n",
            "[Parallel(n_jobs=-1)]: Done  56 tasks      | elapsed:    2.9s\n",
            "[Parallel(n_jobs=-1)]: Done  60 tasks      | elapsed:    2.9s\n",
            "[Parallel(n_jobs=-1)]: Done  64 tasks      | elapsed:    3.1s\n",
            "[Parallel(n_jobs=-1)]: Done  68 tasks      | elapsed:    3.1s\n",
            "[Parallel(n_jobs=-1)]: Done  72 tasks      | elapsed:    3.4s\n",
            "[Parallel(n_jobs=-1)]: Done  76 tasks      | elapsed:    3.4s\n",
            "[Parallel(n_jobs=-1)]: Done  80 tasks      | elapsed:    3.6s\n",
            "[Parallel(n_jobs=-1)]: Done  84 tasks      | elapsed:    3.6s\n",
            "[Parallel(n_jobs=-1)]: Done  88 tasks      | elapsed:    3.8s\n",
            "[Parallel(n_jobs=-1)]: Done  92 tasks      | elapsed:    3.8s\n",
            "[Parallel(n_jobs=-1)]: Done  96 tasks      | elapsed:    4.0s\n",
            "[Parallel(n_jobs=-1)]: Done 100 tasks      | elapsed:    4.1s\n",
            "[Parallel(n_jobs=-1)]: Done 104 tasks      | elapsed:    4.3s\n",
            "[Parallel(n_jobs=-1)]: Done 108 tasks      | elapsed:    4.3s\n",
            "[Parallel(n_jobs=-1)]: Done 112 tasks      | elapsed:    4.5s\n",
            "[Parallel(n_jobs=-1)]: Done 116 tasks      | elapsed:    4.5s\n",
            "[Parallel(n_jobs=-1)]: Done 120 tasks      | elapsed:    4.7s\n",
            "[Parallel(n_jobs=-1)]: Done 124 tasks      | elapsed:    4.8s\n",
            "[Parallel(n_jobs=-1)]: Done 128 tasks      | elapsed:    5.0s\n",
            "[Parallel(n_jobs=-1)]: Done 132 tasks      | elapsed:    5.0s\n",
            "[Parallel(n_jobs=-1)]: Done 136 tasks      | elapsed:    5.2s\n",
            "[Parallel(n_jobs=-1)]: Done 140 tasks      | elapsed:    5.2s\n",
            "[Parallel(n_jobs=-1)]: Done 144 tasks      | elapsed:    5.4s\n",
            "[Parallel(n_jobs=-1)]: Done 148 tasks      | elapsed:    5.4s\n",
            "[Parallel(n_jobs=-1)]: Done 152 tasks      | elapsed:    5.7s\n",
            "[Parallel(n_jobs=-1)]: Done 156 tasks      | elapsed:    5.7s\n",
            "[Parallel(n_jobs=-1)]: Done 160 tasks      | elapsed:    5.9s\n",
            "[Parallel(n_jobs=-1)]: Done 164 tasks      | elapsed:    5.9s\n",
            "[Parallel(n_jobs=-1)]: Done 168 tasks      | elapsed:    6.1s\n",
            "[Parallel(n_jobs=-1)]: Done 172 tasks      | elapsed:    6.1s\n",
            "[Parallel(n_jobs=-1)]: Done 176 tasks      | elapsed:    6.3s\n",
            "[Parallel(n_jobs=-1)]: Done 180 tasks      | elapsed:    6.3s\n",
            "[Parallel(n_jobs=-1)]: Done 184 tasks      | elapsed:    6.6s\n",
            "[Parallel(n_jobs=-1)]: Done 188 tasks      | elapsed:    6.6s\n",
            "[Parallel(n_jobs=-1)]: Done 192 tasks      | elapsed:    6.8s\n",
            "[Parallel(n_jobs=-1)]: Done 196 tasks      | elapsed:    6.8s\n",
            "[Parallel(n_jobs=-1)]: Done 200 tasks      | elapsed:    7.0s\n",
            "[Parallel(n_jobs=-1)]: Done 204 tasks      | elapsed:    7.0s\n",
            "[Parallel(n_jobs=-1)]: Done 208 tasks      | elapsed:    7.2s\n",
            "[Parallel(n_jobs=-1)]: Done 212 tasks      | elapsed:    7.2s\n",
            "[Parallel(n_jobs=-1)]: Done 216 tasks      | elapsed:    7.4s\n",
            "[Parallel(n_jobs=-1)]: Done 220 tasks      | elapsed:    7.5s\n",
            "[Parallel(n_jobs=-1)]: Done 224 tasks      | elapsed:    7.7s\n",
            "[Parallel(n_jobs=-1)]: Done 228 tasks      | elapsed:    7.7s\n",
            "[Parallel(n_jobs=-1)]: Done 232 tasks      | elapsed:    7.9s\n",
            "[Parallel(n_jobs=-1)]: Done 236 tasks      | elapsed:    8.0s\n",
            "[Parallel(n_jobs=-1)]: Done 240 tasks      | elapsed:    8.2s\n",
            "[Parallel(n_jobs=-1)]: Done 244 tasks      | elapsed:    8.2s\n",
            "[Parallel(n_jobs=-1)]: Done 248 tasks      | elapsed:    8.4s\n",
            "[Parallel(n_jobs=-1)]: Done 252 tasks      | elapsed:    8.4s\n",
            "[Parallel(n_jobs=-1)]: Done 256 tasks      | elapsed:    8.6s\n",
            "[Parallel(n_jobs=-1)]: Done 260 tasks      | elapsed:    8.6s\n",
            "[Parallel(n_jobs=-1)]: Done 264 tasks      | elapsed:    8.8s\n",
            "[Parallel(n_jobs=-1)]: Done 268 tasks      | elapsed:    8.9s\n",
            "[Parallel(n_jobs=-1)]: Done 272 tasks      | elapsed:    9.1s\n",
            "[Parallel(n_jobs=-1)]: Done 276 tasks      | elapsed:    9.1s\n",
            "[Parallel(n_jobs=-1)]: Done 280 tasks      | elapsed:    9.3s\n",
            "[Parallel(n_jobs=-1)]: Done 284 tasks      | elapsed:    9.3s\n",
            "[Parallel(n_jobs=-1)]: Done 288 tasks      | elapsed:    9.5s\n",
            "[Parallel(n_jobs=-1)]: Done 292 tasks      | elapsed:    9.5s\n",
            "[Parallel(n_jobs=-1)]: Done 296 tasks      | elapsed:    9.7s\n",
            "[Parallel(n_jobs=-1)]: Done 300 tasks      | elapsed:    9.7s\n",
            "[Parallel(n_jobs=-1)]: Done 304 tasks      | elapsed:   10.0s\n",
            "[Parallel(n_jobs=-1)]: Done 308 tasks      | elapsed:   10.0s\n",
            "[Parallel(n_jobs=-1)]: Done 312 tasks      | elapsed:   10.2s\n",
            "[Parallel(n_jobs=-1)]: Done 316 tasks      | elapsed:   10.2s\n",
            "[Parallel(n_jobs=-1)]: Done 320 tasks      | elapsed:   10.4s\n",
            "[Parallel(n_jobs=-1)]: Done 324 tasks      | elapsed:   10.4s\n",
            "[Parallel(n_jobs=-1)]: Done 328 tasks      | elapsed:   10.6s\n",
            "[Parallel(n_jobs=-1)]: Done 332 tasks      | elapsed:   10.7s\n",
            "[Parallel(n_jobs=-1)]: Done 336 tasks      | elapsed:   10.9s\n",
            "[Parallel(n_jobs=-1)]: Done 340 tasks      | elapsed:   10.9s\n",
            "[Parallel(n_jobs=-1)]: Done 344 tasks      | elapsed:   11.1s\n",
            "[Parallel(n_jobs=-1)]: Done 348 tasks      | elapsed:   11.1s\n",
            "[Parallel(n_jobs=-1)]: Done 352 tasks      | elapsed:   11.3s\n",
            "[Parallel(n_jobs=-1)]: Done 356 tasks      | elapsed:   11.4s\n",
            "[Parallel(n_jobs=-1)]: Done 360 tasks      | elapsed:   11.6s\n",
            "[Parallel(n_jobs=-1)]: Done 364 tasks      | elapsed:   11.6s\n",
            "[Parallel(n_jobs=-1)]: Done 368 tasks      | elapsed:   11.8s\n",
            "[Parallel(n_jobs=-1)]: Done 372 tasks      | elapsed:   11.8s\n",
            "[Parallel(n_jobs=-1)]: Done 376 tasks      | elapsed:   12.0s\n",
            "[Parallel(n_jobs=-1)]: Done 380 tasks      | elapsed:   12.1s\n",
            "[Parallel(n_jobs=-1)]: Done 384 tasks      | elapsed:   12.2s\n",
            "[Parallel(n_jobs=-1)]: Done 388 tasks      | elapsed:   12.3s\n",
            "[Parallel(n_jobs=-1)]: Done 392 tasks      | elapsed:   12.5s\n",
            "[Parallel(n_jobs=-1)]: Done 396 tasks      | elapsed:   12.5s\n",
            "[Parallel(n_jobs=-1)]: Done 400 tasks      | elapsed:   12.7s\n",
            "[Parallel(n_jobs=-1)]: Done 404 tasks      | elapsed:   12.7s\n",
            "[Parallel(n_jobs=-1)]: Done 408 tasks      | elapsed:   12.9s\n",
            "[Parallel(n_jobs=-1)]: Done 412 tasks      | elapsed:   12.9s\n",
            "[Parallel(n_jobs=-1)]: Done 416 tasks      | elapsed:   13.1s\n",
            "[Parallel(n_jobs=-1)]: Done 420 tasks      | elapsed:   13.2s\n",
            "[Parallel(n_jobs=-1)]: Done 424 tasks      | elapsed:   13.4s\n",
            "[Parallel(n_jobs=-1)]: Done 428 tasks      | elapsed:   13.4s\n",
            "[Parallel(n_jobs=-1)]: Done 432 tasks      | elapsed:   13.6s\n",
            "[Parallel(n_jobs=-1)]: Done 436 tasks      | elapsed:   13.6s\n",
            "[Parallel(n_jobs=-1)]: Done 440 tasks      | elapsed:   13.8s\n",
            "[Parallel(n_jobs=-1)]: Done 444 tasks      | elapsed:   13.8s\n",
            "[Parallel(n_jobs=-1)]: Done 448 tasks      | elapsed:   14.0s\n",
            "[Parallel(n_jobs=-1)]: Done 452 tasks      | elapsed:   14.0s\n",
            "[Parallel(n_jobs=-1)]: Done 456 tasks      | elapsed:   14.3s\n",
            "[Parallel(n_jobs=-1)]: Done 460 tasks      | elapsed:   14.3s\n",
            "[Parallel(n_jobs=-1)]: Done 464 tasks      | elapsed:   14.5s\n",
            "[Parallel(n_jobs=-1)]: Done 468 tasks      | elapsed:   14.6s\n",
            "[Parallel(n_jobs=-1)]: Done 472 tasks      | elapsed:   14.7s\n",
            "[Parallel(n_jobs=-1)]: Done 476 tasks      | elapsed:   14.8s\n",
            "[Parallel(n_jobs=-1)]: Done 480 tasks      | elapsed:   14.9s\n",
            "[Parallel(n_jobs=-1)]: Done 484 tasks      | elapsed:   15.0s\n",
            "[Parallel(n_jobs=-1)]: Done 488 tasks      | elapsed:   15.2s\n",
            "[Parallel(n_jobs=-1)]: Done 492 tasks      | elapsed:   15.2s\n",
            "[Parallel(n_jobs=-1)]: Done 496 tasks      | elapsed:   15.4s\n",
            "[Parallel(n_jobs=-1)]: Done 500 tasks      | elapsed:   15.5s\n",
            "[Parallel(n_jobs=-1)]: Done 504 tasks      | elapsed:   15.6s\n",
            "[Parallel(n_jobs=-1)]: Done 508 tasks      | elapsed:   15.7s\n",
            "[Parallel(n_jobs=-1)]: Done 512 tasks      | elapsed:   15.9s\n",
            "[Parallel(n_jobs=-1)]: Done 516 tasks      | elapsed:   15.9s\n",
            "[Parallel(n_jobs=-1)]: Done 520 tasks      | elapsed:   16.1s\n",
            "[Parallel(n_jobs=-1)]: Done 524 tasks      | elapsed:   16.2s\n",
            "[Parallel(n_jobs=-1)]: Done 528 tasks      | elapsed:   16.3s\n",
            "[Parallel(n_jobs=-1)]: Done 532 tasks      | elapsed:   16.4s\n",
            "[Parallel(n_jobs=-1)]: Done 536 tasks      | elapsed:   16.5s\n",
            "[Parallel(n_jobs=-1)]: Done 540 tasks      | elapsed:   16.6s\n",
            "[Parallel(n_jobs=-1)]: Done 544 tasks      | elapsed:   16.8s\n",
            "[Parallel(n_jobs=-1)]: Done 548 tasks      | elapsed:   16.8s\n",
            "[Parallel(n_jobs=-1)]: Done 552 tasks      | elapsed:   17.0s\n",
            "[Parallel(n_jobs=-1)]: Done 556 tasks      | elapsed:   17.1s\n",
            "[Parallel(n_jobs=-1)]: Done 560 tasks      | elapsed:   17.2s\n",
            "[Parallel(n_jobs=-1)]: Done 564 tasks      | elapsed:   17.3s\n",
            "[Parallel(n_jobs=-1)]: Done 568 tasks      | elapsed:   17.4s\n",
            "[Parallel(n_jobs=-1)]: Done 572 tasks      | elapsed:   17.5s\n",
            "[Parallel(n_jobs=-1)]: Done 576 tasks      | elapsed:   17.7s\n",
            "[Parallel(n_jobs=-1)]: Done 580 tasks      | elapsed:   17.8s\n",
            "[Parallel(n_jobs=-1)]: Done 584 tasks      | elapsed:   17.9s\n",
            "[Parallel(n_jobs=-1)]: Done 588 tasks      | elapsed:   18.0s\n",
            "[Parallel(n_jobs=-1)]: Done 592 tasks      | elapsed:   18.1s\n",
            "[Parallel(n_jobs=-1)]: Done 596 tasks      | elapsed:   18.2s\n",
            "[Parallel(n_jobs=-1)]: Done 600 tasks      | elapsed:   18.4s\n",
            "[Parallel(n_jobs=-1)]: Done 604 tasks      | elapsed:   18.5s\n",
            "[Parallel(n_jobs=-1)]: Done 608 tasks      | elapsed:   18.6s\n",
            "[Parallel(n_jobs=-1)]: Done 612 tasks      | elapsed:   18.7s\n",
            "[Parallel(n_jobs=-1)]: Done 616 tasks      | elapsed:   18.8s\n",
            "[Parallel(n_jobs=-1)]: Done 620 tasks      | elapsed:   18.9s\n",
            "[Parallel(n_jobs=-1)]: Done 624 tasks      | elapsed:   19.0s\n",
            "[Parallel(n_jobs=-1)]: Done 628 tasks      | elapsed:   19.1s\n",
            "[Parallel(n_jobs=-1)]: Done 632 tasks      | elapsed:   19.2s\n",
            "[Parallel(n_jobs=-1)]: Done 636 tasks      | elapsed:   19.4s\n",
            "[Parallel(n_jobs=-1)]: Done 640 tasks      | elapsed:   19.5s\n",
            "[Parallel(n_jobs=-1)]: Done 644 tasks      | elapsed:   19.6s\n",
            "[Parallel(n_jobs=-1)]: Done 648 tasks      | elapsed:   19.7s\n",
            "[Parallel(n_jobs=-1)]: Done 652 tasks      | elapsed:   19.8s\n",
            "[Parallel(n_jobs=-1)]: Done 656 tasks      | elapsed:   19.9s\n",
            "[Parallel(n_jobs=-1)]: Done 660 tasks      | elapsed:   20.0s\n",
            "[Parallel(n_jobs=-1)]: Done 664 tasks      | elapsed:   20.1s\n",
            "[Parallel(n_jobs=-1)]: Done 668 tasks      | elapsed:   20.3s\n",
            "[Parallel(n_jobs=-1)]: Done 672 tasks      | elapsed:   20.3s\n",
            "[Parallel(n_jobs=-1)]: Done 676 tasks      | elapsed:   20.5s\n",
            "[Parallel(n_jobs=-1)]: Done 680 tasks      | elapsed:   20.6s\n",
            "[Parallel(n_jobs=-1)]: Done 684 tasks      | elapsed:   20.7s\n",
            "[Parallel(n_jobs=-1)]: Done 688 tasks      | elapsed:   20.8s\n",
            "[Parallel(n_jobs=-1)]: Done 692 tasks      | elapsed:   20.9s\n",
            "[Parallel(n_jobs=-1)]: Done 696 tasks      | elapsed:   21.0s\n",
            "[Parallel(n_jobs=-1)]: Done 700 tasks      | elapsed:   21.2s\n",
            "[Parallel(n_jobs=-1)]: Done 704 tasks      | elapsed:   21.3s\n",
            "[Parallel(n_jobs=-1)]: Done 708 tasks      | elapsed:   21.4s\n",
            "[Parallel(n_jobs=-1)]: Done 712 tasks      | elapsed:   21.5s\n",
            "[Parallel(n_jobs=-1)]: Done 716 tasks      | elapsed:   21.7s\n",
            "[Parallel(n_jobs=-1)]: Done 720 tasks      | elapsed:   21.7s\n",
            "[Parallel(n_jobs=-1)]: Done 724 tasks      | elapsed:   21.9s\n",
            "[Parallel(n_jobs=-1)]: Done 728 tasks      | elapsed:   22.0s\n",
            "[Parallel(n_jobs=-1)]: Done 732 tasks      | elapsed:   22.1s\n",
            "[Parallel(n_jobs=-1)]: Done 736 tasks      | elapsed:   22.2s\n",
            "[Parallel(n_jobs=-1)]: Done 740 tasks      | elapsed:   22.3s\n",
            "[Parallel(n_jobs=-1)]: Done 744 tasks      | elapsed:   22.5s\n",
            "[Parallel(n_jobs=-1)]: Done 748 tasks      | elapsed:   22.5s\n",
            "[Parallel(n_jobs=-1)]: Done 752 tasks      | elapsed:   22.7s\n",
            "[Parallel(n_jobs=-1)]: Done 756 tasks      | elapsed:   22.7s\n",
            "[Parallel(n_jobs=-1)]: Done 760 tasks      | elapsed:   22.9s\n",
            "[Parallel(n_jobs=-1)]: Done 764 tasks      | elapsed:   23.0s\n",
            "[Parallel(n_jobs=-1)]: Done 768 tasks      | elapsed:   23.2s\n",
            "[Parallel(n_jobs=-1)]: Done 772 tasks      | elapsed:   23.2s\n",
            "[Parallel(n_jobs=-1)]: Done 776 tasks      | elapsed:   23.4s\n",
            "[Parallel(n_jobs=-1)]: Done 780 tasks      | elapsed:   23.4s\n",
            "[Parallel(n_jobs=-1)]: Done 784 tasks      | elapsed:   23.6s\n",
            "[Parallel(n_jobs=-1)]: Done 788 tasks      | elapsed:   23.6s\n",
            "[Parallel(n_jobs=-1)]: Done 792 tasks      | elapsed:   23.8s\n",
            "[Parallel(n_jobs=-1)]: Done 796 tasks      | elapsed:   23.9s\n",
            "[Parallel(n_jobs=-1)]: Done 800 tasks      | elapsed:   24.1s\n",
            "[Parallel(n_jobs=-1)]: Done 804 tasks      | elapsed:   24.1s\n",
            "[Parallel(n_jobs=-1)]: Done 808 tasks      | elapsed:   24.3s\n",
            "[Parallel(n_jobs=-1)]: Done 812 tasks      | elapsed:   24.3s\n",
            "[Parallel(n_jobs=-1)]: Done 816 tasks      | elapsed:   24.5s\n",
            "[Parallel(n_jobs=-1)]: Done 820 tasks      | elapsed:   24.6s\n",
            "[Parallel(n_jobs=-1)]: Done 824 tasks      | elapsed:   24.8s\n",
            "[Parallel(n_jobs=-1)]: Done 828 tasks      | elapsed:   24.8s\n",
            "[Parallel(n_jobs=-1)]: Done 832 tasks      | elapsed:   25.0s\n",
            "[Parallel(n_jobs=-1)]: Done 836 tasks      | elapsed:   25.0s\n",
            "[Parallel(n_jobs=-1)]: Done 840 tasks      | elapsed:   25.2s\n",
            "[Parallel(n_jobs=-1)]: Done 844 tasks      | elapsed:   25.2s\n",
            "[Parallel(n_jobs=-1)]: Done 848 tasks      | elapsed:   25.4s\n",
            "[Parallel(n_jobs=-1)]: Done 852 tasks      | elapsed:   25.5s\n",
            "[Parallel(n_jobs=-1)]: Done 856 tasks      | elapsed:   25.6s\n",
            "[Parallel(n_jobs=-1)]: Done 860 tasks      | elapsed:   25.7s\n",
            "[Parallel(n_jobs=-1)]: Done 864 tasks      | elapsed:   25.8s\n",
            "[Parallel(n_jobs=-1)]: Done 868 tasks      | elapsed:   25.9s\n",
            "[Parallel(n_jobs=-1)]: Done 872 tasks      | elapsed:   26.1s\n",
            "[Parallel(n_jobs=-1)]: Done 876 tasks      | elapsed:   26.1s\n",
            "[Parallel(n_jobs=-1)]: Done 880 tasks      | elapsed:   26.3s\n",
            "[Parallel(n_jobs=-1)]: Done 884 tasks      | elapsed:   26.4s\n",
            "[Parallel(n_jobs=-1)]: Done 888 tasks      | elapsed:   26.5s\n",
            "[Parallel(n_jobs=-1)]: Done 892 tasks      | elapsed:   26.6s\n",
            "[Parallel(n_jobs=-1)]: Done 896 tasks      | elapsed:   26.7s\n",
            "[Parallel(n_jobs=-1)]: Done 900 tasks      | elapsed:   26.8s\n",
            "[Parallel(n_jobs=-1)]: Done 904 tasks      | elapsed:   27.0s\n",
            "[Parallel(n_jobs=-1)]: Done 908 tasks      | elapsed:   27.0s\n",
            "[Parallel(n_jobs=-1)]: Done 912 tasks      | elapsed:   27.2s\n",
            "[Parallel(n_jobs=-1)]: Done 916 tasks      | elapsed:   27.2s\n",
            "[Parallel(n_jobs=-1)]: Done 920 tasks      | elapsed:   27.4s\n",
            "[Parallel(n_jobs=-1)]: Done 924 tasks      | elapsed:   27.4s\n",
            "[Parallel(n_jobs=-1)]: Done 928 tasks      | elapsed:   27.7s\n",
            "[Parallel(n_jobs=-1)]: Done 932 tasks      | elapsed:   27.7s\n",
            "[Parallel(n_jobs=-1)]: Done 936 tasks      | elapsed:   27.9s\n",
            "[Parallel(n_jobs=-1)]: Done 940 tasks      | elapsed:   27.9s\n",
            "[Parallel(n_jobs=-1)]: Done 944 tasks      | elapsed:   28.1s\n",
            "[Parallel(n_jobs=-1)]: Done 948 tasks      | elapsed:   28.1s\n",
            "[Parallel(n_jobs=-1)]: Done 952 tasks      | elapsed:   28.4s\n",
            "[Parallel(n_jobs=-1)]: Done 956 tasks      | elapsed:   28.4s\n",
            "[Parallel(n_jobs=-1)]: Done 960 tasks      | elapsed:   28.6s\n",
            "[Parallel(n_jobs=-1)]: Done 964 tasks      | elapsed:   28.6s\n",
            "[Parallel(n_jobs=-1)]: Done 968 tasks      | elapsed:   28.8s\n",
            "[Parallel(n_jobs=-1)]: Done 972 tasks      | elapsed:   28.8s\n",
            "[Parallel(n_jobs=-1)]: Done 976 tasks      | elapsed:   29.0s\n",
            "[Parallel(n_jobs=-1)]: Done 980 tasks      | elapsed:   29.1s\n",
            "[Parallel(n_jobs=-1)]: Done 984 tasks      | elapsed:   29.3s\n",
            "[Parallel(n_jobs=-1)]: Done 988 tasks      | elapsed:   29.3s\n",
            "[Parallel(n_jobs=-1)]: Done 992 tasks      | elapsed:   29.5s\n",
            "[Parallel(n_jobs=-1)]: Done 996 tasks      | elapsed:   29.5s\n",
            "[Parallel(n_jobs=-1)]: Done 997 tasks      | elapsed:   29.6s\n",
            "[Parallel(n_jobs=-1)]: Done 1000 out of 1000 | elapsed:   29.6s finished\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "GridSearchCV(cv=10, error_score=nan,\n",
              "             estimator=Ridge(alpha=1.0, copy_X=True, fit_intercept=True,\n",
              "                             max_iter=None, normalize=False, random_state=None,\n",
              "                             solver='auto', tol=0.001),\n",
              "             iid='deprecated', n_jobs=-1,\n",
              "             param_grid={'alpha': array([  1.,   2.,   3.,   4.,   5.,   6.,   7.,   8.,   9.,  10.,  11.,\n",
              "        12.,  13.,  14.,  15.,  16.,  17.,  18.,  19.,  20.,  21.,  22.,\n",
              "        23.,  24.,  25.,  26.,  27.,  28.,  29.,  30.,  31.,  32.,  33.,\n",
              "        34.,  35.,...,  41.,  42.,  43.,  44.,\n",
              "        45.,  46.,  47.,  48.,  49.,  50.,  51.,  52.,  53.,  54.,  55.,\n",
              "        56.,  57.,  58.,  59.,  60.,  61.,  62.,  63.,  64.,  65.,  66.,\n",
              "        67.,  68.,  69.,  70.,  71.,  72.,  73.,  74.,  75.,  76.,  77.,\n",
              "        78.,  79.,  80.,  81.,  82.,  83.,  84.,  85.,  86.,  87.,  88.,\n",
              "        89.,  90.,  91.,  92.,  93.,  94.,  95.,  96.,  97.,  98.,  99.,\n",
              "       100.])},\n",
              "             pre_dispatch='2*n_jobs', refit=True, return_train_score=False,\n",
              "             scoring='neg_mean_absolute_error', verbose=30)"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 15
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "yBq0G4slfxUr",
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "outputId": "2db7af92-5e0e-4294-f542-68060f6ebd1f"
      },
      "source": [
        "ridgesearch.best_estimator_"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "Ridge(alpha=100.0, copy_X=True, fit_intercept=True, max_iter=None,\n",
              "      normalize=False, random_state=None, solver='auto', tol=0.001)"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 34
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "WqdROdlPf1AH",
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "outputId": "41b26ceb-1f87-4b97-b2bf-bfd3d656e3f1"
      },
      "source": [
        "report(ridgesearch.cv_results_,5)"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "Model with rank: 1\n",
            "Mean validation score: -2.775 (std: 0.04312)\n",
            "Parameters: {'alpha': 100.0}\n",
            "\n",
            "Model with rank: 2\n",
            "Mean validation score: -2.775 (std: 0.04312)\n",
            "Parameters: {'alpha': 99.0}\n",
            "\n",
            "Model with rank: 3\n",
            "Mean validation score: -2.775 (std: 0.04312)\n",
            "Parameters: {'alpha': 98.0}\n",
            "\n",
            "Model with rank: 4\n",
            "Mean validation score: -2.775 (std: 0.04312)\n",
            "Parameters: {'alpha': 97.0}\n",
            "\n",
            "Model with rank: 5\n",
            "Mean validation score: -2.775 (std: 0.04312)\n",
            "Parameters: {'alpha': 96.0}\n",
            "\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "RfyLXzjRtYwp",
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "outputId": "573df6ad-e514-4d0a-b0eb-bbfb9ec5b52e"
      },
      "source": [
        "X.shape"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "(40799, 61)"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 36
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "ppmDMnIgtbBM",
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "outputId": "abdaeb77-de99-4996-e203-3c61865d85ca"
      },
      "source": [
        "Y.shape"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "(40799, 1)"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 37
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "l2_sIPM2kljC"
      },
      "source": [
        "import matplotlib.pyplot as plt\n",
        "%matplotlib inline\n",
        "x_train, x_test, y_train, y_test = train_test_split(X,Y,test_size=0.2,random_state=2)\n",
        "def predplotter(searchobj):\n",
        "  cur_model = searchobj#.best_estimator_\n",
        "  cur_model.fit(x_train, y_train)\n",
        "  preds = cur_model.predict(x_test)\n",
        "  plt.figure(figsize=(12, 6))\n",
        "  plt.plot(x_test['T2_V1'], y_test, 'o')           # scatter plot showing actual data\n",
        "  plt.plot(x_test['T2_V1'],preds , 'r', linewidth=2)   # regression line\n",
        "  plt.xlabel('T2V1')\n",
        "  plt.ylabel('predictions')\n",
        "  plt.title('T2v1 vs predictions')\n",
        "  plt.show()"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "IgJKuOpOsodY",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 404
        },
        "outputId": "d3e15aa5-b468-4ef2-aca6-126bae4023ae"
      },
      "source": [
        "predplotter(ridgesearch)\n"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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aJ4xYwaam5v9LgYRERERRZgQ4ojqMV6eQURERESUAxfNREREREQ5cNFMRERERJQDF81ERERERDlw0UxERERElAMXzUREREREOXDRTERERESUAxfNREREREQ5cNFMRERERJRDKO4ISESUr6bdLdiybR+OtyUwtSaOdSvmoHFBnd/FIiKikOOimYgio2l3CzY8theJ/iQAoKUtgQ2P7QUALpyJiGhMeHkGEUXGlm37hhbMGYn+JLZs2+dTiYiIKCq4aCaiyDjeltDaTkRElC8umokoMqbWxLW2ExER5YuLZiKKjHUr5iBeFBu2LV4Uw7oVc3wqERERRYWrgYBCiMMAzgNIAhiQUjYIIWoB/CeAGQAOA/iklPKcm+UgovEhE+zH7BlERGSakFK6t/PUorlBSnkma9tXALRKKTcLIdYDmCClvN1uPw0NDbK5udm1chIRERERCSF2SSkbrB7z4/KMjwJ4IP3zAwAafSgDEREREVHe3F40SwA/FULsEkKsSW+bIqV8M/3zCQBTrF4ohFgjhGgWQjSfPn3a5WISEREREam5fXOTd0kpW4QQkwFsF0K8mv2glFIKISyvD5FS3gfgPiB1eYbL5SQiIiIiUnL1k2YpZUv6+ykA/wXgnQBOCiEuAYD091NuloGIiIiIaKxcWzQLIcqFEJWZnwF8EMDvAfwIwK3pp90K4HG3ykBERGY07W7B0s3PYub6J7F087No2t3id5GIiDzl5uUZUwD8lxAic5yHpJQ/EUI8D+AHQojPADgC4JMuloGIiMaoaXcLNjy2d+gW5S1tCWx4bC8AMJ0fEY0bri2apZQHAbzdYvtZAO9367hERGTWlm37hhbMGYn+JLZs28dFMxGNG7wjIBER2TreltDaTkQURVw0ExGRrak1ca3tRERRxEUzERHZWrdiDuJFsWHb4kUxrFsxx6cSERF5z+08zUREFHKZ65a3bNuH420JTK2JY92KObyemYjGFS6aiYgop8YFdVwkE9G4xssziIiIiIhy4KKZiIiIiCgHLpqJiIiIiHLgopmIiIiIKAcumomIiIiIcuCimYiIiIgoBy6aiYiIiIhy4KKZiIiIiCgHLpqJiIiIiHLgopmIiIiIKAfeRpuISKFpdwu2bNuH420JTK2JY92KObyVNBHROMVFMxGRhabdLdjw2F4k+pMAgJa2BDY8thcAuHAmIhqHeHkGEZGFLdv2DS2YMxL9SWzZts+nEhERkZ+4aCYisnC8LaG1nYiIoo2LZiIiC1Nr4lrbiYgo2rhoJiKysG7FHMSLYsO2xYtiWLdijk8lIiIiPzEQkIjIQibYj9kziIgI4KKZiEipcUEdF8lERASAl2cQEREREeXERTMRERERUQ5cNBMRERER5cBFMxERERFRDlw0ExERERHlwEUzEREREVEOXDQTEREREeXARTMRERERUQ5cNBMRERER5cBFMxERERFRDlw0ExERERHlwEUzEREREVEOXDQTEREREeXARTMRERERUQ5cNBMRERER5cBFMxERERFRDlw0ExERERHlwEUzEREREVEOXDQTEREREeXARTMRERERUQ5cNBMRERER5cBFMxERERFRDlw0ExERERHlwEUzEREREVEOXDQTEREREeXARTMRERERUQ5cNBMRERER5eD6olkIERNC7BZCPJH+faYQYqcQ4oAQ4j+FEMVul4GIiIiIaCy8+KT5LwG8kvX7PwL4upTycgDnAHzGgzIQERERETnm6qJZCDENwEoA/5r+XQC4BsCj6ac8AKDRzTIQEREREY2V2580fwPAFwAMpn+fCKBNSjmQ/v0YgDqrFwoh1gghmoUQzadPn3a5mEREREREaq4tmoUQHwZwSkq5y8nrpZT3SSkbpJQNkyZNMlw6IiIiIqL8Fbq476UArhdCXAegFEAVgH8CUCOEKEx/2jwNQIuLZSAiIiIiGjPXPmmWUm6QUk6TUs4A8CkAz0opVwH4GYCPp592K4DH3SoDEREREZEJfuRpvh3AWiHEAaSucf6OD2UgIiIiIsqbm5dnDJFS7gCwI/3zQQDv9OK4REREREQm8I6AREREREQ5cNFMRERERJQDF81ERERERDl4ck0zEY1d0+4WbNm2D8fbEphaE8e6FXPQuMDy3kBERERkGBfNRCHQtLsFGx7bi0R/EgDQ0pbAhsf2AgAXzkRERB7g5RlEIbBl276hBXNGoj+JLdv2+VQiIiKi8YWLZqIQON6W0NpOREREZnHRTBQCU2viWtuJiIjILC6aiUJg3Yo5iBfFhm2LF8WwbsUcn0pEREQ0vjAQkCgEMsF+zJ5BRETkDy6aiUKicUEdF8lEREQ+4eUZREREREQ5cNFMRERERJQDF81ERERERDlw0UxERERElAMXzUREREREOXDRTERE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\n",
            "text/plain": [
              "<Figure size 864x432 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": [],
            "needs_background": "light"
          }
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "sqEb9b31FeUZ"
      },
      "source": [
        "dtreg = DecisionTreeRegressor(criterion='mae')\n",
        "\n",
        "params ={'max_depth':[None,5,7,10,12,15],\n",
        "            'min_samples_leaf':[5,10,30,50,100], \n",
        "            'min_samples_split':[2,5,10,15,20,50,70,100]}\n",
        "\n",
        "dtree = RandomizedSearchCV(param_distributions = params, estimator = dtreg, cv =5,n_iter=10, verbose = 30,n_jobs=-1, scoring='neg_mean_absolute_error')"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "OG1TEoWLFeUk",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 1000
        },
        "outputId": "6eb967e4-5513-49d6-dd85-a6347716cf6f"
      },
      "source": [
        "dtree.fit(X,Y)"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "Fitting 5 folds for each of 10 candidates, totalling 50 fits\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "[Parallel(n_jobs=-1)]: Using backend LokyBackend with 2 concurrent workers.\n",
            "[Parallel(n_jobs=-1)]: Done   1 tasks      | elapsed:  3.4min\n",
            "[Parallel(n_jobs=-1)]: Done   2 tasks      | elapsed:  3.8min\n",
            "[Parallel(n_jobs=-1)]: Done   3 tasks      | elapsed:  7.1min\n",
            "[Parallel(n_jobs=-1)]: Done   4 tasks      | elapsed:  7.9min\n",
            "[Parallel(n_jobs=-1)]: Done   5 tasks      | elapsed: 10.1min\n",
            "[Parallel(n_jobs=-1)]: Done   6 tasks      | elapsed: 10.8min\n",
            "[Parallel(n_jobs=-1)]: Done   7 tasks      | elapsed: 12.3min\n",
            "[Parallel(n_jobs=-1)]: Done   8 tasks      | elapsed: 13.4min\n",
            "[Parallel(n_jobs=-1)]: Done   9 tasks      | elapsed: 14.5min\n",
            "[Parallel(n_jobs=-1)]: Done  10 tasks      | elapsed: 15.6min\n",
            "[Parallel(n_jobs=-1)]: Done  11 tasks      | elapsed: 17.6min\n",
            "[Parallel(n_jobs=-1)]: Done  12 tasks      | elapsed: 18.9min\n",
            "[Parallel(n_jobs=-1)]: Done  13 tasks      | elapsed: 21.6min\n",
            "[Parallel(n_jobs=-1)]: Done  14 tasks      | elapsed: 22.0min\n",
            "[Parallel(n_jobs=-1)]: Done  15 tasks      | elapsed: 24.9min\n",
            "[Parallel(n_jobs=-1)]: Done  16 tasks      | elapsed: 24.9min\n",
            "[Parallel(n_jobs=-1)]: Done  17 tasks      | elapsed: 28.1min\n",
            "[Parallel(n_jobs=-1)]: Done  18 tasks      | elapsed: 28.6min\n",
            "[Parallel(n_jobs=-1)]: Done  19 tasks      | elapsed: 30.9min\n",
            "[Parallel(n_jobs=-1)]: Done  20 tasks      | elapsed: 31.7min\n",
            "[Parallel(n_jobs=-1)]: Done  21 tasks      | elapsed: 33.7min\n",
            "[Parallel(n_jobs=-1)]: Done  22 tasks      | elapsed: 34.5min\n",
            "[Parallel(n_jobs=-1)]: Done  23 tasks      | elapsed: 37.0min\n",
            "[Parallel(n_jobs=-1)]: Done  24 tasks      | elapsed: 37.1min\n",
            "[Parallel(n_jobs=-1)]: Done  25 tasks      | elapsed: 39.7min\n",
            "[Parallel(n_jobs=-1)]: Done  26 tasks      | elapsed: 40.1min\n",
            "[Parallel(n_jobs=-1)]: Done  27 tasks      | elapsed: 42.8min\n",
            "[Parallel(n_jobs=-1)]: Done  28 tasks      | elapsed: 43.8min\n",
            "[Parallel(n_jobs=-1)]: Done  29 tasks      | elapsed: 45.8min\n",
            "[Parallel(n_jobs=-1)]: Done  30 tasks      | elapsed: 47.0min\n",
            "[Parallel(n_jobs=-1)]: Done  31 tasks      | elapsed: 48.4min\n",
            "[Parallel(n_jobs=-1)]: Done  32 tasks      | elapsed: 49.8min\n",
            "[Parallel(n_jobs=-1)]: Done  33 tasks      | elapsed: 51.7min\n",
            "[Parallel(n_jobs=-1)]: Done  34 tasks      | elapsed: 52.4min\n",
            "[Parallel(n_jobs=-1)]: Done  35 tasks      | elapsed: 54.4min\n",
            "[Parallel(n_jobs=-1)]: Done  36 tasks      | elapsed: 55.1min\n",
            "[Parallel(n_jobs=-1)]: Done  37 tasks      | elapsed: 57.2min\n",
            "[Parallel(n_jobs=-1)]: Done  38 tasks      | elapsed: 58.5min\n",
            "[Parallel(n_jobs=-1)]: Done  39 tasks      | elapsed: 60.0min\n",
            "[Parallel(n_jobs=-1)]: Done  40 tasks      | elapsed: 61.3min\n",
            "[Parallel(n_jobs=-1)]: Done  41 tasks      | elapsed: 62.1min\n",
            "[Parallel(n_jobs=-1)]: Done  42 tasks      | elapsed: 63.5min\n",
            "[Parallel(n_jobs=-1)]: Done  43 tasks      | elapsed: 64.6min\n",
            "[Parallel(n_jobs=-1)]: Done  44 tasks      | elapsed: 65.7min\n",
            "[Parallel(n_jobs=-1)]: Done  45 tasks      | elapsed: 66.8min\n",
            "[Parallel(n_jobs=-1)]: Done  46 tasks      | elapsed: 68.3min\n",
            "[Parallel(n_jobs=-1)]: Done  47 tasks      | elapsed: 69.6min\n",
            "[Parallel(n_jobs=-1)]: Done  50 out of  50 | elapsed: 73.7min finished\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "RandomizedSearchCV(cv=5, error_score=nan,\n",
              "                   estimator=DecisionTreeRegressor(ccp_alpha=0.0,\n",
              "                                                   criterion='mae',\n",
              "                                                   max_depth=None,\n",
              "                                                   max_features=None,\n",
              "                                                   max_leaf_nodes=None,\n",
              "                                                   min_impurity_decrease=0.0,\n",
              "                                                   min_impurity_split=None,\n",
              "                                                   min_samples_leaf=1,\n",
              "                                                   min_samples_split=2,\n",
              "                                                   min_weight_fraction_leaf=0.0,\n",
              "                                                   presort='deprecated',\n",
              "                                                   random_state=None,\n",
              "                                                   splitter='best'),\n",
              "                   iid='deprecated', n_iter=10, n_jobs=-1,\n",
              "                   param_distributions={'max_depth': [None, 5, 7, 10, 12, 15],\n",
              "                                        'min_samples_leaf': [5, 10, 30, 50,\n",
              "                                                             100],\n",
              "                                        'min_samples_split': [2, 5, 10, 15, 20,\n",
              "                                                              50, 70, 100]},\n",
              "                   pre_dispatch='2*n_jobs', random_state=None, refit=True,\n",
              "                   return_train_score=False, scoring='neg_mean_absolute_error',\n",
              "                   verbose=30)"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 28
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "yLmi5LUhFeUv",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 126
        },
        "outputId": "4dccf490-a4e1-4380-921a-fbacee00bcfd"
      },
      "source": [
        "dtree.best_estimator_"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "DecisionTreeRegressor(ccp_alpha=0.0, criterion='mae', max_depth=5,\n",
              "                      max_features=None, max_leaf_nodes=None,\n",
              "                      min_impurity_decrease=0.0, min_impurity_split=None,\n",
              "                      min_samples_leaf=30, min_samples_split=50,\n",
              "                      min_weight_fraction_leaf=0.0, presort='deprecated',\n",
              "                      random_state=None, splitter='best')"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 29
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "EUVzzCzrFeU3",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 381
        },
        "outputId": "a9b64a65-3a2f-464f-c3b5-da85c95a5f1a"
      },
      "source": [
        "report(dtree.cv_results_,5)"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "Model with rank: 1\n",
            "Mean validation score: -2.644 (std: 0.03087)\n",
            "Parameters: {'min_samples_split': 50, 'min_samples_leaf': 30, 'max_depth': 5}\n",
            "\n",
            "Model with rank: 2\n",
            "Mean validation score: -2.646 (std: 0.03348)\n",
            "Parameters: {'min_samples_split': 15, 'min_samples_leaf': 100, 'max_depth': 5}\n",
            "\n",
            "Model with rank: 3\n",
            "Mean validation score: -2.654 (std: 0.03037)\n",
            "Parameters: {'min_samples_split': 100, 'min_samples_leaf': 30, 'max_depth': 10}\n",
            "\n",
            "Model with rank: 4\n",
            "Mean validation score: -2.654 (std: 0.03535)\n",
            "Parameters: {'min_samples_split': 100, 'min_samples_leaf': 100, 'max_depth': 15}\n",
            "\n",
            "Model with rank: 5\n",
            "Mean validation score: -2.654 (std: 0.03280)\n",
            "Parameters: {'min_samples_split': 50, 'min_samples_leaf': 100, 'max_depth': 12}\n",
            "\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "8XHe_nuiC477",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 404
        },
        "outputId": "eef4303d-7a78-4b9b-b70e-cfca92fad703"
      },
      "source": [
        "predplotter(dtree)"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 864x432 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": [],
            "needs_background": "light"
          }
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "IPVPh4UFZPzA",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 1000
        },
        "outputId": "86dd73e3-9b29-4092-d318-c094a1d290c3"
      },
      "source": [
        "help(RandomForestRegressor)"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "Help on class RandomForestRegressor in module sklearn.ensemble._forest:\n",
            "\n",
            "class RandomForestRegressor(ForestRegressor)\n",
            " |  A random forest regressor.\n",
            " |  \n",
            " |  A random forest is a meta estimator that fits a number of classifying\n",
            " |  decision trees on various sub-samples of the dataset and uses averaging\n",
            " |  to improve the predictive accuracy and control over-fitting.\n",
            " |  The sub-sample size is always the same as the original\n",
            " |  input sample size but the samples are drawn with replacement if\n",
            " |  `bootstrap=True` (default).\n",
            " |  \n",
            " |  Read more in the :ref:`User Guide <forest>`.\n",
            " |  \n",
            " |  Parameters\n",
            " |  ----------\n",
            " |  n_estimators : integer, optional (default=10)\n",
            " |      The number of trees in the forest.\n",
            " |  \n",
            " |      .. versionchanged:: 0.22\n",
            " |         The default value of ``n_estimators`` changed from 10 to 100\n",
            " |         in 0.22.\n",
            " |  \n",
            " |  criterion : string, optional (default=\"mse\")\n",
            " |      The function to measure the quality of a split. Supported criteria\n",
            " |      are \"mse\" for the mean squared error, which is equal to variance\n",
            " |      reduction as feature selection criterion, and \"mae\" for the mean\n",
            " |      absolute error.\n",
            " |  \n",
            " |      .. versionadded:: 0.18\n",
            " |         Mean Absolute Error (MAE) criterion.\n",
            " |  \n",
            " |  max_depth : integer or None, optional (default=None)\n",
            " |      The maximum depth of the tree. If None, then nodes are expanded until\n",
            " |      all leaves are pure or until all leaves contain less than\n",
            " |      min_samples_split samples.\n",
            " |  \n",
            " |  min_samples_split : int, float, optional (default=2)\n",
            " |      The minimum number of samples required to split an internal node:\n",
            " |  \n",
            " |      - If int, then consider `min_samples_split` as the minimum number.\n",
            " |      - If float, then `min_samples_split` is a fraction and\n",
            " |        `ceil(min_samples_split * n_samples)` are the minimum\n",
            " |        number of samples for each split.\n",
            " |  \n",
            " |      .. versionchanged:: 0.18\n",
            " |         Added float values for fractions.\n",
            " |  \n",
            " |  min_samples_leaf : int, float, optional (default=1)\n",
            " |      The minimum number of samples required to be at a leaf node.\n",
            " |      A split point at any depth will only be considered if it leaves at\n",
            " |      least ``min_samples_leaf`` training samples in each of the left and\n",
            " |      right branches.  This may have the effect of smoothing the model,\n",
            " |      especially in regression.\n",
            " |  \n",
            " |      - If int, then consider `min_samples_leaf` as the minimum number.\n",
            " |      - If float, then `min_samples_leaf` is a fraction and\n",
            " |        `ceil(min_samples_leaf * n_samples)` are the minimum\n",
            " |        number of samples for each node.\n",
            " |  \n",
            " |      .. versionchanged:: 0.18\n",
            " |         Added float values for fractions.\n",
            " |  \n",
            " |  min_weight_fraction_leaf : float, optional (default=0.)\n",
            " |      The minimum weighted fraction of the sum total of weights (of all\n",
            " |      the input samples) required to be at a leaf node. Samples have\n",
            " |      equal weight when sample_weight is not provided.\n",
            " |  \n",
            " |  max_features : int, float, string or None, optional (default=\"auto\")\n",
            " |      The number of features to consider when looking for the best split:\n",
            " |  \n",
            " |      - If int, then consider `max_features` features at each split.\n",
            " |      - If float, then `max_features` is a fraction and\n",
            " |        `int(max_features * n_features)` features are considered at each\n",
            " |        split.\n",
            " |      - If \"auto\", then `max_features=n_features`.\n",
            " |      - If \"sqrt\", then `max_features=sqrt(n_features)`.\n",
            " |      - If \"log2\", then `max_features=log2(n_features)`.\n",
            " |      - If None, then `max_features=n_features`.\n",
            " |  \n",
            " |      Note: the search for a split does not stop until at least one\n",
            " |      valid partition of the node samples is found, even if it requires to\n",
            " |      effectively inspect more than ``max_features`` features.\n",
            " |  \n",
            " |  max_leaf_nodes : int or None, optional (default=None)\n",
            " |      Grow trees with ``max_leaf_nodes`` in best-first fashion.\n",
            " |      Best nodes are defined as relative reduction in impurity.\n",
            " |      If None then unlimited number of leaf nodes.\n",
            " |  \n",
            " |  min_impurity_decrease : float, optional (default=0.)\n",
            " |      A node will be split if this split induces a decrease of the impurity\n",
            " |      greater than or equal to this value.\n",
            " |  \n",
            " |      The weighted impurity decrease equation is the following::\n",
            " |  \n",
            " |          N_t / N * (impurity - N_t_R / N_t * right_impurity\n",
            " |                              - N_t_L / N_t * left_impurity)\n",
            " |  \n",
            " |      where ``N`` is the total number of samples, ``N_t`` is the number of\n",
            " |      samples at the current node, ``N_t_L`` is the number of samples in the\n",
            " |      left child, and ``N_t_R`` is the number of samples in the right child.\n",
            " |  \n",
            " |      ``N``, ``N_t``, ``N_t_R`` and ``N_t_L`` all refer to the weighted sum,\n",
            " |      if ``sample_weight`` is passed.\n",
            " |  \n",
            " |      .. versionadded:: 0.19\n",
            " |  \n",
            " |  min_impurity_split : float, (default=1e-7)\n",
            " |      Threshold for early stopping in tree growth. A node will split\n",
            " |      if its impurity is above the threshold, otherwise it is a leaf.\n",
            " |  \n",
            " |      .. deprecated:: 0.19\n",
            " |         ``min_impurity_split`` has been deprecated in favor of\n",
            " |         ``min_impurity_decrease`` in 0.19. The default value of\n",
            " |         ``min_impurity_split`` will change from 1e-7 to 0 in 0.23 and it\n",
            " |         will be removed in 0.25. Use ``min_impurity_decrease`` instead.\n",
            " |  \n",
            " |  bootstrap : boolean, optional (default=True)\n",
            " |      Whether bootstrap samples are used when building trees. If False, the\n",
            " |      whole datset is used to build each tree.\n",
            " |  \n",
            " |  oob_score : bool, optional (default=False)\n",
            " |      whether to use out-of-bag samples to estimate\n",
            " |      the R^2 on unseen data.\n",
            " |  \n",
            " |  n_jobs : int or None, optional (default=None)\n",
            " |      The number of jobs to run in parallel. :meth:`fit`, :meth:`predict`,\n",
            " |      :meth:`decision_path` and :meth:`apply` are all parallelized over the\n",
            " |      trees. ``None`` means 1 unless in a :obj:`joblib.parallel_backend`\n",
            " |      context. ``-1`` means using all processors. See :term:`Glossary\n",
            " |      <n_jobs>` for more details.\n",
            " |  \n",
            " |  random_state : int, RandomState instance or None, optional (default=None)\n",
            " |      Controls both the randomness of the bootstrapping of the samples used\n",
            " |      when building trees (if ``bootstrap=True``) and the sampling of the\n",
            " |      features to consider when looking for the best split at each node\n",
            " |      (if ``max_features < n_features``).\n",
            " |      See :term:`Glossary <random_state>` for details.\n",
            " |  \n",
            " |  verbose : int, optional (default=0)\n",
            " |      Controls the verbosity when fitting and predicting.\n",
            " |  \n",
            " |  warm_start : bool, optional (default=False)\n",
            " |      When set to ``True``, reuse the solution of the previous call to fit\n",
            " |      and add more estimators to the ensemble, otherwise, just fit a whole\n",
            " |      new forest. See :term:`the Glossary <warm_start>`.\n",
            " |  \n",
            " |  ccp_alpha : non-negative float, optional (default=0.0)\n",
            " |      Complexity parameter used for Minimal Cost-Complexity Pruning. The\n",
            " |      subtree with the largest cost complexity that is smaller than\n",
            " |      ``ccp_alpha`` will be chosen. By default, no pruning is performed. See\n",
            " |      :ref:`minimal_cost_complexity_pruning` for details.\n",
            " |  \n",
            " |      .. versionadded:: 0.22\n",
            " |  \n",
            " |  max_samples : int or float, default=None\n",
            " |      If bootstrap is True, the number of samples to draw from X\n",
            " |      to train each base estimator.\n",
            " |  \n",
            " |      - If None (default), then draw `X.shape[0]` samples.\n",
            " |      - If int, then draw `max_samples` samples.\n",
            " |      - If float, then draw `max_samples * X.shape[0]` samples. Thus,\n",
            " |        `max_samples` should be in the interval `(0, 1)`.\n",
            " |  \n",
            " |      .. versionadded:: 0.22\n",
            " |  \n",
            " |  Attributes\n",
            " |  ----------\n",
            " |  base_estimator_ : DecisionTreeRegressor\n",
            " |      The child estimator template used to create the collection of fitted\n",
            " |      sub-estimators.\n",
            " |  \n",
            " |  estimators_ : list of DecisionTreeRegressor\n",
            " |      The collection of fitted sub-estimators.\n",
            " |  \n",
            " |  feature_importances_ : ndarray of shape (n_features,)\n",
            " |      The feature importances (the higher, the more important the feature).\n",
            " |  \n",
            " |  n_features_ : int\n",
            " |      The number of features when ``fit`` is performed.\n",
            " |  \n",
            " |  n_outputs_ : int\n",
            " |      The number of outputs when ``fit`` is performed.\n",
            " |  \n",
            " |  oob_score_ : float\n",
            " |      Score of the training dataset obtained using an out-of-bag estimate.\n",
            " |      This attribute exists only when ``oob_score`` is True.\n",
            " |  \n",
            " |  oob_prediction_ : ndarray of shape (n_samples,)\n",
            " |      Prediction computed with out-of-bag estimate on the training set.\n",
            " |      This attribute exists only when ``oob_score`` is True.\n",
            " |  \n",
            " |  Examples\n",
            " |  --------\n",
            " |  >>> from sklearn.ensemble import RandomForestRegressor\n",
            " |  >>> from sklearn.datasets import make_regression\n",
            " |  \n",
            " |  >>> X, y = make_regression(n_features=4, n_informative=2,\n",
            " |  ...                        random_state=0, shuffle=False)\n",
            " |  >>> regr = RandomForestRegressor(max_depth=2, random_state=0)\n",
            " |  >>> regr.fit(X, y)\n",
            " |  RandomForestRegressor(max_depth=2, random_state=0)\n",
            " |  >>> print(regr.feature_importances_)\n",
            " |  [0.18146984 0.81473937 0.00145312 0.00233767]\n",
            " |  >>> print(regr.predict([[0, 0, 0, 0]]))\n",
            " |  [-8.32987858]\n",
            " |  \n",
            " |  Notes\n",
            " |  -----\n",
            " |  The default values for the parameters controlling the size of the trees\n",
            " |  (e.g. ``max_depth``, ``min_samples_leaf``, etc.) lead to fully grown and\n",
            " |  unpruned trees which can potentially be very large on some data sets. To\n",
            " |  reduce memory consumption, the complexity and size of the trees should be\n",
            " |  controlled by setting those parameter values.\n",
            " |  \n",
            " |  The features are always randomly permuted at each split. Therefore,\n",
            " |  the best found split may vary, even with the same training data,\n",
            " |  ``max_features=n_features`` and ``bootstrap=False``, if the improvement\n",
            " |  of the criterion is identical for several splits enumerated during the\n",
            " |  search of the best split. To obtain a deterministic behaviour during\n",
            " |  fitting, ``random_state`` has to be fixed.\n",
            " |  \n",
            " |  The default value ``max_features=\"auto\"`` uses ``n_features``\n",
            " |  rather than ``n_features / 3``. The latter was originally suggested in\n",
            " |  [1], whereas the former was more recently justified empirically in [2].\n",
            " |  \n",
            " |  References\n",
            " |  ----------\n",
            " |  \n",
            " |  .. [1] L. Breiman, \"Random Forests\", Machine Learning, 45(1), 5-32, 2001.\n",
            " |  \n",
            " |  .. [2] P. Geurts, D. Ernst., and L. Wehenkel, \"Extremely randomized\n",
            " |         trees\", Machine Learning, 63(1), 3-42, 2006.\n",
            " |  \n",
            " |  See Also\n",
            " |  --------\n",
            " |  DecisionTreeRegressor, ExtraTreesRegressor\n",
            " |  \n",
            " |  Method resolution order:\n",
            " |      RandomForestRegressor\n",
            " |      ForestRegressor\n",
            " |      sklearn.base.RegressorMixin\n",
            " |      BaseForest\n",
            " |      sklearn.base.MultiOutputMixin\n",
            " |      sklearn.ensemble._base.BaseEnsemble\n",
            " |      sklearn.base.MetaEstimatorMixin\n",
            " |      sklearn.base.BaseEstimator\n",
            " |      builtins.object\n",
            " |  \n",
            " |  Methods defined here:\n",
            " |  \n",
            " |  __init__(self, n_estimators=100, criterion='mse', max_depth=None, min_samples_split=2, min_samples_leaf=1, min_weight_fraction_leaf=0.0, max_features='auto', max_leaf_nodes=None, min_impurity_decrease=0.0, min_impurity_split=None, bootstrap=True, oob_score=False, n_jobs=None, random_state=None, verbose=0, warm_start=False, ccp_alpha=0.0, max_samples=None)\n",
            " |      Initialize self.  See help(type(self)) for accurate signature.\n",
            " |  \n",
            " |  ----------------------------------------------------------------------\n",
            " |  Data and other attributes defined here:\n",
            " |  \n",
            " |  __abstractmethods__ = frozenset()\n",
            " |  \n",
            " |  ----------------------------------------------------------------------\n",
            " |  Methods inherited from ForestRegressor:\n",
            " |  \n",
            " |  predict(self, X)\n",
            " |      Predict regression target for X.\n",
            " |      \n",
            " |      The predicted regression target of an input sample is computed as the\n",
            " |      mean predicted regression targets of the trees in the forest.\n",
            " |      \n",
            " |      Parameters\n",
            " |      ----------\n",
            " |      X : array-like or sparse matrix of shape (n_samples, n_features)\n",
            " |          The input samples. Internally, its dtype will be converted to\n",
            " |          ``dtype=np.float32``. If a sparse matrix is provided, it will be\n",
            " |          converted into a sparse ``csr_matrix``.\n",
            " |      \n",
            " |      Returns\n",
            " |      -------\n",
            " |      y : array-like of shape (n_samples,) or (n_samples, n_outputs)\n",
            " |          The predicted values.\n",
            " |  \n",
            " |  ----------------------------------------------------------------------\n",
            " |  Methods inherited from sklearn.base.RegressorMixin:\n",
            " |  \n",
            " |  score(self, X, y, sample_weight=None)\n",
            " |      Return the coefficient of determination R^2 of the prediction.\n",
            " |      \n",
            " |      The coefficient R^2 is defined as (1 - u/v), where u is the residual\n",
            " |      sum of squares ((y_true - y_pred) ** 2).sum() and v is the total\n",
            " |      sum of squares ((y_true - y_true.mean()) ** 2).sum().\n",
            " |      The best possible score is 1.0 and it can be negative (because the\n",
            " |      model can be arbitrarily worse). A constant model that always\n",
            " |      predicts the expected value of y, disregarding the input features,\n",
            " |      would get a R^2 score of 0.0.\n",
            " |      \n",
            " |      Parameters\n",
            " |      ----------\n",
            " |      X : array-like of shape (n_samples, n_features)\n",
            " |          Test samples. For some estimators this may be a\n",
            " |          precomputed kernel matrix or a list of generic objects instead,\n",
            " |          shape = (n_samples, n_samples_fitted),\n",
            " |          where n_samples_fitted is the number of\n",
            " |          samples used in the fitting for the estimator.\n",
            " |      \n",
            " |      y : array-like of shape (n_samples,) or (n_samples, n_outputs)\n",
            " |          True values for X.\n",
            " |      \n",
            " |      sample_weight : array-like of shape (n_samples,), default=None\n",
            " |          Sample weights.\n",
            " |      \n",
            " |      Returns\n",
            " |      -------\n",
            " |      score : float\n",
            " |          R^2 of self.predict(X) wrt. y.\n",
            " |      \n",
            " |      Notes\n",
            " |      -----\n",
            " |      The R2 score used when calling ``score`` on a regressor will use\n",
            " |      ``multioutput='uniform_average'`` from version 0.23 to keep consistent\n",
            " |      with :func:`~sklearn.metrics.r2_score`. This will influence the\n",
            " |      ``score`` method of all the multioutput regressors (except for\n",
            " |      :class:`~sklearn.multioutput.MultiOutputRegressor`). To specify the\n",
            " |      default value manually and avoid the warning, please either call\n",
            " |      :func:`~sklearn.metrics.r2_score` directly or make a custom scorer with\n",
            " |      :func:`~sklearn.metrics.make_scorer` (the built-in scorer ``'r2'`` uses\n",
            " |      ``multioutput='uniform_average'``).\n",
            " |  \n",
            " |  ----------------------------------------------------------------------\n",
            " |  Data descriptors inherited from sklearn.base.RegressorMixin:\n",
            " |  \n",
            " |  __dict__\n",
            " |      dictionary for instance variables (if defined)\n",
            " |  \n",
            " |  __weakref__\n",
            " |      list of weak references to the object (if defined)\n",
            " |  \n",
            " |  ----------------------------------------------------------------------\n",
            " |  Methods inherited from BaseForest:\n",
            " |  \n",
            " |  apply(self, X)\n",
            " |      Apply trees in the forest to X, return leaf indices.\n",
            " |      \n",
            " |      Parameters\n",
            " |      ----------\n",
            " |      X : {array-like or sparse matrix} of shape (n_samples, n_features)\n",
            " |          The input samples. Internally, its dtype will be converted to\n",
            " |          ``dtype=np.float32``. If a sparse matrix is provided, it will be\n",
            " |          converted into a sparse ``csr_matrix``.\n",
            " |      \n",
            " |      Returns\n",
            " |      -------\n",
            " |      X_leaves : array_like, shape = [n_samples, n_estimators]\n",
            " |          For each datapoint x in X and for each tree in the forest,\n",
            " |          return the index of the leaf x ends up in.\n",
            " |  \n",
            " |  decision_path(self, X)\n",
            " |      Return the decision path in the forest.\n",
            " |      \n",
            " |      .. versionadded:: 0.18\n",
            " |      \n",
            " |      Parameters\n",
            " |      ----------\n",
            " |      X : {array-like or sparse matrix} of shape (n_samples, n_features)\n",
            " |          The input samples. Internally, its dtype will be converted to\n",
            " |          ``dtype=np.float32``. If a sparse matrix is provided, it will be\n",
            " |          converted into a sparse ``csr_matrix``.\n",
            " |      \n",
            " |      Returns\n",
            " |      -------\n",
            " |      indicator : sparse csr array, shape = [n_samples, n_nodes]\n",
            " |          Return a node indicator matrix where non zero elements\n",
            " |          indicates that the samples goes through the nodes.\n",
            " |      \n",
            " |      n_nodes_ptr : array of size (n_estimators + 1, )\n",
            " |          The columns from indicator[n_nodes_ptr[i]:n_nodes_ptr[i+1]]\n",
            " |          gives the indicator value for the i-th estimator.\n",
            " |  \n",
            " |  fit(self, X, y, sample_weight=None)\n",
            " |      Build a forest of trees from the training set (X, y).\n",
            " |      \n",
            " |      Parameters\n",
            " |      ----------\n",
            " |      X : array-like or sparse matrix of shape (n_samples, n_features)\n",
            " |          The training input samples. Internally, its dtype will be converted\n",
            " |          to ``dtype=np.float32``. If a sparse matrix is provided, it will be\n",
            " |          converted into a sparse ``csc_matrix``.\n",
            " |      \n",
            " |      y : array-like of shape (n_samples,) or (n_samples, n_outputs)\n",
            " |          The target values (class labels in classification, real numbers in\n",
            " |          regression).\n",
            " |      \n",
            " |      sample_weight : array-like of shape (n_samples,), default=None\n",
            " |          Sample weights. If None, then samples are equally weighted. Splits\n",
            " |          that would create child nodes with net zero or negative weight are\n",
            " |          ignored while searching for a split in each node. In the case of\n",
            " |          classification, splits are also ignored if they would result in any\n",
            " |          single class carrying a negative weight in either child node.\n",
            " |      \n",
            " |      Returns\n",
            " |      -------\n",
            " |      self : object\n",
            " |  \n",
            " |  ----------------------------------------------------------------------\n",
            " |  Data descriptors inherited from BaseForest:\n",
            " |  \n",
            " |  feature_importances_\n",
            " |      Return the feature importances (the higher, the more important the\n",
            " |         feature).\n",
            " |      \n",
            " |      Returns\n",
            " |      -------\n",
            " |      feature_importances_ : array, shape = [n_features]\n",
            " |          The values of this array sum to 1, unless all trees are single node\n",
            " |          trees consisting of only the root node, in which case it will be an\n",
            " |          array of zeros.\n",
            " |  \n",
            " |  ----------------------------------------------------------------------\n",
            " |  Methods inherited from sklearn.ensemble._base.BaseEnsemble:\n",
            " |  \n",
            " |  __getitem__(self, index)\n",
            " |      Return the index'th estimator in the ensemble.\n",
            " |  \n",
            " |  __iter__(self)\n",
            " |      Return iterator over estimators in the ensemble.\n",
            " |  \n",
            " |  __len__(self)\n",
            " |      Return the number of estimators in the ensemble.\n",
            " |  \n",
            " |  ----------------------------------------------------------------------\n",
            " |  Methods inherited from sklearn.base.BaseEstimator:\n",
            " |  \n",
            " |  __getstate__(self)\n",
            " |  \n",
            " |  __repr__(self, N_CHAR_MAX=700)\n",
            " |      Return repr(self).\n",
            " |  \n",
            " |  __setstate__(self, state)\n",
            " |  \n",
            " |  get_params(self, deep=True)\n",
            " |      Get parameters for this estimator.\n",
            " |      \n",
            " |      Parameters\n",
            " |      ----------\n",
            " |      deep : bool, default=True\n",
            " |          If True, will return the parameters for this estimator and\n",
            " |          contained subobjects that are estimators.\n",
            " |      \n",
            " |      Returns\n",
            " |      -------\n",
            " |      params : mapping of string to any\n",
            " |          Parameter names mapped to their values.\n",
            " |  \n",
            " |  set_params(self, **params)\n",
            " |      Set the parameters of this estimator.\n",
            " |      \n",
            " |      The method works on simple estimators as well as on nested objects\n",
            " |      (such as pipelines). The latter have parameters of the form\n",
            " |      ``<component>__<parameter>`` so that it's possible to update each\n",
            " |      component of a nested object.\n",
            " |      \n",
            " |      Parameters\n",
            " |      ----------\n",
            " |      **params : dict\n",
            " |          Estimator parameters.\n",
            " |      \n",
            " |      Returns\n",
            " |      -------\n",
            " |      self : object\n",
            " |          Estimator instance.\n",
            "\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "zY-2f8gbFeU9",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 1000
        },
        "outputId": "b76e6169-4d35-4c61-d997-d95e79a8b78b"
      },
      "source": [
        "from sklearn.ensemble import RandomForestRegressor\n",
        "rfreg = RandomForestRegressor(criterion='mae',  verbose=30, n_estimators=100, n_jobs=-1)\n",
        "\n",
        "params ={\"n_estimators\":[500],\n",
        "    'max_depth':[5,10,15],\n",
        "            'min_samples_leaf':[5,10,30,50,100], \n",
        "            'min_samples_split':[2,5,10,15,20,50,70,100]\n",
        "         }\n",
        "\n",
        "rftree = RandomizedSearchCV(param_distributions = params, estimator = rfreg, cv =5,n_iter=1, verbose = 30, scoring='neg_mean_absolute_error')\n",
        "rftree.fit(X,Y)"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "Fitting 5 folds for each of 1 candidates, totalling 5 fits\n",
            "[CV] n_estimators=500, min_samples_split=2, min_samples_leaf=10, max_depth=5 \n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "[Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers.\n",
            "[Parallel(n_jobs=-1)]: Using backend LokyBackend with 2 concurrent workers.\n",
            "[Parallel(n_jobs=-1)]: Done   1 tasks      | elapsed:   46.5s\n",
            "[Parallel(n_jobs=-1)]: Done   2 tasks      | elapsed:   51.0s\n",
            "[Parallel(n_jobs=-1)]: Done   3 tasks      | elapsed:  1.5min\n",
            "[Parallel(n_jobs=-1)]: Done   4 tasks      | elapsed:  1.7min\n",
            "[Parallel(n_jobs=-1)]: Done   5 tasks      | elapsed:  2.3min\n",
            "[Parallel(n_jobs=-1)]: Done   6 tasks      | elapsed:  2.4min\n",
            "[Parallel(n_jobs=-1)]: Done   7 tasks      | elapsed:  3.1min\n",
            "[Parallel(n_jobs=-1)]: Done   8 tasks      | elapsed:  3.3min\n",
            "[Parallel(n_jobs=-1)]: Done   9 tasks      | elapsed:  4.0min\n",
            "[Parallel(n_jobs=-1)]: Done  10 tasks      | elapsed:  4.1min\n",
            "[Parallel(n_jobs=-1)]: Done  11 tasks      | elapsed:  4.8min\n",
            "[Parallel(n_jobs=-1)]: Done  12 tasks      | elapsed:  5.0min\n",
            "[Parallel(n_jobs=-1)]: Done  13 tasks      | elapsed:  5.6min\n",
            "[Parallel(n_jobs=-1)]: Done  14 tasks      | elapsed:  5.8min\n",
            "[Parallel(n_jobs=-1)]: Done  15 tasks      | elapsed:  6.5min\n",
            "[Parallel(n_jobs=-1)]: Done  16 tasks      | elapsed:  6.7min\n",
            "[Parallel(n_jobs=-1)]: Done  17 tasks      | elapsed:  7.2min\n",
            "[Parallel(n_jobs=-1)]: Done  18 tasks      | elapsed:  7.5min\n",
            "[Parallel(n_jobs=-1)]: Done  19 tasks      | elapsed:  8.1min\n",
            "[Parallel(n_jobs=-1)]: Done  20 tasks      | elapsed:  8.3min\n",
            "[Parallel(n_jobs=-1)]: Done  21 tasks      | elapsed:  8.9min\n",
            "[Parallel(n_jobs=-1)]: Done  22 tasks      | elapsed:  9.0min\n",
            "[Parallel(n_jobs=-1)]: Done  23 tasks      | elapsed:  9.8min\n",
            "[Parallel(n_jobs=-1)]: Done  24 tasks      | elapsed:  9.8min\n",
            "[Parallel(n_jobs=-1)]: Done  25 tasks      | elapsed: 10.6min\n",
            "[Parallel(n_jobs=-1)]: Done  26 tasks      | elapsed: 10.6min\n",
            "[Parallel(n_jobs=-1)]: Done  27 tasks      | elapsed: 11.3min\n",
            "[Parallel(n_jobs=-1)]: Done  28 tasks      | elapsed: 11.5min\n",
            "[Parallel(n_jobs=-1)]: Done  29 tasks      | elapsed: 12.1min\n",
            "[Parallel(n_jobs=-1)]: Done  30 tasks      | elapsed: 12.3min\n",
            "[Parallel(n_jobs=-1)]: Done  31 tasks      | elapsed: 13.0min\n",
            "[Parallel(n_jobs=-1)]: Done  32 tasks      | elapsed: 13.2min\n",
            "[Parallel(n_jobs=-1)]: Done  33 tasks      | elapsed: 13.7min\n",
            "[Parallel(n_jobs=-1)]: Done  34 tasks      | elapsed: 14.0min\n",
            "[Parallel(n_jobs=-1)]: Done  35 tasks      | elapsed: 14.6min\n",
            "[Parallel(n_jobs=-1)]: Done  36 tasks      | elapsed: 14.8min\n",
            "[Parallel(n_jobs=-1)]: Done  37 tasks      | elapsed: 15.4min\n",
            "[Parallel(n_jobs=-1)]: Done  38 tasks      | elapsed: 15.7min\n",
            "[Parallel(n_jobs=-1)]: Done  39 tasks      | elapsed: 16.2min\n",
            "[Parallel(n_jobs=-1)]: Done  40 tasks      | elapsed: 16.4min\n",
            "[Parallel(n_jobs=-1)]: Done  41 tasks      | elapsed: 17.0min\n",
            "[Parallel(n_jobs=-1)]: Done  42 tasks      | elapsed: 17.3min\n",
            "[Parallel(n_jobs=-1)]: Done  43 tasks      | elapsed: 17.8min\n",
            "[Parallel(n_jobs=-1)]: Done  44 tasks      | elapsed: 18.1min\n",
            "[Parallel(n_jobs=-1)]: Done  45 tasks      | elapsed: 18.6min\n",
            "[Parallel(n_jobs=-1)]: Done  46 tasks      | elapsed: 19.0min\n",
            "[Parallel(n_jobs=-1)]: Done  47 tasks      | elapsed: 19.3min\n",
            "[Parallel(n_jobs=-1)]: Done  48 tasks      | elapsed: 19.9min\n",
            "[Parallel(n_jobs=-1)]: Done  49 tasks      | elapsed: 20.2min\n",
            "[Parallel(n_jobs=-1)]: Done  50 tasks      | elapsed: 20.7min\n",
            "[Parallel(n_jobs=-1)]: Done  51 tasks      | elapsed: 21.0min\n",
            "[Parallel(n_jobs=-1)]: Done  52 tasks      | elapsed: 21.5min\n",
            "[Parallel(n_jobs=-1)]: Done  53 tasks      | elapsed: 21.9min\n",
            "[Parallel(n_jobs=-1)]: Done  54 tasks      | elapsed: 22.4min\n",
            "[Parallel(n_jobs=-1)]: Done  55 tasks      | elapsed: 22.7min\n",
            "[Parallel(n_jobs=-1)]: Done  56 tasks      | elapsed: 23.3min\n",
            "[Parallel(n_jobs=-1)]: Done  57 tasks      | elapsed: 23.5min\n",
            "[Parallel(n_jobs=-1)]: Done  58 tasks      | elapsed: 24.0min\n",
            "[Parallel(n_jobs=-1)]: Done  59 tasks      | elapsed: 24.3min\n",
            "[Parallel(n_jobs=-1)]: Done  60 tasks      | elapsed: 24.8min\n",
            "[Parallel(n_jobs=-1)]: Done  61 tasks      | elapsed: 25.2min\n",
            "[Parallel(n_jobs=-1)]: Done  62 tasks      | elapsed: 25.7min\n",
            "[Parallel(n_jobs=-1)]: Done  63 tasks      | elapsed: 26.0min\n",
            "[Parallel(n_jobs=-1)]: Done  64 tasks      | elapsed: 26.6min\n",
            "[Parallel(n_jobs=-1)]: Done  65 tasks      | elapsed: 26.9min\n",
            "[Parallel(n_jobs=-1)]: Done  66 tasks      | elapsed: 27.4min\n",
            "[Parallel(n_jobs=-1)]: Done  67 tasks      | elapsed: 27.7min\n",
            "[Parallel(n_jobs=-1)]: Done  68 tasks      | elapsed: 28.3min\n",
            "[Parallel(n_jobs=-1)]: Done  69 tasks      | elapsed: 28.5min\n",
            "[Parallel(n_jobs=-1)]: Done  70 tasks      | elapsed: 29.0min\n",
            "[Parallel(n_jobs=-1)]: Done  71 tasks      | elapsed: 29.3min\n",
            "[Parallel(n_jobs=-1)]: Done  72 tasks      | elapsed: 29.8min\n",
            "[Parallel(n_jobs=-1)]: Done  73 tasks      | elapsed: 30.0min\n",
            "[Parallel(n_jobs=-1)]: Done  74 tasks      | elapsed: 30.7min\n",
            "[Parallel(n_jobs=-1)]: Done  75 tasks      | elapsed: 30.9min\n",
            "[Parallel(n_jobs=-1)]: Done  76 tasks      | elapsed: 31.5min\n",
            "[Parallel(n_jobs=-1)]: Done  77 tasks      | elapsed: 31.7min\n",
            "[Parallel(n_jobs=-1)]: Done  78 tasks      | elapsed: 32.2min\n",
            "[Parallel(n_jobs=-1)]: Done  79 tasks      | elapsed: 32.5min\n",
            "[Parallel(n_jobs=-1)]: Done  80 tasks      | elapsed: 33.1min\n",
            "[Parallel(n_jobs=-1)]: Done  81 tasks      | elapsed: 33.4min\n",
            "[Parallel(n_jobs=-1)]: Done  82 tasks      | elapsed: 33.9min\n",
            "[Parallel(n_jobs=-1)]: Done  83 tasks      | elapsed: 34.1min\n",
            "[Parallel(n_jobs=-1)]: Done  84 tasks      | elapsed: 34.8min\n",
            "[Parallel(n_jobs=-1)]: Done  85 tasks      | elapsed: 35.0min\n",
            "[Parallel(n_jobs=-1)]: Done  86 tasks      | elapsed: 35.7min\n",
            "[Parallel(n_jobs=-1)]: Done  87 tasks      | elapsed: 35.8min\n",
            "[Parallel(n_jobs=-1)]: Done  88 tasks      | elapsed: 36.4min\n",
            "[Parallel(n_jobs=-1)]: Done  89 tasks      | elapsed: 36.7min\n",
            "[Parallel(n_jobs=-1)]: Done  90 tasks      | elapsed: 37.3min\n",
            "[Parallel(n_jobs=-1)]: Done  91 tasks      | elapsed: 37.4min\n",
            "[Parallel(n_jobs=-1)]: Done  92 tasks      | elapsed: 38.1min\n",
            "[Parallel(n_jobs=-1)]: Done  93 tasks      | elapsed: 38.2min\n",
            "[Parallel(n_jobs=-1)]: Done  94 tasks      | elapsed: 38.8min\n",
            "[Parallel(n_jobs=-1)]: Done  95 tasks      | elapsed: 39.0min\n",
            "[Parallel(n_jobs=-1)]: Done  96 tasks      | elapsed: 39.6min\n",
            "[Parallel(n_jobs=-1)]: Done  97 tasks      | elapsed: 39.8min\n",
            "[Parallel(n_jobs=-1)]: Done  98 tasks      | elapsed: 40.5min\n",
            "[Parallel(n_jobs=-1)]: Done  99 tasks      | elapsed: 40.6min\n",
            "[Parallel(n_jobs=-1)]: Done 100 tasks      | elapsed: 41.4min\n",
            "[Parallel(n_jobs=-1)]: Done 101 tasks      | elapsed: 41.5min\n",
            "[Parallel(n_jobs=-1)]: Done 102 tasks      | elapsed: 42.2min\n",
            "[Parallel(n_jobs=-1)]: Done 103 tasks      | elapsed: 42.4min\n",
            "[Parallel(n_jobs=-1)]: Done 104 tasks      | elapsed: 43.1min\n",
            "[Parallel(n_jobs=-1)]: Done 105 tasks      | elapsed: 43.3min\n",
            "[Parallel(n_jobs=-1)]: Done 106 tasks      | elapsed: 44.0min\n",
            "[Parallel(n_jobs=-1)]: Done 107 tasks      | elapsed: 44.0min\n",
            "[Parallel(n_jobs=-1)]: Done 108 tasks      | elapsed: 44.9min\n",
            "[Parallel(n_jobs=-1)]: Done 109 tasks      | elapsed: 44.9min\n",
            "[Parallel(n_jobs=-1)]: Done 110 tasks      | elapsed: 45.8min\n",
            "[Parallel(n_jobs=-1)]: Done 111 tasks      | elapsed: 45.8min\n",
            "[Parallel(n_jobs=-1)]: Done 112 tasks      | elapsed: 46.6min\n",
            "[Parallel(n_jobs=-1)]: Done 113 tasks      | elapsed: 46.7min\n",
            "[Parallel(n_jobs=-1)]: Done 114 tasks      | elapsed: 47.4min\n",
            "[Parallel(n_jobs=-1)]: Done 115 tasks      | elapsed: 47.6min\n",
            "[Parallel(n_jobs=-1)]: Done 116 tasks      | elapsed: 48.2min\n",
            "[Parallel(n_jobs=-1)]: Done 117 tasks      | elapsed: 48.5min\n",
            "[Parallel(n_jobs=-1)]: Done 118 tasks      | elapsed: 49.1min\n",
            "[Parallel(n_jobs=-1)]: Done 119 tasks      | elapsed: 49.3min\n",
            "[Parallel(n_jobs=-1)]: Done 120 tasks      | elapsed: 50.0min\n",
            "[Parallel(n_jobs=-1)]: Done 121 tasks      | elapsed: 50.2min\n",
            "[Parallel(n_jobs=-1)]: Done 122 tasks      | elapsed: 51.0min\n",
            "[Parallel(n_jobs=-1)]: Done 123 tasks      | elapsed: 51.1min\n",
            "[Parallel(n_jobs=-1)]: Done 124 tasks      | elapsed: 51.9min\n",
            "[Parallel(n_jobs=-1)]: Done 125 tasks      | elapsed: 51.9min\n",
            "[Parallel(n_jobs=-1)]: Done 126 tasks      | elapsed: 52.7min\n",
            "[Parallel(n_jobs=-1)]: Done 127 tasks      | elapsed: 52.8min\n",
            "[Parallel(n_jobs=-1)]: Done 128 tasks      | elapsed: 53.7min\n",
            "[Parallel(n_jobs=-1)]: Done 129 tasks      | elapsed: 53.7min\n",
            "[Parallel(n_jobs=-1)]: Done 130 tasks      | elapsed: 54.5min\n",
            "[Parallel(n_jobs=-1)]: Done 131 tasks      | elapsed: 54.5min\n",
            "[Parallel(n_jobs=-1)]: Done 132 tasks      | elapsed: 55.4min\n",
            "[Parallel(n_jobs=-1)]: Done 133 tasks      | elapsed: 55.4min\n",
            "[Parallel(n_jobs=-1)]: Done 134 tasks      | elapsed: 56.2min\n",
            "[Parallel(n_jobs=-1)]: Done 135 tasks      | elapsed: 56.3min\n",
            "[Parallel(n_jobs=-1)]: Done 136 tasks      | elapsed: 57.0min\n",
            "[Parallel(n_jobs=-1)]: Done 137 tasks      | elapsed: 57.2min\n",
            "[Parallel(n_jobs=-1)]: Done 138 tasks      | elapsed: 58.0min\n",
            "[Parallel(n_jobs=-1)]: Done 139 tasks      | elapsed: 58.2min\n",
            "[Parallel(n_jobs=-1)]: Done 140 tasks      | elapsed: 58.9min\n",
            "[Parallel(n_jobs=-1)]: Done 141 tasks      | elapsed: 59.1min\n",
            "[Parallel(n_jobs=-1)]: Done 142 tasks      | elapsed: 59.8min\n",
            "[Parallel(n_jobs=-1)]: Done 143 tasks      | elapsed: 60.0min\n",
            "[Parallel(n_jobs=-1)]: Done 144 tasks      | elapsed: 60.7min\n",
            "[Parallel(n_jobs=-1)]: Done 145 tasks      | elapsed: 60.8min\n",
            "[Parallel(n_jobs=-1)]: Done 146 tasks      | elapsed: 61.6min\n",
            "[Parallel(n_jobs=-1)]: Done 147 tasks      | elapsed: 61.7min\n",
            "[Parallel(n_jobs=-1)]: Done 148 tasks      | elapsed: 62.6min\n",
            "[Parallel(n_jobs=-1)]: Done 149 tasks      | elapsed: 62.6min\n",
            "[Parallel(n_jobs=-1)]: Done 150 tasks      | elapsed: 63.5min\n",
            "[Parallel(n_jobs=-1)]: Done 151 tasks      | elapsed: 63.5min\n",
            "[Parallel(n_jobs=-1)]: Done 152 tasks      | elapsed: 64.4min\n",
            "[Parallel(n_jobs=-1)]: Done 153 tasks      | elapsed: 64.4min\n",
            "[Parallel(n_jobs=-1)]: Done 154 tasks      | elapsed: 65.4min\n",
            "[Parallel(n_jobs=-1)]: Done 155 tasks      | elapsed: 65.4min\n",
            "[Parallel(n_jobs=-1)]: Done 156 tasks      | elapsed: 66.2min\n",
            "[Parallel(n_jobs=-1)]: Done 157 tasks      | elapsed: 66.3min\n",
            "[Parallel(n_jobs=-1)]: Done 158 tasks      | elapsed: 67.1min\n",
            "[Parallel(n_jobs=-1)]: Done 159 tasks      | elapsed: 67.1min\n",
            "[Parallel(n_jobs=-1)]: Done 160 tasks      | elapsed: 67.8min\n",
            "[Parallel(n_jobs=-1)]: Done 161 tasks      | elapsed: 67.9min\n",
            "[Parallel(n_jobs=-1)]: Done 162 tasks      | elapsed: 68.7min\n",
            "[Parallel(n_jobs=-1)]: Done 163 tasks      | elapsed: 68.8min\n",
            "[Parallel(n_jobs=-1)]: Done 164 tasks      | elapsed: 69.6min\n",
            "[Parallel(n_jobs=-1)]: Done 165 tasks      | elapsed: 69.6min\n",
            "[Parallel(n_jobs=-1)]: Done 166 tasks      | elapsed: 70.3min\n",
            "[Parallel(n_jobs=-1)]: Done 167 tasks      | elapsed: 70.4min\n",
            "[Parallel(n_jobs=-1)]: Done 168 tasks      | elapsed: 71.2min\n",
            "[Parallel(n_jobs=-1)]: Done 169 tasks      | elapsed: 71.3min\n",
            "[Parallel(n_jobs=-1)]: Done 170 tasks      | elapsed: 72.0min\n",
            "[Parallel(n_jobs=-1)]: Done 171 tasks      | elapsed: 72.2min\n",
            "[Parallel(n_jobs=-1)]: Done 172 tasks      | elapsed: 72.9min\n",
            "[Parallel(n_jobs=-1)]: Done 173 tasks      | elapsed: 73.0min\n",
            "[Parallel(n_jobs=-1)]: Done 174 tasks      | elapsed: 73.8min\n",
            "[Parallel(n_jobs=-1)]: Done 175 tasks      | elapsed: 73.8min\n",
            "[Parallel(n_jobs=-1)]: Done 176 tasks      | elapsed: 74.6min\n",
            "[Parallel(n_jobs=-1)]: Done 177 tasks      | elapsed: 74.6min\n",
            "[Parallel(n_jobs=-1)]: Done 178 tasks      | elapsed: 75.4min\n",
            "[Parallel(n_jobs=-1)]: Done 179 tasks      | elapsed: 75.4min\n",
            "[Parallel(n_jobs=-1)]: Done 180 tasks      | elapsed: 76.3min\n",
            "[Parallel(n_jobs=-1)]: Done 181 tasks      | elapsed: 76.3min\n",
            "[Parallel(n_jobs=-1)]: Done 182 tasks      | elapsed: 77.1min\n",
            "[Parallel(n_jobs=-1)]: Done 183 tasks      | elapsed: 77.1min\n",
            "[Parallel(n_jobs=-1)]: Done 184 tasks      | elapsed: 78.0min\n",
            "[Parallel(n_jobs=-1)]: Done 185 tasks      | elapsed: 78.0min\n",
            "[Parallel(n_jobs=-1)]: Done 186 tasks      | elapsed: 78.8min\n",
            "[Parallel(n_jobs=-1)]: Done 187 tasks      | elapsed: 78.8min\n",
            "[Parallel(n_jobs=-1)]: Done 188 tasks      | elapsed: 79.7min\n",
            "[Parallel(n_jobs=-1)]: Done 189 tasks      | elapsed: 79.7min\n",
            "[Parallel(n_jobs=-1)]: Done 190 tasks      | elapsed: 80.5min\n",
            "[Parallel(n_jobs=-1)]: Done 191 tasks      | elapsed: 80.6min\n",
            "[Parallel(n_jobs=-1)]: Done 192 tasks      | elapsed: 81.2min\n",
            "[Parallel(n_jobs=-1)]: Done 193 tasks      | elapsed: 81.3min\n",
            "[Parallel(n_jobs=-1)]: Done 194 tasks      | elapsed: 82.1min\n",
            "[Parallel(n_jobs=-1)]: Done 195 tasks      | elapsed: 82.1min\n",
            "[Parallel(n_jobs=-1)]: Done 196 tasks      | elapsed: 82.9min\n",
            "[Parallel(n_jobs=-1)]: Done 197 tasks      | elapsed: 83.0min\n",
            "[Parallel(n_jobs=-1)]: Done 198 tasks      | elapsed: 83.8min\n",
            "[Parallel(n_jobs=-1)]: Done 199 tasks      | elapsed: 83.8min\n",
            "[Parallel(n_jobs=-1)]: Done 200 tasks      | elapsed: 84.6min\n",
            "[Parallel(n_jobs=-1)]: Done 201 tasks      | elapsed: 84.6min\n",
            "[Parallel(n_jobs=-1)]: Done 202 tasks      | elapsed: 85.3min\n",
            "[Parallel(n_jobs=-1)]: Done 203 tasks      | elapsed: 85.4min\n",
            "[Parallel(n_jobs=-1)]: Done 204 tasks      | elapsed: 86.2min\n",
            "[Parallel(n_jobs=-1)]: Done 205 tasks      | elapsed: 86.2min\n",
            "[Parallel(n_jobs=-1)]: Done 206 tasks      | elapsed: 87.0min\n",
            "[Parallel(n_jobs=-1)]: Done 207 tasks      | elapsed: 87.1min\n",
            "[Parallel(n_jobs=-1)]: Done 208 tasks      | elapsed: 87.8min\n",
            "[Parallel(n_jobs=-1)]: Done 209 tasks      | elapsed: 87.9min\n",
            "[Parallel(n_jobs=-1)]: Done 210 tasks      | elapsed: 88.6min\n",
            "[Parallel(n_jobs=-1)]: Done 211 tasks      | elapsed: 88.6min\n",
            "[Parallel(n_jobs=-1)]: Done 212 tasks      | elapsed: 89.4min\n",
            "[Parallel(n_jobs=-1)]: Done 213 tasks      | elapsed: 89.4min\n",
            "[Parallel(n_jobs=-1)]: Done 214 tasks      | elapsed: 90.2min\n",
            "[Parallel(n_jobs=-1)]: Done 215 tasks      | elapsed: 90.3min\n",
            "[Parallel(n_jobs=-1)]: Done 216 tasks      | elapsed: 91.1min\n",
            "[Parallel(n_jobs=-1)]: Done 217 tasks      | elapsed: 91.2min\n",
            "[Parallel(n_jobs=-1)]: Done 218 tasks      | elapsed: 91.8min\n",
            "[Parallel(n_jobs=-1)]: Done 219 tasks      | elapsed: 91.9min\n",
            "[Parallel(n_jobs=-1)]: Done 220 tasks      | elapsed: 92.5min\n",
            "[Parallel(n_jobs=-1)]: Done 221 tasks      | elapsed: 92.7min\n",
            "[Parallel(n_jobs=-1)]: Done 222 tasks      | elapsed: 93.4min\n",
            "[Parallel(n_jobs=-1)]: Done 223 tasks      | elapsed: 93.6min\n",
            "[Parallel(n_jobs=-1)]: Done 224 tasks      | elapsed: 94.2min\n",
            "[Parallel(n_jobs=-1)]: Done 225 tasks      | elapsed: 94.4min\n",
            "[Parallel(n_jobs=-1)]: Done 226 tasks      | elapsed: 95.0min\n",
            "[Parallel(n_jobs=-1)]: Done 227 tasks      | elapsed: 95.1min\n",
            "[Parallel(n_jobs=-1)]: Done 228 tasks      | elapsed: 95.8min\n",
            "[Parallel(n_jobs=-1)]: Done 229 tasks      | elapsed: 96.0min\n",
            "[Parallel(n_jobs=-1)]: Done 230 tasks      | elapsed: 96.6min\n",
            "[Parallel(n_jobs=-1)]: Done 231 tasks      | elapsed: 96.7min\n",
            "[Parallel(n_jobs=-1)]: Done 232 tasks      | elapsed: 97.4min\n",
            "[Parallel(n_jobs=-1)]: Done 233 tasks      | elapsed: 97.6min\n",
            "[Parallel(n_jobs=-1)]: Done 234 tasks      | elapsed: 98.2min\n",
            "[Parallel(n_jobs=-1)]: Done 235 tasks      | elapsed: 98.5min\n",
            "[Parallel(n_jobs=-1)]: Done 236 tasks      | elapsed: 99.0min\n",
            "[Parallel(n_jobs=-1)]: Done 237 tasks      | elapsed: 99.3min\n",
            "[Parallel(n_jobs=-1)]: Done 238 tasks      | elapsed: 99.9min\n",
            "[Parallel(n_jobs=-1)]: Done 239 tasks      | elapsed: 100.1min\n",
            "[Parallel(n_jobs=-1)]: Done 240 tasks      | elapsed: 100.6min\n",
            "[Parallel(n_jobs=-1)]: Done 241 tasks      | elapsed: 100.9min\n",
            "[Parallel(n_jobs=-1)]: Done 242 tasks      | elapsed: 101.5min\n",
            "[Parallel(n_jobs=-1)]: Done 243 tasks      | elapsed: 101.7min\n",
            "[Parallel(n_jobs=-1)]: Done 244 tasks      | elapsed: 102.3min\n",
            "[Parallel(n_jobs=-1)]: Done 245 tasks      | elapsed: 102.5min\n",
            "[Parallel(n_jobs=-1)]: Done 246 tasks      | elapsed: 103.1min\n",
            "[Parallel(n_jobs=-1)]: Done 247 tasks      | elapsed: 103.4min\n",
            "[Parallel(n_jobs=-1)]: Done 248 tasks      | elapsed: 104.0min\n",
            "[Parallel(n_jobs=-1)]: Done 249 tasks      | elapsed: 104.3min\n",
            "[Parallel(n_jobs=-1)]: Done 250 tasks      | elapsed: 104.8min\n",
            "[Parallel(n_jobs=-1)]: Done 251 tasks      | elapsed: 105.1min\n",
            "[Parallel(n_jobs=-1)]: Done 252 tasks      | elapsed: 105.6min\n",
            "[Parallel(n_jobs=-1)]: Done 253 tasks      | elapsed: 106.0min\n",
            "[Parallel(n_jobs=-1)]: Done 254 tasks      | elapsed: 106.5min\n",
            "[Parallel(n_jobs=-1)]: Done 255 tasks      | elapsed: 106.8min\n",
            "[Parallel(n_jobs=-1)]: Done 256 tasks      | elapsed: 107.4min\n",
            "[Parallel(n_jobs=-1)]: Done 257 tasks      | elapsed: 107.7min\n",
            "[Parallel(n_jobs=-1)]: Done 258 tasks      | elapsed: 108.2min\n",
            "[Parallel(n_jobs=-1)]: Done 259 tasks      | elapsed: 108.5min\n",
            "[Parallel(n_jobs=-1)]: Done 260 tasks      | elapsed: 109.1min\n",
            "[Parallel(n_jobs=-1)]: Done 261 tasks      | elapsed: 109.3min\n",
            "[Parallel(n_jobs=-1)]: Done 262 tasks      | elapsed: 109.9min\n",
            "[Parallel(n_jobs=-1)]: Done 263 tasks      | elapsed: 110.1min\n",
            "[Parallel(n_jobs=-1)]: Done 264 tasks      | elapsed: 110.7min\n",
            "[Parallel(n_jobs=-1)]: Done 265 tasks      | elapsed: 110.9min\n",
            "[Parallel(n_jobs=-1)]: Done 266 tasks      | elapsed: 111.5min\n",
            "[Parallel(n_jobs=-1)]: Done 267 tasks      | elapsed: 111.8min\n",
            "[Parallel(n_jobs=-1)]: Done 268 tasks      | elapsed: 112.5min\n",
            "[Parallel(n_jobs=-1)]: Done 269 tasks      | elapsed: 112.7min\n",
            "[Parallel(n_jobs=-1)]: Done 270 tasks      | elapsed: 113.3min\n",
            "[Parallel(n_jobs=-1)]: Done 271 tasks      | elapsed: 113.5min\n",
            "[Parallel(n_jobs=-1)]: Done 272 tasks      | elapsed: 114.2min\n",
            "[Parallel(n_jobs=-1)]: Done 273 tasks      | elapsed: 114.4min\n",
            "[Parallel(n_jobs=-1)]: Done 274 tasks      | elapsed: 115.1min\n",
            "[Parallel(n_jobs=-1)]: Done 275 tasks      | elapsed: 115.2min\n",
            "[Parallel(n_jobs=-1)]: Done 276 tasks      | elapsed: 116.0min\n",
            "[Parallel(n_jobs=-1)]: Done 277 tasks      | elapsed: 116.0min\n",
            "[Parallel(n_jobs=-1)]: Done 278 tasks      | elapsed: 116.8min\n",
            "[Parallel(n_jobs=-1)]: Done 279 tasks      | elapsed: 116.8min\n",
            "[Parallel(n_jobs=-1)]: Done 280 tasks      | elapsed: 117.5min\n",
            "[Parallel(n_jobs=-1)]: Done 281 tasks      | elapsed: 117.6min\n",
            "[Parallel(n_jobs=-1)]: Done 282 tasks      | elapsed: 118.4min\n",
            "[Parallel(n_jobs=-1)]: Done 283 tasks      | elapsed: 118.5min\n",
            "[Parallel(n_jobs=-1)]: Done 284 tasks      | elapsed: 119.3min\n",
            "[Parallel(n_jobs=-1)]: Done 285 tasks      | elapsed: 119.4min\n",
            "[Parallel(n_jobs=-1)]: Done 286 tasks      | elapsed: 120.2min\n",
            "[Parallel(n_jobs=-1)]: Done 287 tasks      | elapsed: 120.3min\n",
            "[Parallel(n_jobs=-1)]: Done 288 tasks      | elapsed: 121.0min\n",
            "[Parallel(n_jobs=-1)]: Done 289 tasks      | elapsed: 121.3min\n",
            "[Parallel(n_jobs=-1)]: Done 290 tasks      | elapsed: 121.8min\n",
            "[Parallel(n_jobs=-1)]: Done 291 tasks      | elapsed: 122.0min\n",
            "[Parallel(n_jobs=-1)]: Done 292 tasks      | elapsed: 122.7min\n",
            "[Parallel(n_jobs=-1)]: Done 293 tasks      | elapsed: 122.9min\n",
            "[Parallel(n_jobs=-1)]: Done 294 tasks      | elapsed: 123.6min\n",
            "[Parallel(n_jobs=-1)]: Done 295 tasks      | elapsed: 123.9min\n",
            "[Parallel(n_jobs=-1)]: Done 296 tasks      | elapsed: 124.5min\n",
            "[Parallel(n_jobs=-1)]: Done 297 tasks      | elapsed: 124.7min\n",
            "[Parallel(n_jobs=-1)]: Done 298 tasks      | elapsed: 125.4min\n",
            "[Parallel(n_jobs=-1)]: Done 299 tasks      | elapsed: 125.6min\n",
            "[Parallel(n_jobs=-1)]: Done 300 tasks      | elapsed: 126.2min\n",
            "[Parallel(n_jobs=-1)]: Done 301 tasks      | elapsed: 126.5min\n",
            "[Parallel(n_jobs=-1)]: Done 302 tasks      | elapsed: 127.0min\n",
            "[Parallel(n_jobs=-1)]: Done 303 tasks      | elapsed: 127.3min\n",
            "[Parallel(n_jobs=-1)]: Done 304 tasks      | elapsed: 127.9min\n",
            "[Parallel(n_jobs=-1)]: Done 305 tasks      | elapsed: 128.2min\n",
            "[Parallel(n_jobs=-1)]: Done 306 tasks      | elapsed: 128.8min\n",
            "[Parallel(n_jobs=-1)]: Done 307 tasks      | elapsed: 129.1min\n",
            "[Parallel(n_jobs=-1)]: Done 308 tasks      | elapsed: 129.7min\n",
            "[Parallel(n_jobs=-1)]: Done 309 tasks      | elapsed: 129.8min\n",
            "[Parallel(n_jobs=-1)]: Done 310 tasks      | elapsed: 130.5min\n",
            "[Parallel(n_jobs=-1)]: Done 311 tasks      | elapsed: 130.7min\n",
            "[Parallel(n_jobs=-1)]: Done 312 tasks      | elapsed: 131.4min\n",
            "[Parallel(n_jobs=-1)]: Done 313 tasks      | elapsed: 131.5min\n",
            "[Parallel(n_jobs=-1)]: Done 314 tasks      | elapsed: 132.3min\n",
            "[Parallel(n_jobs=-1)]: Done 315 tasks      | elapsed: 132.4min\n",
            "[Parallel(n_jobs=-1)]: Done 316 tasks      | elapsed: 133.2min\n",
            "[Parallel(n_jobs=-1)]: Done 317 tasks      | elapsed: 133.2min\n",
            "[Parallel(n_jobs=-1)]: Done 318 tasks      | elapsed: 134.0min\n",
            "[Parallel(n_jobs=-1)]: Done 319 tasks      | elapsed: 134.1min\n",
            "[Parallel(n_jobs=-1)]: Done 320 tasks      | elapsed: 135.0min\n",
            "[Parallel(n_jobs=-1)]: Done 321 tasks      | elapsed: 135.0min\n",
            "[Parallel(n_jobs=-1)]: Done 322 tasks      | elapsed: 135.9min\n",
            "[Parallel(n_jobs=-1)]: Done 323 tasks      | elapsed: 135.9min\n",
            "[Parallel(n_jobs=-1)]: Done 324 tasks      | elapsed: 136.7min\n",
            "[Parallel(n_jobs=-1)]: Done 325 tasks      | elapsed: 136.8min\n",
            "[Parallel(n_jobs=-1)]: Done 326 tasks      | elapsed: 137.5min\n",
            "[Parallel(n_jobs=-1)]: Done 327 tasks      | elapsed: 137.5min\n",
            "[Parallel(n_jobs=-1)]: Done 328 tasks      | elapsed: 138.3min\n",
            "[Parallel(n_jobs=-1)]: Done 329 tasks      | elapsed: 138.4min\n",
            "[Parallel(n_jobs=-1)]: Done 330 tasks      | elapsed: 139.1min\n",
            "[Parallel(n_jobs=-1)]: Done 331 tasks      | elapsed: 139.1min\n",
            "[Parallel(n_jobs=-1)]: Done 332 tasks      | elapsed: 139.9min\n",
            "[Parallel(n_jobs=-1)]: Done 333 tasks      | elapsed: 140.0min\n",
            "[Parallel(n_jobs=-1)]: Done 334 tasks      | elapsed: 140.8min\n",
            "[Parallel(n_jobs=-1)]: Done 335 tasks      | elapsed: 140.9min\n",
            "[Parallel(n_jobs=-1)]: Done 336 tasks      | elapsed: 141.7min\n",
            "[Parallel(n_jobs=-1)]: Done 337 tasks      | elapsed: 141.8min\n",
            "[Parallel(n_jobs=-1)]: Done 338 tasks      | elapsed: 142.6min\n",
            "[Parallel(n_jobs=-1)]: Done 339 tasks      | elapsed: 142.7min\n",
            "[Parallel(n_jobs=-1)]: Done 340 tasks      | elapsed: 143.4min\n",
            "[Parallel(n_jobs=-1)]: Done 341 tasks      | elapsed: 143.5min\n",
            "[Parallel(n_jobs=-1)]: Done 342 tasks      | elapsed: 144.2min\n",
            "[Parallel(n_jobs=-1)]: Done 343 tasks      | elapsed: 144.3min\n",
            "[Parallel(n_jobs=-1)]: Done 344 tasks      | elapsed: 145.0min\n",
            "[Parallel(n_jobs=-1)]: Done 345 tasks      | elapsed: 145.1min\n",
            "[Parallel(n_jobs=-1)]: Done 346 tasks      | elapsed: 145.8min\n",
            "[Parallel(n_jobs=-1)]: Done 347 tasks      | elapsed: 145.9min\n",
            "[Parallel(n_jobs=-1)]: Done 348 tasks      | elapsed: 146.7min\n",
            "[Parallel(n_jobs=-1)]: Done 349 tasks      | elapsed: 146.8min\n",
            "[Parallel(n_jobs=-1)]: Done 350 tasks      | elapsed: 147.6min\n",
            "[Parallel(n_jobs=-1)]: Done 351 tasks      | elapsed: 147.6min\n",
            "[Parallel(n_jobs=-1)]: Done 352 tasks      | elapsed: 148.3min\n",
            "[Parallel(n_jobs=-1)]: Done 353 tasks      | elapsed: 148.5min\n",
            "[Parallel(n_jobs=-1)]: Done 354 tasks      | elapsed: 149.2min\n",
            "[Parallel(n_jobs=-1)]: Done 355 tasks      | elapsed: 149.2min\n",
            "[Parallel(n_jobs=-1)]: Done 356 tasks      | elapsed: 150.0min\n",
            "[Parallel(n_jobs=-1)]: Done 357 tasks      | elapsed: 150.1min\n",
            "[Parallel(n_jobs=-1)]: Done 358 tasks      | elapsed: 150.9min\n",
            "[Parallel(n_jobs=-1)]: Done 359 tasks      | elapsed: 150.9min\n",
            "[Parallel(n_jobs=-1)]: Done 360 tasks      | elapsed: 151.7min\n",
            "[Parallel(n_jobs=-1)]: Done 361 tasks      | elapsed: 151.7min\n",
            "[Parallel(n_jobs=-1)]: Done 362 tasks      | elapsed: 152.5min\n",
            "[Parallel(n_jobs=-1)]: Done 363 tasks      | elapsed: 152.5min\n",
            "[Parallel(n_jobs=-1)]: Done 364 tasks      | elapsed: 153.4min\n",
            "[Parallel(n_jobs=-1)]: Done 365 tasks      | elapsed: 153.4min\n",
            "[Parallel(n_jobs=-1)]: Done 366 tasks      | elapsed: 154.1min\n",
            "[Parallel(n_jobs=-1)]: Done 367 tasks      | elapsed: 154.1min\n",
            "[Parallel(n_jobs=-1)]: Done 368 tasks      | elapsed: 154.9min\n",
            "[Parallel(n_jobs=-1)]: Done 369 tasks      | elapsed: 155.0min\n",
            "[Parallel(n_jobs=-1)]: Done 370 tasks      | elapsed: 155.8min\n",
            "[Parallel(n_jobs=-1)]: Done 371 tasks      | elapsed: 155.8min\n",
            "[Parallel(n_jobs=-1)]: Done 372 tasks      | elapsed: 156.7min\n",
            "[Parallel(n_jobs=-1)]: Done 373 tasks      | elapsed: 156.7min\n",
            "[Parallel(n_jobs=-1)]: Done 374 tasks      | elapsed: 157.4min\n",
            "[Parallel(n_jobs=-1)]: Done 375 tasks      | elapsed: 157.6min\n",
            "[Parallel(n_jobs=-1)]: Done 376 tasks      | elapsed: 158.3min\n",
            "[Parallel(n_jobs=-1)]: Done 377 tasks      | elapsed: 158.5min\n",
            "[Parallel(n_jobs=-1)]: Done 378 tasks      | elapsed: 159.2min\n",
            "[Parallel(n_jobs=-1)]: Done 379 tasks      | elapsed: 159.3min\n",
            "[Parallel(n_jobs=-1)]: Done 380 tasks      | elapsed: 160.0min\n",
            "[Parallel(n_jobs=-1)]: Done 381 tasks      | elapsed: 160.2min\n",
            "[Parallel(n_jobs=-1)]: Done 382 tasks      | elapsed: 160.7min\n",
            "[Parallel(n_jobs=-1)]: Done 383 tasks      | elapsed: 160.9min\n",
            "[Parallel(n_jobs=-1)]: Done 384 tasks      | elapsed: 161.5min\n",
            "[Parallel(n_jobs=-1)]: Done 385 tasks      | elapsed: 161.8min\n",
            "[Parallel(n_jobs=-1)]: Done 386 tasks      | elapsed: 162.4min\n",
            "[Parallel(n_jobs=-1)]: Done 387 tasks      | elapsed: 162.7min\n",
            "[Parallel(n_jobs=-1)]: Done 388 tasks      | elapsed: 163.2min\n",
            "[Parallel(n_jobs=-1)]: Done 389 tasks      | elapsed: 163.6min\n",
            "[Parallel(n_jobs=-1)]: Done 390 tasks      | elapsed: 164.1min\n",
            "[Parallel(n_jobs=-1)]: Done 391 tasks      | elapsed: 164.5min\n",
            "[Parallel(n_jobs=-1)]: Done 392 tasks      | elapsed: 164.9min\n",
            "[Parallel(n_jobs=-1)]: Done 393 tasks      | elapsed: 165.3min\n",
            "[Parallel(n_jobs=-1)]: Done 394 tasks      | elapsed: 165.7min\n",
            "[Parallel(n_jobs=-1)]: Done 395 tasks      | elapsed: 166.2min\n",
            "[Parallel(n_jobs=-1)]: Done 396 tasks      | elapsed: 166.5min\n",
            "[Parallel(n_jobs=-1)]: Done 397 tasks      | elapsed: 167.0min\n",
            "[Parallel(n_jobs=-1)]: Done 398 tasks      | elapsed: 167.4min\n",
            "[Parallel(n_jobs=-1)]: Done 399 tasks      | elapsed: 167.8min\n",
            "[Parallel(n_jobs=-1)]: Done 400 tasks      | elapsed: 168.2min\n",
            "[Parallel(n_jobs=-1)]: Done 401 tasks      | elapsed: 168.6min\n",
            "[Parallel(n_jobs=-1)]: Done 402 tasks      | elapsed: 169.1min\n",
            "[Parallel(n_jobs=-1)]: Done 403 tasks      | elapsed: 169.5min\n",
            "[Parallel(n_jobs=-1)]: Done 404 tasks      | elapsed: 169.9min\n",
            "[Parallel(n_jobs=-1)]: Done 405 tasks      | elapsed: 170.3min\n",
            "[Parallel(n_jobs=-1)]: Done 406 tasks      | elapsed: 170.7min\n",
            "[Parallel(n_jobs=-1)]: Done 407 tasks      | elapsed: 171.1min\n",
            "[Parallel(n_jobs=-1)]: Done 408 tasks      | elapsed: 171.4min\n",
            "[Parallel(n_jobs=-1)]: Done 409 tasks      | elapsed: 172.0min\n",
            "[Parallel(n_jobs=-1)]: Done 410 tasks      | elapsed: 172.2min\n",
            "[Parallel(n_jobs=-1)]: Done 411 tasks      | elapsed: 172.8min\n",
            "[Parallel(n_jobs=-1)]: Done 412 tasks      | elapsed: 173.0min\n",
            "[Parallel(n_jobs=-1)]: Done 413 tasks      | elapsed: 173.6min\n",
            "[Parallel(n_jobs=-1)]: Done 414 tasks      | elapsed: 173.8min\n",
            "[Parallel(n_jobs=-1)]: Done 415 tasks      | elapsed: 174.5min\n",
            "[Parallel(n_jobs=-1)]: Done 416 tasks      | elapsed: 174.7min\n",
            "[Parallel(n_jobs=-1)]: Done 417 tasks      | elapsed: 175.3min\n",
            "[Parallel(n_jobs=-1)]: Done 418 tasks      | elapsed: 175.4min\n",
            "[Parallel(n_jobs=-1)]: Done 419 tasks      | elapsed: 176.2min\n",
            "[Parallel(n_jobs=-1)]: Done 420 tasks      | elapsed: 176.2min\n",
            "[Parallel(n_jobs=-1)]: Done 421 tasks      | elapsed: 176.9min\n",
            "[Parallel(n_jobs=-1)]: Done 422 tasks      | elapsed: 177.0min\n",
            "[Parallel(n_jobs=-1)]: Done 423 tasks      | elapsed: 177.7min\n",
            "[Parallel(n_jobs=-1)]: Done 424 tasks      | elapsed: 177.9min\n",
            "[Parallel(n_jobs=-1)]: Done 425 tasks      | elapsed: 178.5min\n",
            "[Parallel(n_jobs=-1)]: Done 426 tasks      | elapsed: 178.7min\n",
            "[Parallel(n_jobs=-1)]: Done 427 tasks      | elapsed: 179.4min\n",
            "[Parallel(n_jobs=-1)]: Done 428 tasks      | elapsed: 179.6min\n",
            "[Parallel(n_jobs=-1)]: Done 429 tasks      | elapsed: 180.2min\n",
            "[Parallel(n_jobs=-1)]: Done 430 tasks      | elapsed: 180.5min\n",
            "[Parallel(n_jobs=-1)]: Done 431 tasks      | elapsed: 181.0min\n",
            "[Parallel(n_jobs=-1)]: Done 432 tasks      | elapsed: 181.3min\n",
            "[Parallel(n_jobs=-1)]: Done 433 tasks      | elapsed: 181.8min\n",
            "[Parallel(n_jobs=-1)]: Done 434 tasks      | elapsed: 182.2min\n",
            "[Parallel(n_jobs=-1)]: Done 435 tasks      | elapsed: 182.7min\n",
            "[Parallel(n_jobs=-1)]: Done 436 tasks      | elapsed: 182.9min\n",
            "[Parallel(n_jobs=-1)]: Done 437 tasks      | elapsed: 183.6min\n",
            "[Parallel(n_jobs=-1)]: Done 438 tasks      | elapsed: 183.8min\n",
            "[Parallel(n_jobs=-1)]: Done 439 tasks      | elapsed: 184.4min\n",
            "[Parallel(n_jobs=-1)]: Done 440 tasks      | elapsed: 184.6min\n",
            "[Parallel(n_jobs=-1)]: Done 441 tasks      | elapsed: 185.3min\n",
            "[Parallel(n_jobs=-1)]: Done 442 tasks      | elapsed: 185.4min\n",
            "[Parallel(n_jobs=-1)]: Done 443 tasks      | elapsed: 186.0min\n",
            "[Parallel(n_jobs=-1)]: Done 444 tasks      | elapsed: 186.1min\n",
            "[Parallel(n_jobs=-1)]: Done 445 tasks      | elapsed: 186.8min\n",
            "[Parallel(n_jobs=-1)]: Done 446 tasks      | elapsed: 187.0min\n",
            "[Parallel(n_jobs=-1)]: Done 447 tasks      | elapsed: 187.6min\n",
            "[Parallel(n_jobs=-1)]: Done 448 tasks      | elapsed: 187.8min\n",
            "[Parallel(n_jobs=-1)]: Done 449 tasks      | elapsed: 188.4min\n",
            "[Parallel(n_jobs=-1)]: Done 450 tasks      | elapsed: 188.6min\n",
            "[Parallel(n_jobs=-1)]: Done 451 tasks      | elapsed: 189.3min\n",
            "[Parallel(n_jobs=-1)]: Done 452 tasks      | elapsed: 189.5min\n",
            "[Parallel(n_jobs=-1)]: Done 453 tasks      | elapsed: 190.1min\n",
            "[Parallel(n_jobs=-1)]: Done 454 tasks      | elapsed: 190.2min\n",
            "[Parallel(n_jobs=-1)]: Done 455 tasks      | elapsed: 191.0min\n",
            "[Parallel(n_jobs=-1)]: Done 456 tasks      | elapsed: 191.1min\n",
            "[Parallel(n_jobs=-1)]: Done 457 tasks      | elapsed: 191.8min\n",
            "[Parallel(n_jobs=-1)]: Done 458 tasks      | elapsed: 191.8min\n",
            "[Parallel(n_jobs=-1)]: Done 459 tasks      | elapsed: 192.6min\n",
            "[Parallel(n_jobs=-1)]: Done 460 tasks      | elapsed: 192.7min\n",
            "[Parallel(n_jobs=-1)]: Done 461 tasks      | elapsed: 193.5min\n",
            "[Parallel(n_jobs=-1)]: Done 462 tasks      | elapsed: 193.6min\n",
            "[Parallel(n_jobs=-1)]: Done 463 tasks      | elapsed: 194.3min\n",
            "[Parallel(n_jobs=-1)]: Done 464 tasks      | elapsed: 194.3min\n",
            "[Parallel(n_jobs=-1)]: Done 465 tasks      | elapsed: 195.1min\n",
            "[Parallel(n_jobs=-1)]: Done 466 tasks      | elapsed: 195.1min\n",
            "[Parallel(n_jobs=-1)]: Done 467 tasks      | elapsed: 195.9min\n",
            "[Parallel(n_jobs=-1)]: Done 468 tasks      | elapsed: 196.0min\n",
            "[Parallel(n_jobs=-1)]: Done 469 tasks      | elapsed: 196.7min\n",
            "[Parallel(n_jobs=-1)]: Done 470 tasks      | elapsed: 196.8min\n",
            "[Parallel(n_jobs=-1)]: Done 471 tasks      | elapsed: 197.5min\n",
            "[Parallel(n_jobs=-1)]: Done 472 tasks      | elapsed: 197.7min\n",
            "[Parallel(n_jobs=-1)]: Done 473 tasks      | elapsed: 198.3min\n",
            "[Parallel(n_jobs=-1)]: Done 474 tasks      | elapsed: 198.6min\n",
            "[Parallel(n_jobs=-1)]: Done 475 tasks      | elapsed: 199.2min\n",
            "[Parallel(n_jobs=-1)]: Done 476 tasks      | elapsed: 199.4min\n",
            "[Parallel(n_jobs=-1)]: Done 477 tasks      | elapsed: 200.0min\n",
            "[Parallel(n_jobs=-1)]: Done 478 tasks      | elapsed: 200.2min\n",
            "[Parallel(n_jobs=-1)]: Done 479 tasks      | elapsed: 200.8min\n",
            "[Parallel(n_jobs=-1)]: Done 480 tasks      | elapsed: 201.0min\n",
            "[Parallel(n_jobs=-1)]: Done 481 tasks      | elapsed: 201.6min\n",
            "[Parallel(n_jobs=-1)]: Done 482 tasks      | elapsed: 201.8min\n",
            "[Parallel(n_jobs=-1)]: Done 483 tasks      | elapsed: 202.5min\n",
            "[Parallel(n_jobs=-1)]: Done 484 tasks      | elapsed: 202.6min\n",
            "[Parallel(n_jobs=-1)]: Done 485 tasks      | elapsed: 203.4min\n",
            "[Parallel(n_jobs=-1)]: Done 486 tasks      | elapsed: 203.5min\n",
            "[Parallel(n_jobs=-1)]: Done 487 tasks      | elapsed: 204.2min\n",
            "[Parallel(n_jobs=-1)]: Done 488 tasks      | elapsed: 204.3min\n",
            "[Parallel(n_jobs=-1)]: Done 489 tasks      | elapsed: 205.0min\n",
            "[Parallel(n_jobs=-1)]: Done 490 tasks      | elapsed: 205.1min\n",
            "[Parallel(n_jobs=-1)]: Done 491 tasks      | elapsed: 205.9min\n",
            "[Parallel(n_jobs=-1)]: Done 492 tasks      | elapsed: 206.0min\n",
            "[Parallel(n_jobs=-1)]: Done 493 tasks      | elapsed: 206.7min\n",
            "[Parallel(n_jobs=-1)]: Done 494 tasks      | elapsed: 206.9min\n",
            "[Parallel(n_jobs=-1)]: Done 495 tasks      | elapsed: 207.6min\n",
            "[Parallel(n_jobs=-1)]: Done 496 tasks      | elapsed: 207.7min\n",
            "[Parallel(n_jobs=-1)]: Done 497 tasks      | elapsed: 208.4min\n",
            "[Parallel(n_jobs=-1)]: Done 500 out of 500 | elapsed: 209.4min finished\n",
            "[Parallel(n_jobs=2)]: Using backend ThreadingBackend with 2 concurrent workers.\n",
            "[Parallel(n_jobs=2)]: Done   1 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done   2 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done   3 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done   4 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done   5 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done   6 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done   7 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done   8 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done   9 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  10 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  11 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  12 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  13 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  14 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  15 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  16 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  17 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  18 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  19 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  20 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  21 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  22 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  23 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  24 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  25 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  26 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  27 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  28 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  29 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  30 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  31 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  32 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  33 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  34 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  35 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  36 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  37 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  38 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  39 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  40 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  41 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  42 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  43 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  44 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  45 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  46 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  47 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  48 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  49 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  50 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  51 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  52 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  53 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  54 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  55 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  56 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  57 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  58 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  59 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  60 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  61 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  62 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  63 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  64 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  65 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  66 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  67 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  68 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  69 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  70 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  71 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  72 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  73 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  74 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  75 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  76 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  77 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  78 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  79 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  80 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  81 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  82 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  83 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  84 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  85 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  86 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  87 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  88 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  89 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  90 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  91 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  92 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  93 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  94 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  95 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  96 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  97 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  98 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done  99 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done 100 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done 101 tasks      | elapsed:    0.0s\n",
            "[Parallel(n_jobs=2)]: Done 102 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 103 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 104 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 105 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 106 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 107 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 108 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 109 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 110 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 111 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 112 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 113 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 114 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 115 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 116 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 117 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 118 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 119 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 120 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 121 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 122 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 123 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 124 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 125 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 126 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 127 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 128 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 129 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 130 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 131 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 132 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 133 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 134 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 135 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 136 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 137 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 138 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 139 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 140 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 141 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 142 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 143 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 144 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 145 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 146 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 147 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 148 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 149 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 150 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 151 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 152 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 153 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 154 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 155 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 156 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 157 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 158 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 159 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 160 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 161 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 162 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 163 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 164 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 165 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 166 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 167 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 168 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 169 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 170 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 171 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 172 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 173 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 174 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 175 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 176 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 177 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 178 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 179 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 180 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 181 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 182 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 183 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 184 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 185 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 186 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 187 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 188 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 189 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 190 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 191 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 192 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 193 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 194 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 195 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 196 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 197 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 198 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 199 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 200 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 201 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 202 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 203 tasks      | elapsed:    0.1s\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "Using ThreadingBackend as joblib.Parallel backend instead of LokyBackend as the latter does not provide shared memory semantics.\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "[Parallel(n_jobs=2)]: Done 204 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 205 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 206 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 207 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 208 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 209 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 210 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 211 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 212 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 213 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 214 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 215 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 216 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 217 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 218 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 219 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 220 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 221 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 222 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 223 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 224 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 225 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 226 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 227 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 228 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 229 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 230 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 231 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 232 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 233 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 234 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 235 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 236 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 237 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 238 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 239 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 240 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 241 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 242 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 243 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 244 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 245 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 246 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 247 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 248 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 249 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 250 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 251 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 252 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 253 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 254 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 255 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 256 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 257 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 258 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 259 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 260 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 261 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 262 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 263 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 264 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 265 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 266 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 267 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 268 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 269 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 270 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 271 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 272 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 273 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 274 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 275 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 276 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 277 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 278 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 279 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 280 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 281 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 282 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 283 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 284 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 285 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 286 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 287 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 288 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 289 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 290 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 291 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 292 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 293 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 294 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 295 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 296 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 297 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 298 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 299 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 300 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 301 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 302 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 303 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 304 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 305 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 306 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 307 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 308 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 309 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 310 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 311 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 312 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 313 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 314 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 315 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 316 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 317 tasks      | elapsed:    0.1s\n",
            "[Parallel(n_jobs=2)]: Done 318 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 319 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 320 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 321 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 322 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 323 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 324 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 325 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 326 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 327 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 328 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 329 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 330 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 331 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 332 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 333 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 334 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 335 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 336 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 337 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 338 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 339 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 340 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 341 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 342 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 343 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 344 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 345 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 346 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 347 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 348 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 349 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 350 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 351 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 352 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 353 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 354 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 355 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 356 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 357 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 358 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 359 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 360 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 361 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 362 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 363 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 364 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 365 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 366 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 367 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 368 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 369 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 370 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 371 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 372 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 373 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 374 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 375 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 376 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 377 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 378 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 379 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 380 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 381 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 382 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 383 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 384 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 385 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 386 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 387 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 388 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 389 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 390 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 391 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 392 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 393 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 394 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 395 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 396 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 397 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 398 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 399 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 400 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 401 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 402 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 403 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 404 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 405 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 406 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 407 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 408 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 409 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 410 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 411 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 412 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 413 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 414 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 415 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 416 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 417 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 418 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 419 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 420 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 421 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 422 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 423 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 424 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 425 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 426 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 427 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 428 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 429 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 430 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 431 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 432 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 433 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 434 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 435 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 436 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 437 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 438 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 439 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 440 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 441 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 442 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 443 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 444 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 445 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 446 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 447 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 448 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 449 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 450 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 451 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 452 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 453 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 454 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 455 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 456 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 457 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 458 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 459 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 460 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 461 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 462 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 463 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 464 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 465 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 466 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 467 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 468 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 469 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 470 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 471 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 472 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 473 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 474 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 475 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 476 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 477 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 478 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 479 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 480 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 481 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 482 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 483 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 484 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 485 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 486 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 487 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 488 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 489 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 490 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 491 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 492 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 493 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 494 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 495 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 496 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 497 tasks      | elapsed:    0.2s\n",
            "[Parallel(n_jobs=2)]: Done 500 out of 500 | elapsed:    0.2s finished\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "[CV]  n_estimators=500, min_samples_split=2, min_samples_leaf=10, max_depth=5, score=-2.614, total=209.4min\n",
            "[CV] n_estimators=500, min_samples_split=2, min_samples_leaf=10, max_depth=5 \n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "[Parallel(n_jobs=1)]: Done   1 out of   1 | elapsed: 209.4min remaining:    0.0s\n",
            "[Parallel(n_jobs=-1)]: Using backend LokyBackend with 2 concurrent workers.\n",
            "[Parallel(n_jobs=-1)]: Done   1 tasks      | elapsed:   49.9s\n",
            "[Parallel(n_jobs=-1)]: Done   2 tasks      | elapsed:   52.2s\n",
            "[Parallel(n_jobs=-1)]: Done   3 tasks      | elapsed:  1.7min\n",
            "[Parallel(n_jobs=-1)]: Done   4 tasks      | elapsed:  1.7min\n",
            "[Parallel(n_jobs=-1)]: Done   5 tasks      | elapsed:  2.5min\n",
            "[Parallel(n_jobs=-1)]: Done   6 tasks      | elapsed:  2.5min\n",
            "[Parallel(n_jobs=-1)]: Done   7 tasks      | elapsed:  3.4min\n",
            "[Parallel(n_jobs=-1)]: Done   8 tasks      | elapsed:  3.4min\n",
            "[Parallel(n_jobs=-1)]: Done   9 tasks      | elapsed:  4.2min\n",
            "[Parallel(n_jobs=-1)]: Done  10 tasks      | elapsed:  4.3min\n",
            "[Parallel(n_jobs=-1)]: Done  11 tasks      | elapsed:  5.0min\n",
            "[Parallel(n_jobs=-1)]: Done  12 tasks      | elapsed:  5.1min\n",
            "[Parallel(n_jobs=-1)]: Done  13 tasks      | elapsed:  5.7min\n",
            "[Parallel(n_jobs=-1)]: Done  14 tasks      | elapsed:  5.9min\n",
            "[Parallel(n_jobs=-1)]: Done  15 tasks      | elapsed:  6.5min\n",
            "[Parallel(n_jobs=-1)]: Done  16 tasks      | elapsed:  6.8min\n",
            "[Parallel(n_jobs=-1)]: Done  17 tasks      | elapsed:  7.3min\n",
            "[Parallel(n_jobs=-1)]: Done  18 tasks      | elapsed:  7.7min\n",
            "[Parallel(n_jobs=-1)]: Done  19 tasks      | elapsed:  8.2min\n",
            "[Parallel(n_jobs=-1)]: Done  20 tasks      | elapsed:  8.4min\n",
            "[Parallel(n_jobs=-1)]: Done  21 tasks      | elapsed:  9.0min\n",
            "[Parallel(n_jobs=-1)]: Done  22 tasks      | elapsed:  9.3min\n",
            "[Parallel(n_jobs=-1)]: Done  23 tasks      | elapsed:  9.9min\n",
            "[Parallel(n_jobs=-1)]: Done  24 tasks      | elapsed: 10.0min\n",
            "[Parallel(n_jobs=-1)]: Done  25 tasks      | elapsed: 10.7min\n",
            "[Parallel(n_jobs=-1)]: Done  26 tasks      | elapsed: 10.9min\n",
            "[Parallel(n_jobs=-1)]: Done  27 tasks      | elapsed: 11.6min\n",
            "[Parallel(n_jobs=-1)]: Done  28 tasks      | elapsed: 11.7min\n",
            "[Parallel(n_jobs=-1)]: Done  29 tasks      | elapsed: 12.4min\n",
            "[Parallel(n_jobs=-1)]: Done  30 tasks      | elapsed: 12.4min\n",
            "[Parallel(n_jobs=-1)]: Done  31 tasks      | elapsed: 13.2min\n",
            "[Parallel(n_jobs=-1)]: Done  32 tasks      | elapsed: 13.3min\n",
            "[Parallel(n_jobs=-1)]: Done  33 tasks      | elapsed: 14.0min\n",
            "[Parallel(n_jobs=-1)]: Done  34 tasks      | elapsed: 14.0min\n",
            "[Parallel(n_jobs=-1)]: Done  35 tasks      | elapsed: 14.8min\n",
            "[Parallel(n_jobs=-1)]: Done  36 tasks      | elapsed: 14.9min\n",
            "[Parallel(n_jobs=-1)]: Done  37 tasks      | elapsed: 15.6min\n",
            "[Parallel(n_jobs=-1)]: Done  38 tasks      | elapsed: 15.6min\n",
            "[Parallel(n_jobs=-1)]: Done  39 tasks      | elapsed: 16.5min\n",
            "[Parallel(n_jobs=-1)]: Done  40 tasks      | elapsed: 16.5min\n",
            "[Parallel(n_jobs=-1)]: Done  41 tasks      | elapsed: 17.2min\n",
            "[Parallel(n_jobs=-1)]: Done  42 tasks      | elapsed: 17.4min\n",
            "[Parallel(n_jobs=-1)]: Done  43 tasks      | elapsed: 18.1min\n",
            "[Parallel(n_jobs=-1)]: Done  44 tasks      | elapsed: 18.2min\n",
            "[Parallel(n_jobs=-1)]: Done  45 tasks      | elapsed: 18.9min\n",
            "[Parallel(n_jobs=-1)]: Done  46 tasks      | elapsed: 19.0min\n",
            "[Parallel(n_jobs=-1)]: Done  47 tasks      | elapsed: 19.8min\n",
            "[Parallel(n_jobs=-1)]: Done  48 tasks      | elapsed: 19.9min\n",
            "[Parallel(n_jobs=-1)]: Done  49 tasks      | elapsed: 20.6min\n",
            "[Parallel(n_jobs=-1)]: Done  50 tasks      | elapsed: 20.8min\n",
            "[Parallel(n_jobs=-1)]: Done  51 tasks      | elapsed: 21.5min\n",
            "[Parallel(n_jobs=-1)]: Done  52 tasks      | elapsed: 21.6min\n",
            "[Parallel(n_jobs=-1)]: Done  53 tasks      | elapsed: 22.3min\n",
            "[Parallel(n_jobs=-1)]: Done  54 tasks      | elapsed: 22.5min\n",
            "[Parallel(n_jobs=-1)]: Done  55 tasks      | elapsed: 23.1min\n",
            "[Parallel(n_jobs=-1)]: Done  56 tasks      | elapsed: 23.3min\n",
            "[Parallel(n_jobs=-1)]: Done  57 tasks      | elapsed: 24.0min\n",
            "[Parallel(n_jobs=-1)]: Done  58 tasks      | elapsed: 24.2min\n",
            "[Parallel(n_jobs=-1)]: Done  59 tasks      | elapsed: 24.8min\n",
            "[Parallel(n_jobs=-1)]: Done  60 tasks      | elapsed: 25.1min\n",
            "[Parallel(n_jobs=-1)]: Done  61 tasks      | elapsed: 25.7min\n",
            "[Parallel(n_jobs=-1)]: Done  62 tasks      | elapsed: 25.9min\n",
            "[Parallel(n_jobs=-1)]: Done  63 tasks      | elapsed: 26.6min\n",
            "[Parallel(n_jobs=-1)]: Done  64 tasks      | elapsed: 26.8min\n",
            "[Parallel(n_jobs=-1)]: Done  65 tasks      | elapsed: 27.4min\n",
            "[Parallel(n_jobs=-1)]: Done  66 tasks      | elapsed: 27.6min\n",
            "[Parallel(n_jobs=-1)]: Done  67 tasks      | elapsed: 28.3min\n",
            "[Parallel(n_jobs=-1)]: Done  68 tasks      | elapsed: 28.4min\n",
            "[Parallel(n_jobs=-1)]: Done  69 tasks      | elapsed: 29.2min\n",
            "[Parallel(n_jobs=-1)]: Done  70 tasks      | elapsed: 29.3min\n",
            "[Parallel(n_jobs=-1)]: Done  71 tasks      | elapsed: 30.1min\n",
            "[Parallel(n_jobs=-1)]: Done  72 tasks      | elapsed: 30.2min\n",
            "[Parallel(n_jobs=-1)]: Done  73 tasks      | elapsed: 31.0min\n",
            "[Parallel(n_jobs=-1)]: Done  74 tasks      | elapsed: 31.1min\n",
            "[Parallel(n_jobs=-1)]: Done  75 tasks      | elapsed: 31.7min\n",
            "[Parallel(n_jobs=-1)]: Done  76 tasks      | elapsed: 31.9min\n",
            "[Parallel(n_jobs=-1)]: Done  77 tasks      | elapsed: 32.5min\n",
            "[Parallel(n_jobs=-1)]: Done  78 tasks      | elapsed: 32.8min\n",
            "[Parallel(n_jobs=-1)]: Done  79 tasks      | elapsed: 33.3min\n",
            "[Parallel(n_jobs=-1)]: Done  80 tasks      | elapsed: 33.7min\n",
            "[Parallel(n_jobs=-1)]: Done  81 tasks      | elapsed: 34.2min\n",
            "[Parallel(n_jobs=-1)]: Done  82 tasks      | elapsed: 34.4min\n",
            "[Parallel(n_jobs=-1)]: Done  83 tasks      | elapsed: 35.0min\n",
            "[Parallel(n_jobs=-1)]: Done  84 tasks      | elapsed: 35.3min\n",
            "[Parallel(n_jobs=-1)]: Done  85 tasks      | elapsed: 35.9min\n",
            "[Parallel(n_jobs=-1)]: Done  86 tasks      | elapsed: 36.1min\n",
            "[Parallel(n_jobs=-1)]: Done  87 tasks      | elapsed: 36.8min\n",
            "[Parallel(n_jobs=-1)]: Done  88 tasks      | elapsed: 37.0min\n",
            "[Parallel(n_jobs=-1)]: Done  89 tasks      | elapsed: 37.6min\n",
            "[Parallel(n_jobs=-1)]: Done  90 tasks      | elapsed: 37.8min\n",
            "[Parallel(n_jobs=-1)]: Done  91 tasks      | elapsed: 38.5min\n",
            "[Parallel(n_jobs=-1)]: Done  92 tasks      | elapsed: 38.7min\n",
            "[Parallel(n_jobs=-1)]: Done  93 tasks      | elapsed: 39.3min\n",
            "[Parallel(n_jobs=-1)]: Done  94 tasks      | elapsed: 39.6min\n",
            "[Parallel(n_jobs=-1)]: Done  95 tasks      | elapsed: 40.2min\n",
            "[Parallel(n_jobs=-1)]: Done  96 tasks      | elapsed: 40.4min\n",
            "[Parallel(n_jobs=-1)]: Done  97 tasks      | elapsed: 41.1min\n",
            "[Parallel(n_jobs=-1)]: Done  98 tasks      | elapsed: 41.3min\n",
            "[Parallel(n_jobs=-1)]: Done  99 tasks      | elapsed: 42.0min\n",
            "[Parallel(n_jobs=-1)]: Done 100 tasks      | elapsed: 42.1min\n",
            "[Parallel(n_jobs=-1)]: Done 101 tasks      | elapsed: 42.8min\n",
            "[Parallel(n_jobs=-1)]: Done 102 tasks      | elapsed: 42.9min\n",
            "[Parallel(n_jobs=-1)]: Done 103 tasks      | elapsed: 43.7min\n",
            "[Parallel(n_jobs=-1)]: Done 104 tasks      | elapsed: 43.8min\n",
            "[Parallel(n_jobs=-1)]: Done 105 tasks      | elapsed: 44.5min\n",
            "[Parallel(n_jobs=-1)]: Done 106 tasks      | elapsed: 44.6min\n",
            "[Parallel(n_jobs=-1)]: Done 107 tasks      | elapsed: 45.3min\n",
            "[Parallel(n_jobs=-1)]: Done 108 tasks      | elapsed: 45.4min\n",
            "[Parallel(n_jobs=-1)]: Done 109 tasks      | elapsed: 46.1min\n",
            "[Parallel(n_jobs=-1)]: Done 110 tasks      | elapsed: 46.2min\n",
            "[Parallel(n_jobs=-1)]: Done 111 tasks      | elapsed: 47.0min\n",
            "[Parallel(n_jobs=-1)]: Done 112 tasks      | elapsed: 47.0min\n",
            "[Parallel(n_jobs=-1)]: Done 113 tasks      | elapsed: 47.8min\n",
            "[Parallel(n_jobs=-1)]: Done 114 tasks      | elapsed: 47.9min\n"
          ],
          "name": "stderr"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "BLDY8V3JFeVD"
      },
      "source": [
        "dir(rfreg)\n",
        "from xgboost import XGBRegressor\n",
        "xgb_model = XGBRegressor()"
      ],
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "e219I8_-FeVO",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 1000
        },
        "outputId": "fc856805-6a9f-4abf-c90f-da3b67d8f37c"
      },
      "source": [
        "from xgboost import XGBRegressor\n",
        "xgb_model = XGBRegressor()\n",
        "\n",
        "param_tuning = {\n",
        "        #'learning_rate': [0.01, 0.05,0.1,0.25, 0.5, 0.7],\n",
        "        #'max_depth': [3, 5, 7, 10],\n",
        "        #'min_child_weight': [1, 3, 5],\n",
        "        #'subsample': [0.5, 0.7],\n",
        "        #'colsample_bytree': [0.5, 0.7],\n",
        "        'n_estimators' : [ 250, 500,750,1000],\n",
        "        'objective': ['count:poisson']}\n",
        "\n",
        "xgbsearch = GridSearchCV(estimator = xgb_model,\n",
        "                           param_grid = param_tuning,                        \n",
        "                           scoring = 'neg_mean_absolute_error', #MAE\n",
        "                           #scoring = 'neg_mean_squared_error',  #MSE\n",
        "                           cv = 5,\n",
        "                           n_jobs = 20,\n",
        "                           verbose = 30)\n",
        "\n",
        "xgbsearch.fit(X,Y)\n",
        "print(xgbsearch.best_params_)\n",
        "print(report(xgbsearch.cv_results_,5))\n",
        "predplotter(xgbsearch)"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "Fitting 5 folds for each of 4 candidates, totalling 20 fits\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "[Parallel(n_jobs=20)]: Using backend LokyBackend with 20 concurrent workers.\n",
            "[Parallel(n_jobs=20)]: Done   1 tasks      | elapsed:   39.9s\n",
            "[Parallel(n_jobs=20)]: Done   2 out of  20 | elapsed:   40.1s remaining:  6.0min\n",
            "[Parallel(n_jobs=20)]: Done   3 out of  20 | elapsed:   44.6s remaining:  4.2min\n",
            "[Parallel(n_jobs=20)]: Done   4 out of  20 | elapsed:   45.7s remaining:  3.0min\n",
            "[Parallel(n_jobs=20)]: Done   5 out of  20 | elapsed:   45.9s remaining:  2.3min\n",
            "[Parallel(n_jobs=20)]: Done   6 out of  20 | elapsed:  4.6min remaining: 10.7min\n",
            "[Parallel(n_jobs=20)]: Done   7 out of  20 | elapsed:  4.6min remaining:  8.5min\n",
            "[Parallel(n_jobs=20)]: Done   8 out of  20 | elapsed:  4.6min remaining:  6.9min\n",
            "[Parallel(n_jobs=20)]: Done   9 out of  20 | elapsed:  4.6min remaining:  5.6min\n",
            "[Parallel(n_jobs=20)]: Done  10 out of  20 | elapsed:  4.6min remaining:  4.6min\n",
            "[Parallel(n_jobs=20)]: Done  11 out of  20 | elapsed:  5.8min remaining:  4.8min\n",
            "[Parallel(n_jobs=20)]: Done  12 out of  20 | elapsed:  5.9min remaining:  3.9min\n",
            "[Parallel(n_jobs=20)]: Done  13 out of  20 | elapsed:  5.9min remaining:  3.2min\n",
            "[Parallel(n_jobs=20)]: Done  14 out of  20 | elapsed:  5.9min remaining:  2.5min\n",
            "[Parallel(n_jobs=20)]: Done  15 out of  20 | elapsed:  5.9min remaining:  2.0min\n",
            "[Parallel(n_jobs=20)]: Done  16 out of  20 | elapsed:  6.5min remaining:  1.6min\n",
            "[Parallel(n_jobs=20)]: Done  17 out of  20 | elapsed:  6.5min remaining:  1.2min\n",
            "[Parallel(n_jobs=20)]: Done  18 out of  20 | elapsed:  6.5min remaining:   43.5s\n",
            "[Parallel(n_jobs=20)]: Done  20 out of  20 | elapsed:  6.5min remaining:    0.0s\n",
            "[Parallel(n_jobs=20)]: Done  20 out of  20 | elapsed:  6.5min finished\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "{'n_estimators': 500, 'objective': 'count:poisson'}\n",
            "Model with rank: 1\n",
            "Mean validation score: -2.726 (std: 0.03101)\n",
            "Parameters: {'n_estimators': 500, 'objective': 'count:poisson'}\n",
            "\n",
            "Model with rank: 2\n",
            "Mean validation score: -2.728 (std: 0.03076)\n",
            "Parameters: {'n_estimators': 750, 'objective': 'count:poisson'}\n",
            "\n",
            "Model with rank: 3\n",
            "Mean validation score: -2.728 (std: 0.03214)\n",
            "Parameters: {'n_estimators': 250, 'objective': 'count:poisson'}\n",
            "\n",
            "Model with rank: 4\n",
            "Mean validation score: -2.731 (std: 0.03012)\n",
            "Parameters: {'n_estimators': 1000, 'objective': 'count:poisson'}\n",
            "\n",
            "None\n",
            "Fitting 5 folds for each of 4 candidates, totalling 20 fits\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "[Parallel(n_jobs=20)]: Using backend LokyBackend with 20 concurrent workers.\n",
            "[Parallel(n_jobs=20)]: Done   1 tasks      | elapsed:   40.8s\n",
            "[Parallel(n_jobs=20)]: Done   2 out of  20 | elapsed:   41.4s remaining:  6.2min\n",
            "[Parallel(n_jobs=20)]: Done   3 out of  20 | elapsed:   42.1s remaining:  4.0min\n",
            "[Parallel(n_jobs=20)]: Done   4 out of  20 | elapsed:   42.5s remaining:  2.8min\n",
            "[Parallel(n_jobs=20)]: Done   5 out of  20 | elapsed:   42.6s remaining:  2.1min\n",
            "[Parallel(n_jobs=20)]: Done   6 out of  20 | elapsed:  2.2min remaining:  5.2min\n",
            "[Parallel(n_jobs=20)]: Done   7 out of  20 | elapsed:  3.6min remaining:  6.8min\n",
            "[Parallel(n_jobs=20)]: Done   8 out of  20 | elapsed:  3.6min remaining:  5.5min\n",
            "[Parallel(n_jobs=20)]: Done   9 out of  20 | elapsed:  3.6min remaining:  4.5min\n",
            "[Parallel(n_jobs=20)]: Done  10 out of  20 | elapsed:  3.6min remaining:  3.6min\n",
            "[Parallel(n_jobs=20)]: Done  11 out of  20 | elapsed:  4.6min remaining:  3.8min\n",
            "[Parallel(n_jobs=20)]: Done  12 out of  20 | elapsed:  4.7min remaining:  3.1min\n",
            "[Parallel(n_jobs=20)]: Done  13 out of  20 | elapsed:  4.7min remaining:  2.5min\n",
            "[Parallel(n_jobs=20)]: Done  14 out of  20 | elapsed:  4.7min remaining:  2.0min\n",
            "[Parallel(n_jobs=20)]: Done  15 out of  20 | elapsed:  4.7min remaining:  1.6min\n",
            "[Parallel(n_jobs=20)]: Done  16 out of  20 | elapsed:  5.2min remaining:  1.3min\n",
            "[Parallel(n_jobs=20)]: Done  17 out of  20 | elapsed:  5.2min remaining:   55.0s\n",
            "[Parallel(n_jobs=20)]: Done  18 out of  20 | elapsed:  5.2min remaining:   34.6s\n",
            "[Parallel(n_jobs=20)]: Done  20 out of  20 | elapsed:  5.2min remaining:    0.0s\n",
            "[Parallel(n_jobs=20)]: Done  20 out of  20 | elapsed:  5.2min finished\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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iICCZhERV4O75yhIFhERQNMzRERERETCUtAsIiIiIhKGgmYRERERkTAUNIuIiIiIhKGgWUREREQkDAXNIiIiIiJhKGgWEREREQlDQbOIiIiISBgKmkVEREREwlDQLCIiIiIShoJmEREREZEwFDSLiIiIiIShoFlEREREJAwFzSIiIiIiYShoFhEREREJQ0GziIiIiEgYCppFRERERMJQ0CwiIiIiEoaCZhERERGRMBQ0i4iIiIiEoaBZRERERCQMBc0iIiIiImEoaBYRERERCUNBs4iIiIhIGAqaRURERETCUNAsIiIiIhKGgmYRERERkTBiHjQbYzKMMXONMZMCv7cxxsw0xiw1xkwwxtSIdRlERERERA5EPK403wIsqvD734F/WWvbA1uAa+JQBhERERGRqMU0aDbGtADOAl4I/G6AU4C3Ak95GRgcyzKIiIiIiByoWF9pfgy4AygN/H4wUGCt3RP4/RcgJ8ZlEBERERE5IDELmo0xg4D11trZUb7+OmNMrjEmd8OGDT6XTkREREQkcrG80twPOMcYswJ4HWdaxuNAtjGmeuA5LYD8YC+21o6x1vay1vZq1KhRDIspIiIiIhJazIJma+1Ia20La21r4HfAZ9baocDnwIWBp10BvBerMoiIiIiI+CEReZrvBG4zxizFmeP8YgLKICIiIiISserhn3LgrLVfAF8E/v8zcEw83ldERERExA+6I6CIiIiISBgKmkVEREREwlDQLCIiIiIShoJmEREREZEw4rIQUEQO3MS5+Yyeupg1BYU0z85i+MCODO6uG2qKiIjEg4JmkRQwcW4+I9/Jo7C4BID8gkJGvpMHoMBZREQkDjQ9QyQFjJ66uDxgLlNYXMLoqYsTVCIREZGqRUGzSApYU1DoabuIiIj4S0GzSAponp3labuIiIj4S0GzSAoYPrAjWZkZlbZlZWYwfGDHBJVIRESkatFCQJEUULbYT9kzREREEkNBs0iKGNw9R0GyiIhIgmh6hoiIiIhIGAqaRURERETCUNAsIiIiIhKGgmYRERERkTAUNIuIiIiIhKGgWUREREQkDAXNIiIiIiJhKGgWEREREQlDQbOIiIiISBgKmkVEREREwlDQLCIiIiIShoJmEREREZEwFDSLiIiIiIShoFlEREREJAwFzSIiIiIiYVRPdAFERKqqiXPzGT11MWsKCmmencXw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\n",
            "text/plain": [
              "<Figure size 864x432 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": [],
            "needs_background": "light"
          }
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "-N66lZRyIWkO",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 1000
        },
        "outputId": "cd7b898a-ec8e-4be0-b206-1b61c1f69cdc"
      },
      "source": [
        "param_tuning = {\n",
        "        'learning_rate': [0.01, 0.05,0.1,0.25, 0.5, 0.7],\n",
        "        #'max_depth': [3, 5, 7, 10],\n",
        "        #'min_child_weight': [1, 3, 5],\n",
        "        #'subsample': [0.5, 0.7],\n",
        "        #'colsample_bytree': [0.5, 0.7],\n",
        "        'n_estimators' : [ 250],\n",
        "        'objective': ['count:poisson']}\n",
        "\n",
        "xgbsearch2 = GridSearchCV(estimator = xgb_model,\n",
        "                           param_grid = param_tuning,                        \n",
        "                           scoring = 'neg_mean_absolute_error', #MAE\n",
        "                           #scoring = 'neg_mean_squared_error',  #MSE\n",
        "                           cv = 5,\n",
        "                           n_jobs = 20,\n",
        "                           verbose = 30)\n",
        "\n",
        "xgbsearch2.fit(X,Y)\n",
        "print(xgbsearch2.best_params_)\n",
        "print(report(xgbsearch2.cv_results_,5))\n",
        "predplotter(xgbsearch2)"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "Fitting 5 folds for each of 6 candidates, totalling 30 fits\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "[Parallel(n_jobs=20)]: Using backend LokyBackend with 20 concurrent workers.\n",
            "[Parallel(n_jobs=20)]: Done   1 tasks      | elapsed:   54.8s\n",
            "[Parallel(n_jobs=20)]: Done   3 out of  30 | elapsed:   55.5s remaining:  8.3min\n",
            "[Parallel(n_jobs=20)]: Done   5 out of  30 | elapsed:   56.9s remaining:  4.7min\n",
            "[Parallel(n_jobs=20)]: Done   7 out of  30 | elapsed:   58.4s remaining:  3.2min\n",
            "[Parallel(n_jobs=20)]: Done   9 out of  30 | elapsed:  3.5min remaining:  8.1min\n",
            "[Parallel(n_jobs=20)]: Done  11 out of  30 | elapsed:  3.5min remaining:  6.0min\n",
            "[Parallel(n_jobs=20)]: Done  13 out of  30 | elapsed:  3.5min remaining:  4.6min\n",
            "[Parallel(n_jobs=20)]: Done  15 out of  30 | elapsed:  3.5min remaining:  3.5min\n",
            "[Parallel(n_jobs=20)]: Done  17 out of  30 | elapsed:  3.5min remaining:  2.7min\n",
            "[Parallel(n_jobs=20)]: Done  19 out of  30 | elapsed:  3.6min remaining:  2.1min\n",
            "[Parallel(n_jobs=20)]: Done  21 out of  30 | elapsed:  3.6min remaining:  1.5min\n",
            "[Parallel(n_jobs=20)]: Done  23 out of  30 | elapsed:  3.6min remaining:  1.1min\n",
            "[Parallel(n_jobs=20)]: Done  25 out of  30 | elapsed:  3.6min remaining:   43.0s\n",
            "[Parallel(n_jobs=20)]: Done  27 out of  30 | elapsed:  3.6min remaining:   23.9s\n",
            "[Parallel(n_jobs=20)]: Done  30 out of  30 | elapsed:  3.9min finished\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "{'learning_rate': 0.01, 'n_estimators': 250, 'objective': 'count:poisson'}\n",
            "Model with rank: 1\n",
            "Mean validation score: -2.704 (std: 0.02992)\n",
            "Parameters: {'learning_rate': 0.01, 'n_estimators': 250, 'objective': 'count:poisson'}\n",
            "\n",
            "Model with rank: 2\n",
            "Mean validation score: -2.728 (std: 0.03214)\n",
            "Parameters: {'learning_rate': 0.1, 'n_estimators': 250, 'objective': 'count:poisson'}\n",
            "\n",
            "Model with rank: 3\n",
            "Mean validation score: -2.729 (std: 0.03177)\n",
            "Parameters: {'learning_rate': 0.05, 'n_estimators': 250, 'objective': 'count:poisson'}\n",
            "\n",
            "Model with rank: 4\n",
            "Mean validation score: -2.736 (std: 0.03340)\n",
            "Parameters: {'learning_rate': 0.25, 'n_estimators': 250, 'objective': 'count:poisson'}\n",
            "\n",
            "Model with rank: 5\n",
            "Mean validation score: -2.778 (std: 0.03172)\n",
            "Parameters: {'learning_rate': 0.5, 'n_estimators': 250, 'objective': 'count:poisson'}\n",
            "\n",
            "None\n",
            "Fitting 5 folds for each of 6 candidates, totalling 30 fits\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "[Parallel(n_jobs=20)]: Using backend LokyBackend with 20 concurrent workers.\n",
            "[Parallel(n_jobs=20)]: Done   1 tasks      | elapsed:   30.2s\n",
            "[Parallel(n_jobs=20)]: Done   3 out of  30 | elapsed:   30.9s remaining:  4.6min\n",
            "[Parallel(n_jobs=20)]: Done   5 out of  30 | elapsed:   32.5s remaining:  2.7min\n",
            "[Parallel(n_jobs=20)]: Done   7 out of  30 | elapsed:  2.5min remaining:  8.3min\n",
            "[Parallel(n_jobs=20)]: Done   9 out of  30 | elapsed:  2.5min remaining:  5.9min\n",
            "[Parallel(n_jobs=20)]: Done  11 out of  30 | elapsed:  2.5min remaining:  4.4min\n",
            "[Parallel(n_jobs=20)]: Done  13 out of  30 | elapsed:  2.6min remaining:  3.3min\n",
            "[Parallel(n_jobs=20)]: Done  15 out of  30 | elapsed:  2.6min remaining:  2.6min\n",
            "[Parallel(n_jobs=20)]: Done  17 out of  30 | elapsed:  2.6min remaining:  2.0min\n",
            "[Parallel(n_jobs=20)]: Done  19 out of  30 | elapsed:  2.6min remaining:  1.5min\n",
            "[Parallel(n_jobs=20)]: Done  21 out of  30 | elapsed:  2.6min remaining:  1.1min\n",
            "[Parallel(n_jobs=20)]: Done  23 out of  30 | elapsed:  2.6min remaining:   47.0s\n",
            "[Parallel(n_jobs=20)]: Done  25 out of  30 | elapsed:  2.6min remaining:   30.9s\n",
            "[Parallel(n_jobs=20)]: Done  27 out of  30 | elapsed:  3.1min remaining:   20.4s\n",
            "[Parallel(n_jobs=20)]: Done  30 out of  30 | elapsed:  3.1min finished\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 864x432 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": [],
            "needs_background": "light"
          }
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "Uce4Gp3LIWsJ",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 1000
        },
        "outputId": "fb48703e-3892-4054-da75-80f54d052226"
      },
      "source": [
        "param_tuning = {\n",
        "        'learning_rate': [0.001,0.002, 0.005,0.007,0.01,0.02],\n",
        "        #'max_depth':  [3, 5, 7, 10,12,15],\n",
        "        #'min_child_weight': [1, 3, 5],\n",
        "        #'subsample': [0.5, 0.7],\n",
        "        #'colsample_bytree': [0.5, 0.7],\n",
        "        'n_estimators' : [ 250,500],\n",
        "        'objective': ['count:poisson']}\n",
        "\n",
        "xgbsearch3 = GridSearchCV(estimator = xgb_model,\n",
        "                           param_grid = param_tuning,                        \n",
        "                           scoring = 'neg_mean_absolute_error', #MAE\n",
        "                           #scoring = 'neg_mean_squared_error',  #MSE\n",
        "                           cv = 5,\n",
        "                           n_jobs = 20,\n",
        "                           verbose = 30)\n",
        "\n",
        "xgbsearch3.fit(X,Y)\n",
        "print(xgbsearch3.best_params_)\n",
        "print(report(xgbsearch3.cv_results_,5))\n",
        "predplotter(xgbsearch3)"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "Fitting 5 folds for each of 12 candidates, totalling 60 fits\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "[Parallel(n_jobs=20)]: Using backend LokyBackend with 20 concurrent workers.\n",
            "[Parallel(n_jobs=20)]: Done   1 tasks      | elapsed:   46.2s\n",
            "[Parallel(n_jobs=20)]: Done   2 tasks      | elapsed:   46.7s\n",
            "[Parallel(n_jobs=20)]: Done   3 tasks      | elapsed:   46.9s\n",
            "[Parallel(n_jobs=20)]: Done   4 tasks      | elapsed:   47.0s\n",
            "[Parallel(n_jobs=20)]: Done   5 tasks      | elapsed:   47.9s\n",
            "[Parallel(n_jobs=20)]: Done   6 tasks      | elapsed:  3.5min\n",
            "[Parallel(n_jobs=20)]: Done   7 tasks      | elapsed:  3.5min\n",
            "[Parallel(n_jobs=20)]: Done   8 tasks      | elapsed:  3.5min\n",
            "[Parallel(n_jobs=20)]: Done   9 tasks      | elapsed:  3.5min\n",
            "[Parallel(n_jobs=20)]: Done  10 tasks      | elapsed:  3.5min\n",
            "[Parallel(n_jobs=20)]: Done  11 tasks      | elapsed:  3.5min\n",
            "[Parallel(n_jobs=20)]: Done  12 tasks      | elapsed:  3.5min\n",
            "[Parallel(n_jobs=20)]: Done  13 tasks      | elapsed:  3.5min\n",
            "[Parallel(n_jobs=20)]: Done  14 tasks      | elapsed:  3.5min\n",
            "[Parallel(n_jobs=20)]: Done  15 tasks      | elapsed:  3.5min\n",
            "[Parallel(n_jobs=20)]: Done  16 tasks      | elapsed:  3.5min\n",
            "[Parallel(n_jobs=20)]: Done  17 tasks      | elapsed:  6.2min\n",
            "[Parallel(n_jobs=20)]: Done  18 tasks      | elapsed:  6.3min\n",
            "[Parallel(n_jobs=20)]: Done  19 tasks      | elapsed:  6.3min\n",
            "[Parallel(n_jobs=20)]: Done  20 tasks      | elapsed:  6.3min\n",
            "[Parallel(n_jobs=20)]: Done  21 tasks      | elapsed:  6.3min\n",
            "[Parallel(n_jobs=20)]: Done  24 out of  60 | elapsed:  6.3min remaining:  9.4min\n",
            "[Parallel(n_jobs=20)]: Done  27 out of  60 | elapsed:  6.3min remaining:  7.7min\n",
            "[Parallel(n_jobs=20)]: Done  30 out of  60 | elapsed:  6.3min remaining:  6.3min\n",
            "[Parallel(n_jobs=20)]: Done  33 out of  60 | elapsed:  8.9min remaining:  7.3min\n",
            "[Parallel(n_jobs=20)]: Done  36 out of  60 | elapsed:  8.9min remaining:  5.9min\n",
            "[Parallel(n_jobs=20)]: Done  39 out of  60 | elapsed:  8.9min remaining:  4.8min\n",
            "[Parallel(n_jobs=20)]: Done  42 out of  60 | elapsed: 11.3min remaining:  4.8min\n",
            "[Parallel(n_jobs=20)]: Done  45 out of  60 | elapsed: 11.3min remaining:  3.8min\n",
            "[Parallel(n_jobs=20)]: Done  48 out of  60 | elapsed: 11.3min remaining:  2.8min\n",
            "[Parallel(n_jobs=20)]: Done  51 out of  60 | elapsed: 11.4min remaining:  2.0min\n",
            "[Parallel(n_jobs=20)]: Done  54 out of  60 | elapsed: 11.4min remaining:  1.3min\n",
            "[Parallel(n_jobs=20)]: Done  57 out of  60 | elapsed: 12.0min remaining:   37.9s\n",
            "[Parallel(n_jobs=20)]: Done  60 out of  60 | elapsed: 12.0min remaining:    0.0s\n",
            "[Parallel(n_jobs=20)]: Done  60 out of  60 | elapsed: 12.0min finished\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "{'learning_rate': 0.005, 'n_estimators': 250, 'objective': 'count:poisson'}\n",
            "Model with rank: 1\n",
            "Mean validation score: -2.664 (std: 0.03404)\n",
            "Parameters: {'learning_rate': 0.005, 'n_estimators': 250, 'objective': 'count:poisson'}\n",
            "\n",
            "Model with rank: 2\n",
            "Mean validation score: -2.670 (std: 0.03584)\n",
            "Parameters: {'learning_rate': 0.002, 'n_estimators': 500, 'objective': 'count:poisson'}\n",
            "\n",
            "Model with rank: 3\n",
            "Mean validation score: -2.675 (std: 0.03198)\n",
            "Parameters: {'learning_rate': 0.007, 'n_estimators': 250, 'objective': 'count:poisson'}\n",
            "\n",
            "Model with rank: 4\n",
            "Mean validation score: -2.704 (std: 0.02974)\n",
            "Parameters: {'learning_rate': 0.005, 'n_estimators': 500, 'objective': 'count:poisson'}\n",
            "\n",
            "Model with rank: 5\n",
            "Mean validation score: -2.704 (std: 0.02992)\n",
            "Parameters: {'learning_rate': 0.01, 'n_estimators': 250, 'objective': 'count:poisson'}\n",
            "\n",
            "None\n",
            "Fitting 5 folds for each of 12 candidates, totalling 60 fits\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "[Parallel(n_jobs=20)]: Using backend LokyBackend with 20 concurrent workers.\n",
            "[Parallel(n_jobs=20)]: Done   1 tasks      | elapsed:   30.5s\n",
            "[Parallel(n_jobs=20)]: Done   2 tasks      | elapsed:   30.7s\n",
            "[Parallel(n_jobs=20)]: Done   3 tasks      | elapsed:   30.9s\n",
            "[Parallel(n_jobs=20)]: Done   4 tasks      | elapsed:   31.3s\n",
            "[Parallel(n_jobs=20)]: Done   5 tasks      | elapsed:   32.0s\n",
            "[Parallel(n_jobs=20)]: Done   6 tasks      | elapsed:  2.6min\n",
            "[Parallel(n_jobs=20)]: Done   7 tasks      | elapsed:  2.6min\n",
            "[Parallel(n_jobs=20)]: Done   8 tasks      | elapsed:  2.6min\n",
            "[Parallel(n_jobs=20)]: Done   9 tasks      | elapsed:  2.6min\n",
            "[Parallel(n_jobs=20)]: Done  10 tasks      | elapsed:  2.6min\n",
            "[Parallel(n_jobs=20)]: Done  11 tasks      | elapsed:  2.6min\n",
            "[Parallel(n_jobs=20)]: Done  12 tasks      | elapsed:  2.6min\n",
            "[Parallel(n_jobs=20)]: Done  13 tasks      | elapsed:  2.6min\n",
            "[Parallel(n_jobs=20)]: Done  14 tasks      | elapsed:  2.6min\n",
            "[Parallel(n_jobs=20)]: Done  15 tasks      | elapsed:  2.7min\n",
            "[Parallel(n_jobs=20)]: Done  16 tasks      | elapsed:  4.8min\n",
            "[Parallel(n_jobs=20)]: Done  17 tasks      | elapsed:  4.8min\n",
            "[Parallel(n_jobs=20)]: Done  18 tasks      | elapsed:  4.8min\n",
            "[Parallel(n_jobs=20)]: Done  19 tasks      | elapsed:  4.8min\n",
            "[Parallel(n_jobs=20)]: Done  20 tasks      | elapsed:  4.8min\n",
            "[Parallel(n_jobs=20)]: Done  21 tasks      | elapsed:  4.9min\n",
            "[Parallel(n_jobs=20)]: Done  24 out of  60 | elapsed:  4.9min remaining:  7.3min\n",
            "[Parallel(n_jobs=20)]: Done  27 out of  60 | elapsed:  4.9min remaining:  6.0min\n",
            "[Parallel(n_jobs=20)]: Done  30 out of  60 | elapsed:  5.0min remaining:  5.0min\n",
            "[Parallel(n_jobs=20)]: Done  33 out of  60 | elapsed:  7.4min remaining:  6.0min\n",
            "[Parallel(n_jobs=20)]: Done  36 out of  60 | elapsed:  7.4min remaining:  4.9min\n",
            "[Parallel(n_jobs=20)]: Done  39 out of  60 | elapsed:  7.4min remaining:  4.0min\n",
            "[Parallel(n_jobs=20)]: Done  42 out of  60 | elapsed:  9.8min remaining:  4.2min\n",
            "[Parallel(n_jobs=20)]: Done  45 out of  60 | elapsed:  9.8min remaining:  3.3min\n",
            "[Parallel(n_jobs=20)]: Done  48 out of  60 | elapsed:  9.8min remaining:  2.5min\n",
            "[Parallel(n_jobs=20)]: Done  51 out of  60 | elapsed:  9.8min remaining:  1.7min\n",
            "[Parallel(n_jobs=20)]: Done  54 out of  60 | elapsed:  9.8min remaining:  1.1min\n",
            "[Parallel(n_jobs=20)]: Done  57 out of  60 | elapsed: 10.4min remaining:   32.7s\n",
            "[Parallel(n_jobs=20)]: Done  60 out of  60 | elapsed: 10.4min remaining:    0.0s\n",
            "[Parallel(n_jobs=20)]: Done  60 out of  60 | elapsed: 10.4min finished\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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RA4ON6eMthMRUbxx0UxE5GB8baXRdiIiijcumomIHCxdMB2VZYk+2yrLEli6YHpAJSIioiAxEJCIyEEu2I/ZM4iICOCimYhIq3FmPRfJREQEgJdnEBERERHlxUUzEREREVEeXDQTEREREeXBRTMRERERUR5cNBMRERER5cFFMxERERFRHlw0ExERERHlwUUzEREREVEeXDQTEREREeXBRTMRERERUR5cNBMRERER5cFFMxERERFRHlw0ExERERHlwUUzEREREVEeXDQTEREREeXBRTMRERERUR5cNBMRERER5cFFMxERERFRHlw0ExERERHlwUUzEREREVEeXDQTEREREeXBRTMRERERUR5cNBMRERER5cFFMxERERFRHlw0ExERERHlwUUzEREREVEeXDQTEREREeXh+6JZRBIisl1EHsv+PkVEtojIKyLyoIiU+10GIiIiIqLBKMYnzZ8D8FKv3/8OwNeVUpcAOA3gU0UoAxERERGRZ74umkVkAoDrAfxb9ncBcB2AR7JPuR9Ao59lICIiIiIaLL8/ab4HwBcBdGd/HwWgWSnVlf39dQD1PpeBiIiIiGhQfFs0i8gHABxTSm3z+PrbRGSriGw9fvy45dIRERERERXOz0+a5wL4kIjsB/ADZC7L+AaAWhEpzT5nAoAmpxcrpe5VSjUopRrGjBnjYzGJiIiIiNz5tmhWSi1TSk1QSk0G8H8BPKWUugXAzwF8JPu0TwD4oV9lICIiIiKyIYg8zV8CsEREXkHmGufvBFAGIiIiIqKCleZ/yuAppZ4G8HT2530Ari3GcYmIiIiIbOAdAYmIiIiI8uCimYiIiIgoDy6aiYiIiIjy4KKZiIiIiCiPogQCEtHgbdzehLWb9uJwcwrjayuxdMF0NM7kDTWJiIiKgYtmogjYuL0JyzbsQqozDQBoak5h2YZdAMCFMxERURHw8gyiCFi7aW/Pgjkn1ZnG2k17AyoRERHR0MJFM1EEHG5OGW0nIiIiu7hoJoqA8bWVRtuJiIjILi6aiSJg6YLpqCxL9NlWWZbA0gXTAyoRERHR0MJAQKIIyAX7MXsGERFRMLhoJoqIxpn1XCQTEREFhJdnEBERERHlwUUzEREREVEeXDQTEREREeXBRTMRERERUR5cNBMRERER5cFFMxERERFRHlw0ExERERHlwUUzEREREVEeXDQTERER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\n",
            "text/plain": [
              "<Figure size 864x432 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": [],
            "needs_background": "light"
          }
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "xT0vMmEBmKEn",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 1000
        },
        "outputId": "7f6f7119-ad4b-4014-e45d-5fe98fd19ab7"
      },
      "source": [
        "param_tuning = {\n",
        "        'learning_rate': [0.002, 0.005],\n",
        "        'max_depth':  [3, 5, 7, 10,12,15],\n",
        "        #'min_child_weight': [1, 3, 5],\n",
        "        #'subsample': [0.5, 0.7],\n",
        "        #'colsample_bytree': [0.5, 0.7],\n",
        "        'n_estimators' : [ 500],\n",
        "        'objective': ['count:poisson']}\n",
        "\n",
        "xgbsearch4 = GridSearchCV(estimator = xgb_model,\n",
        "                           param_grid = param_tuning,                        \n",
        "                           scoring = 'neg_mean_absolute_error', #MAE\n",
        "                           #scoring = 'neg_mean_squared_error',  #MSE\n",
        "                           cv = 5,\n",
        "                           n_jobs = 20,\n",
        "                           verbose = 30)\n",
        "\n",
        "xgbsearch4.fit(X,Y)\n",
        "print(xgbsearch4.best_params_)\n",
        "print(report(xgbsearch4.cv_results_,5))\n",
        "predplotter(xgbsearch4)"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "Fitting 5 folds for each of 12 candidates, totalling 60 fits\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "[Parallel(n_jobs=20)]: Using backend LokyBackend with 20 concurrent workers.\n",
            "[Parallel(n_jobs=20)]: Done   1 tasks      | elapsed:  1.4min\n",
            "[Parallel(n_jobs=20)]: Done   2 tasks      | elapsed:  1.4min\n",
            "[Parallel(n_jobs=20)]: Done   3 tasks      | elapsed:  1.4min\n",
            "[Parallel(n_jobs=20)]: Done   4 tasks      | elapsed:  1.4min\n",
            "[Parallel(n_jobs=20)]: Done   5 tasks      | elapsed:  1.5min\n",
            "[Parallel(n_jobs=20)]: Done   6 tasks      | elapsed:  9.9min\n",
            "[Parallel(n_jobs=20)]: Done   7 tasks      | elapsed:  9.9min\n",
            "[Parallel(n_jobs=20)]: Done   8 tasks      | elapsed:  9.9min\n",
            "[Parallel(n_jobs=20)]: Done   9 tasks      | elapsed: 10.0min\n",
            "[Parallel(n_jobs=20)]: Done  10 tasks      | elapsed: 10.0min\n",
            "[Parallel(n_jobs=20)]: Done  11 tasks      | elapsed: 14.6min\n",
            "[Parallel(n_jobs=20)]: Done  12 tasks      | elapsed: 14.7min\n",
            "[Parallel(n_jobs=20)]: Done  13 tasks      | elapsed: 14.7min\n",
            "[Parallel(n_jobs=20)]: Done  14 tasks      | elapsed: 14.7min\n",
            "[Parallel(n_jobs=20)]: Done  15 tasks      | elapsed: 14.7min\n",
            "[Parallel(n_jobs=20)]: Done  16 tasks      | elapsed: 20.7min\n",
            "[Parallel(n_jobs=20)]: Done  17 tasks      | elapsed: 20.7min\n",
            "[Parallel(n_jobs=20)]: Done  18 tasks      | elapsed: 20.7min\n",
            "[Parallel(n_jobs=20)]: Done  19 tasks      | elapsed: 20.8min\n",
            "[Parallel(n_jobs=20)]: Done  20 tasks      | elapsed: 21.0min\n",
            "[Parallel(n_jobs=20)]: Done  21 tasks      | elapsed: 26.1min\n",
            "[Parallel(n_jobs=20)]: Done  24 out of  60 | elapsed: 26.4min remaining: 39.6min\n",
            "[Parallel(n_jobs=20)]: Done  27 out of  60 | elapsed: 30.9min remaining: 37.7min\n",
            "[Parallel(n_jobs=20)]: Done  30 out of  60 | elapsed: 31.3min remaining: 31.3min\n",
            "[Parallel(n_jobs=20)]: Done  33 out of  60 | elapsed: 35.9min remaining: 29.4min\n",
            "[Parallel(n_jobs=20)]: Done  36 out of  60 | elapsed: 41.5min remaining: 27.6min\n",
            "[Parallel(n_jobs=20)]: Done  39 out of  60 | elapsed: 41.8min remaining: 22.5min\n",
            "[Parallel(n_jobs=20)]: Done  42 out of  60 | elapsed: 55.9min remaining: 24.0min\n",
            "[Parallel(n_jobs=20)]: Done  45 out of  60 | elapsed: 56.5min remaining: 18.8min\n",
            "[Parallel(n_jobs=20)]: Done  48 out of  60 | elapsed: 59.8min remaining: 15.0min\n",
            "[Parallel(n_jobs=20)]: Done  51 out of  60 | elapsed: 64.2min remaining: 11.3min\n",
            "[Parallel(n_jobs=20)]: Done  54 out of  60 | elapsed: 64.7min remaining:  7.2min\n",
            "[Parallel(n_jobs=20)]: Done  57 out of  60 | elapsed: 70.0min remaining:  3.7min\n",
            "[Parallel(n_jobs=20)]: Done  60 out of  60 | elapsed: 70.0min remaining:    0.0s\n",
            "[Parallel(n_jobs=20)]: Done  60 out of  60 | elapsed: 70.0min finished\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "{'learning_rate': 0.002, 'max_depth': 7, 'n_estimators': 500, 'objective': 'count:poisson'}\n",
            "Model with rank: 1\n",
            "Mean validation score: -2.628 (std: 0.03566)\n",
            "Parameters: {'learning_rate': 0.002, 'max_depth': 7, 'n_estimators': 500, 'objective': 'count:poisson'}\n",
            "\n",
            "Model with rank: 2\n",
            "Mean validation score: -2.629 (std: 0.03704)\n",
            "Parameters: {'learning_rate': 0.002, 'max_depth': 10, 'n_estimators': 500, 'objective': 'count:poisson'}\n",
            "\n",
            "Model with rank: 3\n",
            "Mean validation score: -2.641 (std: 0.03708)\n",
            "Parameters: {'learning_rate': 0.002, 'max_depth': 12, 'n_estimators': 500, 'objective': 'count:poisson'}\n",
            "\n",
            "Model with rank: 4\n",
            "Mean validation score: -2.644 (std: 0.03566)\n",
            "Parameters: {'learning_rate': 0.002, 'max_depth': 5, 'n_estimators': 500, 'objective': 'count:poisson'}\n",
            "\n",
            "Model with rank: 5\n",
            "Mean validation score: -2.658 (std: 0.03593)\n",
            "Parameters: {'learning_rate': 0.005, 'max_depth': 12, 'n_estimators': 500, 'objective': 'count:poisson'}\n",
            "\n",
            "None\n",
            "Fitting 5 folds for each of 12 candidates, totalling 60 fits\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "[Parallel(n_jobs=20)]: Using backend LokyBackend with 20 concurrent workers.\n",
            "[Parallel(n_jobs=20)]: Done   1 tasks      | elapsed:  1.7min\n",
            "[Parallel(n_jobs=20)]: Done   2 tasks      | elapsed:  1.8min\n",
            "[Parallel(n_jobs=20)]: Done   3 tasks      | elapsed:  1.8min\n",
            "[Parallel(n_jobs=20)]: Done   4 tasks      | elapsed:  1.8min\n",
            "[Parallel(n_jobs=20)]: Done   5 tasks      | elapsed:  1.8min\n",
            "[Parallel(n_jobs=20)]: Done   6 tasks      | elapsed:  5.1min\n",
            "[Parallel(n_jobs=20)]: Done   7 tasks      | elapsed:  5.2min\n",
            "[Parallel(n_jobs=20)]: Done   8 tasks      | elapsed: 10.0min\n",
            "[Parallel(n_jobs=20)]: Done   9 tasks      | elapsed: 10.0min\n",
            "[Parallel(n_jobs=20)]: Done  10 tasks      | elapsed: 10.0min\n",
            "[Parallel(n_jobs=20)]: Done  11 tasks      | elapsed: 14.3min\n",
            "[Parallel(n_jobs=20)]: Done  12 tasks      | elapsed: 14.3min\n",
            "[Parallel(n_jobs=20)]: Done  13 tasks      | elapsed: 14.3min\n",
            "[Parallel(n_jobs=20)]: Done  14 tasks      | elapsed: 14.4min\n",
            "[Parallel(n_jobs=20)]: Done  15 tasks      | elapsed: 14.4min\n",
            "[Parallel(n_jobs=20)]: Done  16 tasks      | elapsed: 19.2min\n",
            "[Parallel(n_jobs=20)]: Done  17 tasks      | elapsed: 19.2min\n",
            "[Parallel(n_jobs=20)]: Done  18 tasks      | elapsed: 19.2min\n",
            "[Parallel(n_jobs=20)]: Done  19 tasks      | elapsed: 19.3min\n",
            "[Parallel(n_jobs=20)]: Done  20 tasks      | elapsed: 19.3min\n",
            "[Parallel(n_jobs=20)]: Done  21 tasks      | elapsed: 23.3min\n",
            "[Parallel(n_jobs=20)]: Done  24 out of  60 | elapsed: 23.5min remaining: 35.3min\n",
            "[Parallel(n_jobs=20)]: Done  27 out of  60 | elapsed: 27.1min remaining: 33.1min\n",
            "[Parallel(n_jobs=20)]: Done  30 out of  60 | elapsed: 27.2min remaining: 27.2min\n",
            "[Parallel(n_jobs=20)]: Done  33 out of  60 | elapsed: 30.8min remaining: 25.2min\n",
            "[Parallel(n_jobs=20)]: Done  36 out of  60 | elapsed: 35.4min remaining: 23.6min\n",
            "[Parallel(n_jobs=20)]: Done  39 out of  60 | elapsed: 35.6min remaining: 19.2min\n",
            "[Parallel(n_jobs=20)]: Done  42 out of  60 | elapsed: 47.2min remaining: 20.2min\n",
            "[Parallel(n_jobs=20)]: Done  45 out of  60 | elapsed: 47.7min remaining: 15.9min\n",
            "[Parallel(n_jobs=20)]: Done  48 out of  60 | elapsed: 50.0min remaining: 12.5min\n",
            "[Parallel(n_jobs=20)]: Done  51 out of  60 | elapsed: 53.5min remaining:  9.4min\n",
            "[Parallel(n_jobs=20)]: Done  54 out of  60 | elapsed: 53.6min remaining:  6.0min\n",
            "[Parallel(n_jobs=20)]: Done  57 out of  60 | elapsed: 57.7min remaining:  3.0min\n",
            "[Parallel(n_jobs=20)]: Done  60 out of  60 | elapsed: 57.8min remaining:    0.0s\n",
            "[Parallel(n_jobs=20)]: Done  60 out of  60 | elapsed: 57.8min finished\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 864x432 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": [],
            "needs_background": "light"
          }
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "xhBmQ8eXua2G",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 1000
        },
        "outputId": "737e38e8-08a6-4846-df74-6b3cb7aee937"
      },
      "source": [
        "param_tuning = {\n",
        "        'learning_rate': [0.002],\n",
        "        'max_depth':  [ 7],\n",
        "        'min_child_weight': [ 5,10,15,50,100,150,200],\n",
        "        #'subsample': [0.5, 0.7],\n",
        "        #'colsample_bytree': [0.5, 0.7],\n",
        "        'n_estimators' : [ 500],\n",
        "        'objective': ['count:poisson']}\n",
        "\n",
        "xgbsearch4 = GridSearchCV(estimator = xgb_model,\n",
        "                           param_grid = param_tuning,                        \n",
        "                           scoring = 'neg_mean_absolute_error', #MAE\n",
        "                           #scoring = 'neg_mean_squared_error',  #MSE\n",
        "                           cv = 5,\n",
        "                           n_jobs = 20,\n",
        "                           verbose = 30)\n",
        "\n",
        "xgbsearch4.fit(X,Y)\n",
        "print(xgbsearch4.best_params_)\n",
        "print(report(xgbsearch4.cv_results_,5))\n",
        "predplotter(xgbsearch4)"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "Fitting 5 folds for each of 7 candidates, totalling 35 fits\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "[Parallel(n_jobs=20)]: Using backend LokyBackend with 20 concurrent workers.\n",
            "[Parallel(n_jobs=20)]: Done   1 tasks      | elapsed:  6.1min\n",
            "[Parallel(n_jobs=20)]: Done   2 out of  35 | elapsed:  6.1min remaining: 101.2min\n",
            "[Parallel(n_jobs=20)]: Done   4 out of  35 | elapsed:  6.2min remaining: 48.1min\n",
            "[Parallel(n_jobs=20)]: Done   6 out of  35 | elapsed:  6.3min remaining: 30.5min\n",
            "[Parallel(n_jobs=20)]: Done   8 out of  35 | elapsed: 20.3min remaining: 68.4min\n",
            "[Parallel(n_jobs=20)]: Done  10 out of  35 | elapsed: 20.4min remaining: 50.9min\n",
            "[Parallel(n_jobs=20)]: Done  12 out of  35 | elapsed: 20.5min remaining: 39.2min\n",
            "[Parallel(n_jobs=20)]: Done  14 out of  35 | elapsed: 20.7min remaining: 31.0min\n",
            "[Parallel(n_jobs=20)]: Done  16 out of  35 | elapsed: 20.7min remaining: 24.6min\n",
            "[Parallel(n_jobs=20)]: Done  18 out of  35 | elapsed: 20.7min remaining: 19.5min\n",
            "[Parallel(n_jobs=20)]: Done  20 out of  35 | elapsed: 20.7min remaining: 15.5min\n",
            "[Parallel(n_jobs=20)]: Done  22 out of  35 | elapsed: 20.9min remaining: 12.3min\n",
            "[Parallel(n_jobs=20)]: Done  24 out of  35 | elapsed: 20.9min remaining:  9.6min\n",
            "[Parallel(n_jobs=20)]: Done  26 out of  35 | elapsed: 21.0min remaining:  7.3min\n",
            "[Parallel(n_jobs=20)]: Done  28 out of  35 | elapsed: 26.4min remaining:  6.6min\n",
            "[Parallel(n_jobs=20)]: Done  30 out of  35 | elapsed: 26.4min remaining:  4.4min\n",
            "[Parallel(n_jobs=20)]: Done  32 out of  35 | elapsed: 26.5min remaining:  2.5min\n",
            "[Parallel(n_jobs=20)]: Done  35 out of  35 | elapsed: 26.5min finished\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "{'learning_rate': 0.002, 'max_depth': 7, 'min_child_weight': 50, 'n_estimators': 500, 'objective': 'count:poisson'}\n",
            "Model with rank: 1\n",
            "Mean validation score: -2.627 (std: 0.03549)\n",
            "Parameters: {'learning_rate': 0.002, 'max_depth': 7, 'min_child_weight': 50, 'n_estimators': 500, 'objective': 'count:poisson'}\n",
            "\n",
            "Model with rank: 2\n",
            "Mean validation score: -2.628 (std: 0.03534)\n",
            "Parameters: {'learning_rate': 0.002, 'max_depth': 7, 'min_child_weight': 15, 'n_estimators': 500, 'objective': 'count:poisson'}\n",
            "\n",
            "Model with rank: 3\n",
            "Mean validation score: -2.628 (std: 0.03569)\n",
            "Parameters: {'learning_rate': 0.002, 'max_depth': 7, 'min_child_weight': 5, 'n_estimators': 500, 'objective': 'count:poisson'}\n",
            "\n",
            "Model with rank: 4\n",
            "Mean validation score: -2.628 (std: 0.03489)\n",
            "Parameters: {'learning_rate': 0.002, 'max_depth': 7, 'min_child_weight': 100, 'n_estimators': 500, 'objective': 'count:poisson'}\n",
            "\n",
            "Model with rank: 5\n",
            "Mean validation score: -2.628 (std: 0.03505)\n",
            "Parameters: {'learning_rate': 0.002, 'max_depth': 7, 'min_child_weight': 10, 'n_estimators': 500, 'objective': 'count:poisson'}\n",
            "\n",
            "None\n",
            "Fitting 5 folds for each of 7 candidates, totalling 35 fits\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "[Parallel(n_jobs=20)]: Using backend LokyBackend with 20 concurrent workers.\n",
            "[Parallel(n_jobs=20)]: Done   1 tasks      | elapsed:  4.7min\n",
            "[Parallel(n_jobs=20)]: Done   2 out of  35 | elapsed:  4.7min remaining: 77.7min\n",
            "[Parallel(n_jobs=20)]: Done   4 out of  35 | elapsed:  4.7min remaining: 36.8min\n",
            "[Parallel(n_jobs=20)]: Done   6 out of  35 | elapsed:  4.8min remaining: 23.4min\n",
            "[Parallel(n_jobs=20)]: Done   8 out of  35 | elapsed: 15.9min remaining: 53.8min\n",
            "[Parallel(n_jobs=20)]: Done  10 out of  35 | elapsed: 16.1min remaining: 40.2min\n",
            "[Parallel(n_jobs=20)]: Done  12 out of  35 | elapsed: 16.2min remaining: 31.0min\n",
            "[Parallel(n_jobs=20)]: Done  14 out of  35 | elapsed: 16.5min remaining: 24.8min\n",
            "[Parallel(n_jobs=20)]: Done  16 out of  35 | elapsed: 16.6min remaining: 19.7min\n",
            "[Parallel(n_jobs=20)]: Done  18 out of  35 | elapsed: 16.6min remaining: 15.7min\n",
            "[Parallel(n_jobs=20)]: Done  20 out of  35 | elapsed: 16.9min remaining: 12.7min\n",
            "[Parallel(n_jobs=20)]: Done  22 out of  35 | elapsed: 16.9min remaining: 10.0min\n",
            "[Parallel(n_jobs=20)]: Done  24 out of  35 | elapsed: 16.9min remaining:  7.8min\n",
            "[Parallel(n_jobs=20)]: Done  26 out of  35 | elapsed: 17.1min remaining:  5.9min\n",
            "[Parallel(n_jobs=20)]: Done  28 out of  35 | elapsed: 21.1min remaining:  5.3min\n",
            "[Parallel(n_jobs=20)]: Done  30 out of  35 | elapsed: 21.2min remaining:  3.5min\n",
            "[Parallel(n_jobs=20)]: Done  32 out of  35 | elapsed: 21.2min remaining:  2.0min\n",
            "[Parallel(n_jobs=20)]: Done  35 out of  35 | elapsed: 21.2min finished\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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RGlw0kxERERElAYnzUREREREaXDSTERERESUBifNRERERERpcNJMRERERJQGJ81ERERERGlw0kxERERElEYonghIRJSptVsasXrdNuxtbsekyhIsXzIbdXOr/S4WERGFHCfNRBQZa7c0YsUj9Wjv6gEANDa3Y8Uj9QDAiTMREQ0Jb88goshYvW5b34Q5qb2rB6vXbfOpREREFBWcNBNRZOxtbjdaTkRElClOmokoMiZVlhgtJyIiyhQnzUQUGcuXzEZJQazfspKCGJYvme1TiYiIKCo8DQQUkZ0AWgH0AOhWStWKSBWABwBMA7ATwFVKqaNeloOIhodksB+zZxARkW2ilPJu5fFJc61S6nDKsm8AOKKUukNEbgQwSin1dbf11NbWqk2bNnlWTiIiIiIiEdmslKp1es2P2zOuAHBv4ud7AdT5UAYiIiIioox5PWlWAJ4Skc0ickNi2Xil1L7Ez/sBjHf6oIjcICKbRGTToUOHPC4mEREREZGe1w83eb9SqlFExgFYLyJvpr6olFIi4nh/iFLqbgB3A/HbMzwuJxERERGRlqdXmpVSjYnvBwH8D4ALABwQkYkAkPh+0MsyEBERERENlWeTZhEpFZGy5M8APgLgVQCPArg+8bbrAfzKqzIQEZEda7c0YuEdz2D6jY9j4R3PYO2WRr+LRESUU17enjEewP+ISHI79ymlnhSRFwE8KCKfA7ALwFUeloGIiIZo7ZZGrHikvu8R5Y3N7VjxSD0AMJ0fEQ0bnk2alVLbAZzjsLwJwIe82i4REdm1et22vglzUntXD1av28ZJMxENG3wiIBERudrb3G60nIgoijhpJiIiV5MqS4yWExFFESfNRETkavmS2SgpiPVbVlIQw/Ils30qERFR7nmdp5mIiEIued/y6nXbsLe5HZMqS7B8yWzez0xEwwonzURElFbd3GpOkoloWOPtGUREREREaXDSTERERESUBifNRERERERpcNJMRERERJQGJ81ERERERGlw0kxERERElAYnzUREREREaXDSTERERESUBifNRERERERpcNJMRERERJQGH6NNRKSxdksjVq/bhr3N7ZhUWYLlS2bzUdJERMMUJ81ERA7WbmnEikfq0d7VAwBobG7HikfqAYATZyKiYYi3ZxAROVi9blvfhDmpvasHq9dt86lERETkJ06aiYgc7G1uN1pORETRxkkzEZGDSZUlRsuJiCjaOGkmInKwfMlslBTE+i0rKYhh+ZLZPpWIiIj8xEBAIiIHyWA/Zs8gIiKAk2YiIq26udWcJBMREQDenkFERERElBYnzUREREREaXDSTERERESUBifNRERERERpcNJMRERERJQGJ81ERERERGlw0kxERERElAYnzUREREREaXDSTERERESUBifNRERERERpcNJMRERERJQGJ81ERERERGlw0kxERERElAYnzUREREREaXDSTERERESUBifNRERERERpcNJMRERERJQGJ81ERERERGlw0kxERERElAYnzUREREREaXDSTERERESUBifNRERERERpcNJMRERERJQGJ81ERERERGlw0kxERERElAYnzUREREREaXDSTERERESUhueTZhGJicgWEXks8ft0EdkoIu+IyAMiUuh1GYiIiIiIhiIXV5r/DsAbKb//G4BvKaVmAjgK4HM5KAMRERERUdY8nTSLyGQAlwH4YeJ3AXAxgIcTb7kXQJ2XZSAiIiIiGiqvrzTfCeDvAfQmfh8NoFkp1Z34fQ+Aao/LQEREREQ0JJ5NmkXkcgAHlVKbs/z8DSKySUQ2HTp0yHLpiIiIiIgy5+WV5oUA/lREdgL4BeK3ZXwbQKWI5CfeMxlAo9OHlVJ3K6VqlVK1Y8eO9bCYRERERETuPJs0K6VWKKUmK6WmAfgzAM8opa4F8DsAVybedj2AX3lVBiIiIiIiG/zI0/x1AMtE5B3E73H+kQ9lICIiIiLKWH76twydUmoDgA2Jn7cDuCAX2yUiIiIisoFPBCQiIiIiSoOTZiIiIiKiNDhpJiIiIiJKg5NmIiIiIqI0chIISERDt3ZLI1av24a9ze2YVFmC5Utmo24uH6hJRESUC5w0E4XA2i2NWPFIPdq7egAAjc3tWPFIPQBw4kxERJQDvD2DKARWr9vWN2FOau/qwep123wqERER0fDCSTNRCOxtbjdaTkRERHZx0kwUApMqS4yWExERkV2cNBOFwPIls1FSEOu3rKQghuVLZvtUIiIiouGFgYBEIZAM9mP2DCIiIn9w0kwUEnVzqzlJJiIi8glvzyAiIiIiSoOTZiIiIiKiNDhpJiIiIiJKg5NmIiIiIqI0OGkmIiIiIkqDk2YiIiIiojQ4aSYiIiIiSoOTZiIiIiKiNDhpJiIiIiJKg5NmIiIiIqI0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\n",
            "text/plain": [
              "<Figure size 864x432 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": [],
            "needs_background": "light"
          }
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "etB5-F7lAinK",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 1000
        },
        "outputId": "a6d3923f-7670-4216-b7ae-c12b744e27a1"
      },
      "source": [
        "\n",
        "param_tuning = {\n",
        "        'learning_rate': [0.002],\n",
        "        'max_depth':  [ 7],\n",
        "        'min_child_weight': [ 15,30,50],\n",
        "        'subsample': [0.1,0.2,0.5, 0.7,0.9],\n",
        "        #'colsample_bytree': [0.5, 0.7],\n",
        "        'n_estimators' : [ 500],\n",
        "        'objective': ['count:poisson']}\n",
        "\n",
        "xgbsearch4 = GridSearchCV(estimator = xgb_model,\n",
        "                           param_grid = param_tuning,                        \n",
        "                           scoring = 'neg_mean_absolute_error', #MAE\n",
        "                           #scoring = 'neg_mean_squared_error',  #MSE\n",
        "                           cv = 5,\n",
        "                           n_jobs = 20,\n",
        "                           verbose = 30)\n",
        "\n",
        "xgbsearch4.fit(X,Y)\n",
        "print(xgbsearch4.best_params_)\n",
        "print(report(xgbsearch4.cv_results_,5))\n",
        "predplotter(xgbsearch4)"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "Fitting 5 folds for each of 15 candidates, totalling 75 fits\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "[Parallel(n_jobs=20)]: Using backend LokyBackend with 20 concurrent workers.\n",
            "[Parallel(n_jobs=20)]: Done   1 tasks      | elapsed:  4.6min\n",
            "[Parallel(n_jobs=20)]: Done   2 tasks      | elapsed:  4.7min\n",
            "[Parallel(n_jobs=20)]: Done   3 tasks      | elapsed:  4.7min\n",
            "[Parallel(n_jobs=20)]: Done   4 tasks      | elapsed:  4.8min\n",
            "[Parallel(n_jobs=20)]: Done   5 tasks      | elapsed:  4.8min\n",
            "[Parallel(n_jobs=20)]: Done   6 tasks      | elapsed:  7.1min\n",
            "[Parallel(n_jobs=20)]: Done   7 tasks      | elapsed:  7.1min\n",
            "[Parallel(n_jobs=20)]: Done   8 tasks      | elapsed:  7.3min\n",
            "[Parallel(n_jobs=20)]: Done   9 tasks      | elapsed: 18.2min\n",
            "[Parallel(n_jobs=20)]: Done  10 tasks      | elapsed: 18.2min\n",
            "[Parallel(n_jobs=20)]: Done  11 tasks      | elapsed: 18.5min\n",
            "[Parallel(n_jobs=20)]: Done  12 tasks      | elapsed: 19.2min\n",
            "[Parallel(n_jobs=20)]: Done  13 tasks      | elapsed: 19.3min\n",
            "[Parallel(n_jobs=20)]: Done  14 tasks      | elapsed: 22.4min\n",
            "[Parallel(n_jobs=20)]: Done  15 tasks      | elapsed: 22.4min\n",
            "[Parallel(n_jobs=20)]: Done  16 tasks      | elapsed: 22.4min\n",
            "[Parallel(n_jobs=20)]: Done  17 tasks      | elapsed: 22.4min\n",
            "[Parallel(n_jobs=20)]: Done  18 tasks      | elapsed: 22.5min\n",
            "[Parallel(n_jobs=20)]: Done  19 tasks      | elapsed: 24.6min\n",
            "[Parallel(n_jobs=20)]: Done  20 tasks      | elapsed: 24.6min\n",
            "[Parallel(n_jobs=20)]: Done  21 tasks      | elapsed: 24.7min\n",
            "[Parallel(n_jobs=20)]: Done  22 tasks      | elapsed: 24.7min\n",
            "[Parallel(n_jobs=20)]: Done  23 tasks      | elapsed: 24.7min\n",
            "[Parallel(n_jobs=20)]: Done  24 tasks      | elapsed: 25.3min\n",
            "[Parallel(n_jobs=20)]: Done  25 tasks      | elapsed: 25.4min\n",
            "[Parallel(n_jobs=20)]: Done  26 tasks      | elapsed: 25.5min\n",
            "[Parallel(n_jobs=20)]: Done  27 tasks      | elapsed: 25.6min\n",
            "[Parallel(n_jobs=20)]: Done  28 tasks      | elapsed: 25.6min\n",
            "[Parallel(n_jobs=20)]: Done  29 tasks      | elapsed: 29.5min\n",
            "[Parallel(n_jobs=20)]: Done  30 tasks      | elapsed: 29.5min\n",
            "[Parallel(n_jobs=20)]: Done  31 tasks      | elapsed: 32.6min\n",
            "[Parallel(n_jobs=20)]: Done  32 tasks      | elapsed: 33.3min\n",
            "[Parallel(n_jobs=20)]: Done  33 tasks      | elapsed: 33.4min\n",
            "[Parallel(n_jobs=20)]: Done  34 tasks      | elapsed: 36.3min\n",
            "[Parallel(n_jobs=20)]: Done  35 tasks      | elapsed: 36.3min\n",
            "[Parallel(n_jobs=20)]: Done  36 tasks      | elapsed: 42.5min\n",
            "[Parallel(n_jobs=20)]: Done  39 out of  75 | elapsed: 42.8min remaining: 39.5min\n",
            "[Parallel(n_jobs=20)]: Done  42 out of  75 | elapsed: 43.3min remaining: 34.0min\n",
            "[Parallel(n_jobs=20)]: Done  45 out of  75 | elapsed: 44.0min remaining: 29.3min\n",
            "[Parallel(n_jobs=20)]: Done  48 out of  75 | elapsed: 44.7min remaining: 25.2min\n",
            "[Parallel(n_jobs=20)]: Done  51 out of  75 | elapsed: 44.8min remaining: 21.1min\n",
            "[Parallel(n_jobs=20)]: Done  54 out of  75 | elapsed: 47.1min remaining: 18.3min\n",
            "[Parallel(n_jobs=20)]: Done  57 out of  75 | elapsed: 56.2min remaining: 17.7min\n",
            "[Parallel(n_jobs=20)]: Done  60 out of  75 | elapsed: 56.4min remaining: 14.1min\n",
            "[Parallel(n_jobs=20)]: Done  63 out of  75 | elapsed: 61.1min remaining: 11.6min\n",
            "[Parallel(n_jobs=20)]: Done  66 out of  75 | elapsed: 61.3min remaining:  8.4min\n",
            "[Parallel(n_jobs=20)]: Done  69 out of  75 | elapsed: 61.4min remaining:  5.3min\n",
            "[Parallel(n_jobs=20)]: Done  72 out of  75 | elapsed: 61.5min remaining:  2.6min\n",
            "[Parallel(n_jobs=20)]: Done  75 out of  75 | elapsed: 61.6min remaining:    0.0s\n",
            "[Parallel(n_jobs=20)]: Done  75 out of  75 | elapsed: 61.6min finished\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "{'learning_rate': 0.002, 'max_depth': 7, 'min_child_weight': 15, 'n_estimators': 500, 'objective': 'count:poisson', 'subsample': 0.7}\n",
            "Model with rank: 1\n",
            "Mean validation score: -2.625 (std: 0.03509)\n",
            "Parameters: {'learning_rate': 0.002, 'max_depth': 7, 'min_child_weight': 15, 'n_estimators': 500, 'objective': 'count:poisson', 'subsample': 0.7}\n",
            "\n",
            "Model with rank: 2\n",
            "Mean validation score: -2.625 (std: 0.03533)\n",
            "Parameters: {'learning_rate': 0.002, 'max_depth': 7, 'min_child_weight': 30, 'n_estimators': 500, 'objective': 'count:poisson', 'subsample': 0.7}\n",
            "\n",
            "Model with rank: 3\n",
            "Mean validation score: -2.625 (std: 0.03509)\n",
            "Parameters: {'learning_rate': 0.002, 'max_depth': 7, 'min_child_weight': 50, 'n_estimators': 500, 'objective': 'count:poisson', 'subsample': 0.7}\n",
            "\n",
            "Model with rank: 4\n",
            "Mean validation score: -2.625 (std: 0.03415)\n",
            "Parameters: {'learning_rate': 0.002, 'max_depth': 7, 'min_child_weight': 30, 'n_estimators': 500, 'objective': 'count:poisson', 'subsample': 0.5}\n",
            "\n",
            "Model with rank: 5\n",
            "Mean validation score: -2.625 (std: 0.03526)\n",
            "Parameters: {'learning_rate': 0.002, 'max_depth': 7, 'min_child_weight': 30, 'n_estimators': 500, 'objective': 'count:poisson', 'subsample': 0.9}\n",
            "\n",
            "None\n",
            "Fitting 5 folds for each of 15 candidates, totalling 75 fits\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "[Parallel(n_jobs=20)]: Using backend LokyBackend with 20 concurrent workers.\n",
            "[Parallel(n_jobs=20)]: Done   1 tasks      | elapsed:  3.1min\n",
            "[Parallel(n_jobs=20)]: Done   2 tasks      | elapsed:  3.1min\n",
            "[Parallel(n_jobs=20)]: Done   3 tasks      | elapsed:  3.1min\n",
            "[Parallel(n_jobs=20)]: Done   4 tasks      | elapsed:  3.1min\n",
            "[Parallel(n_jobs=20)]: Done   5 tasks      | elapsed:  3.2min\n",
            "[Parallel(n_jobs=20)]: Done   6 tasks      | elapsed:  5.3min\n",
            "[Parallel(n_jobs=20)]: Done   7 tasks      | elapsed:  5.3min\n",
            "[Parallel(n_jobs=20)]: Done   8 tasks      | elapsed: 13.9min\n",
            "[Parallel(n_jobs=20)]: Done   9 tasks      | elapsed: 13.9min\n",
            "[Parallel(n_jobs=20)]: Done  10 tasks      | elapsed: 14.3min\n",
            "[Parallel(n_jobs=20)]: Done  11 tasks      | elapsed: 14.3min\n",
            "[Parallel(n_jobs=20)]: Done  12 tasks      | elapsed: 14.3min\n",
            "[Parallel(n_jobs=20)]: Done  13 tasks      | elapsed: 16.7min\n",
            "[Parallel(n_jobs=20)]: Done  14 tasks      | elapsed: 16.8min\n",
            "[Parallel(n_jobs=20)]: Done  15 tasks      | elapsed: 16.8min\n",
            "[Parallel(n_jobs=20)]: Done  16 tasks      | elapsed: 16.8min\n",
            "[Parallel(n_jobs=20)]: Done  17 tasks      | elapsed: 16.9min\n",
            "[Parallel(n_jobs=20)]: Done  18 tasks      | elapsed: 18.6min\n",
            "[Parallel(n_jobs=20)]: Done  19 tasks      | elapsed: 18.7min\n",
            "[Parallel(n_jobs=20)]: Done  20 tasks      | elapsed: 18.7min\n",
            "[Parallel(n_jobs=20)]: Done  21 tasks      | elapsed: 18.7min\n",
            "[Parallel(n_jobs=20)]: Done  22 tasks      | elapsed: 18.7min\n",
            "[Parallel(n_jobs=20)]: Done  23 tasks      | elapsed: 19.1min\n",
            "[Parallel(n_jobs=20)]: Done  24 tasks      | elapsed: 19.2min\n",
            "[Parallel(n_jobs=20)]: Done  25 tasks      | elapsed: 19.2min\n",
            "[Parallel(n_jobs=20)]: Done  26 tasks      | elapsed: 19.2min\n",
            "[Parallel(n_jobs=20)]: Done  27 tasks      | elapsed: 19.2min\n",
            "[Parallel(n_jobs=20)]: Done  28 tasks      | elapsed: 22.6min\n",
            "[Parallel(n_jobs=20)]: Done  29 tasks      | elapsed: 22.6min\n",
            "[Parallel(n_jobs=20)]: Done  30 tasks      | elapsed: 23.0min\n",
            "[Parallel(n_jobs=20)]: Done  31 tasks      | elapsed: 25.1min\n",
            "[Parallel(n_jobs=20)]: Done  32 tasks      | elapsed: 25.1min\n",
            "[Parallel(n_jobs=20)]: Done  33 tasks      | elapsed: 27.5min\n",
            "[Parallel(n_jobs=20)]: Done  34 tasks      | elapsed: 27.5min\n",
            "[Parallel(n_jobs=20)]: Done  35 tasks      | elapsed: 27.6min\n",
            "[Parallel(n_jobs=20)]: Done  36 tasks      | elapsed: 32.5min\n",
            "[Parallel(n_jobs=20)]: Done  39 out of  75 | elapsed: 32.7min remaining: 30.2min\n",
            "[Parallel(n_jobs=20)]: Done  42 out of  75 | elapsed: 34.0min remaining: 26.7min\n",
            "[Parallel(n_jobs=20)]: Done  45 out of  75 | elapsed: 34.3min remaining: 22.8min\n",
            "[Parallel(n_jobs=20)]: Done  48 out of  75 | elapsed: 34.5min remaining: 19.4min\n",
            "[Parallel(n_jobs=20)]: Done  51 out of  75 | elapsed: 35.8min remaining: 16.9min\n",
            "[Parallel(n_jobs=20)]: Done  54 out of  75 | elapsed: 36.1min remaining: 14.0min\n",
            "[Parallel(n_jobs=20)]: Done  57 out of  75 | elapsed: 43.1min remaining: 13.6min\n",
            "[Parallel(n_jobs=20)]: Done  60 out of  75 | elapsed: 43.7min remaining: 10.9min\n",
            "[Parallel(n_jobs=20)]: Done  63 out of  75 | elapsed: 47.6min remaining:  9.1min\n",
            "[Parallel(n_jobs=20)]: Done  66 out of  75 | elapsed: 47.7min remaining:  6.5min\n",
            "[Parallel(n_jobs=20)]: Done  69 out of  75 | elapsed: 47.8min remaining:  4.2min\n",
            "[Parallel(n_jobs=20)]: Done  72 out of  75 | elapsed: 47.8min remaining:  2.0min\n",
            "[Parallel(n_jobs=20)]: Done  75 out of  75 | elapsed: 47.9min remaining:    0.0s\n",
            "[Parallel(n_jobs=20)]: Done  75 out of  75 | elapsed: 47.9min finished\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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E+aEju5erFq3y6USERGRmzhpJiKycLilQ2s5EREFGyfNREQWKssiWsuJiCjYOGkmIrKwZGENIrnhfssiuWEsWVjjUomIiMhNDAQkIrKQCPZj9gwiIgI4aSYiUqqbWcVJMhERAeDtGUREREREKXHSTERERESUAifNREREREQpcNJMRERERJQCJ81ERERERClw0kxERERElAInzUREREREKXDSTERERESUAifNREREREQpcNJMRERERJQCJ81ERERERClw0kxERERElAInzUREREREKXDSTERERESUAifNREREREQpcNJMRERERJQCJ81ERERERClw0kxERERElAInzUREREREKXDSTERERESUAifNREREREQpcNJMRERERJQCJ81ERERERClw0kxERERElAInzUREREREKXDSTERERESUAifNREREREQpOD5pFkKEhRCbhRDPxH+fLITYKITYLYR4XAiR53QZiIiIiIiGIhtXmr8IYEfS798E8G0p5QUATgL4dBbKQERERESUMUcnzUKI8QCuA/DD+O8CwFUAnoq/5REAdU6WgYiIiIhoqJy+0vwdAF8BEI3/PgpAi5SyJ/77IQBVDpeBiIiIiGhIHJs0CyE+DKBRSrkpw8/fKYSoF0LUNzU1GS4dEREREVH6nLzSPA/AR4QQ+wD8HLHbMr4LoEwIkRN/z3gADVYfllI+KKWslVLWVlRUOFhMIiIiIiJ7jk2apZTLpJTjpZSTAPwVgBellLcCeAnAR+NvuwPA006VgYiIiIjIBDfyNH8VwGIhxG7E7nF+2IUyEBERERGlLSf1W4ZOSrkBwIb4z3sAXJGN7RIRERERmcAnAhIRERERpcBJMxERERFRCpw0ExERERGlwEkzEREREVEKWQkEJKKhW7u5AavW7cLhlg5UlkWwZGEN6mbygZpERETZwEkzkQ+s3dyAZWu2o6O7FwDQ0NKBZWu2AwAnzkRERFnA2zOIfGDVul19E+aEju5erFq3y6USERERDS+cNBP5wOGWDq3lREREZBYnzUQ+UFkW0VpOREREZnHSTOQDSxbWIJIb7rcskhvGkoU1LpWIiIhoeGEgIJEPJIL9mD2DiIjIHZw0E/lE3cwqTpKJiIhcwtsziIiIiIhS4KSZiIiIiCgFTpqJiIiIiFLgpJmIiIiIKAVOmomIiIiIUuCkmYiIiIgoBU6a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\n",
            "text/plain": [
              "<Figure size 864x432 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": [],
            "needs_background": "light"
          }
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "YdFC-RTqXITR",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 1000
        },
        "outputId": "4f6c13cd-a2a8-40fd-990b-f4a310538b34"
      },
      "source": [
        "\n",
        "\n",
        "param_tuning = {\n",
        "        'learning_rate': [0.002],\n",
        "        'max_depth':  [ 7],\n",
        "        'min_child_weight': [ 15],\n",
        "        'subsample': [0.7],\n",
        "        'colsample_bytree': [0.1,0.2,0.5, 0.7,0.9],\n",
        "        'n_estimators' : [ 500],\n",
        "        'objective': ['count:poisson']}\n",
        "\n",
        "xgbsearch4 = GridSearchCV(estimator = xgb_model,\n",
        "                           param_grid = param_tuning,                        \n",
        "                           scoring = 'neg_mean_absolute_error', #MAE\n",
        "                           #scoring = 'neg_mean_squared_error',  #MSE\n",
        "                           cv = 5,\n",
        "                           n_jobs = 20,\n",
        "                           verbose = 30)\n",
        "\n",
        "xgbsearch4.fit(X,Y)\n",
        "print(xgbsearch4.best_params_)\n",
        "print(report(xgbsearch4.cv_results_,5))\n",
        "predplotter(xgbsearch4)"
      ],
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "Fitting 5 folds for each of 5 candidates, totalling 25 fits\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "[Parallel(n_jobs=20)]: Using backend LokyBackend with 20 concurrent workers.\n",
            "[Parallel(n_jobs=20)]: Done   1 tasks      | elapsed:  1.3min\n",
            "[Parallel(n_jobs=20)]: Done   2 out of  25 | elapsed:  1.3min remaining: 15.4min\n",
            "[Parallel(n_jobs=20)]: Done   3 out of  25 | elapsed:  1.3min remaining:  9.9min\n",
            "[Parallel(n_jobs=20)]: Done   4 out of  25 | elapsed:  1.4min remaining:  7.2min\n",
            "[Parallel(n_jobs=20)]: Done   5 out of  25 | elapsed:  1.4min remaining:  5.6min\n",
            "[Parallel(n_jobs=20)]: Done   6 out of  25 | elapsed:  8.7min remaining: 27.4min\n",
            "[Parallel(n_jobs=20)]: Done   7 out of  25 | elapsed:  8.7min remaining: 22.3min\n",
            "[Parallel(n_jobs=20)]: Done   8 out of  25 | elapsed:  8.7min remaining: 18.4min\n",
            "[Parallel(n_jobs=20)]: Done   9 out of  25 | elapsed:  8.7min remaining: 15.4min\n",
            "[Parallel(n_jobs=20)]: Done  10 out of  25 | elapsed:  8.7min remaining: 13.0min\n",
            "[Parallel(n_jobs=20)]: Done  11 out of  25 | elapsed: 12.3min remaining: 15.7min\n",
            "[Parallel(n_jobs=20)]: Done  12 out of  25 | elapsed: 12.4min remaining: 13.4min\n",
            "[Parallel(n_jobs=20)]: Done  13 out of  25 | elapsed: 12.4min remaining: 11.4min\n",
            "[Parallel(n_jobs=20)]: Done  14 out of  25 | elapsed: 12.4min remaining:  9.7min\n",
            "[Parallel(n_jobs=20)]: Done  15 out of  25 | elapsed: 12.4min remaining:  8.3min\n",
            "[Parallel(n_jobs=20)]: Done  16 out of  25 | elapsed: 13.8min remaining:  7.8min\n",
            "[Parallel(n_jobs=20)]: Done  17 out of  25 | elapsed: 13.8min remaining:  6.5min\n",
            "[Parallel(n_jobs=20)]: Done  18 out of  25 | elapsed: 13.8min remaining:  5.4min\n",
            "[Parallel(n_jobs=20)]: Done  19 out of  25 | elapsed: 13.8min remaining:  4.4min\n",
            "[Parallel(n_jobs=20)]: Done  20 out of  25 | elapsed: 13.9min remaining:  3.5min\n",
            "[Parallel(n_jobs=20)]: Done  21 out of  25 | elapsed: 14.5min remaining:  2.8min\n",
            "[Parallel(n_jobs=20)]: Done  22 out of  25 | elapsed: 14.5min remaining:  2.0min\n",
            "[Parallel(n_jobs=20)]: Done  23 out of  25 | elapsed: 14.5min remaining:  1.3min\n",
            "[Parallel(n_jobs=20)]: Done  25 out of  25 | elapsed: 14.5min remaining:    0.0s\n",
            "[Parallel(n_jobs=20)]: Done  25 out of  25 | elapsed: 14.5min finished\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "stream",
          "text": [
            "{'colsample_bytree': 0.9, 'learning_rate': 0.002, 'max_depth': 7, 'min_child_weight': 15, 'n_estimators': 500, 'objective': 'count:poisson', 'subsample': 0.7}\n",
            "Model with rank: 1\n",
            "Mean validation score: -2.626 (std: 0.03495)\n",
            "Parameters: {'colsample_bytree': 0.9, 'learning_rate': 0.002, 'max_depth': 7, 'min_child_weight': 15, 'n_estimators': 500, 'objective': 'count:poisson', 'subsample': 0.7}\n",
            "\n",
            "Model with rank: 2\n",
            "Mean validation score: -2.628 (std: 0.03472)\n",
            "Parameters: {'colsample_bytree': 0.7, 'learning_rate': 0.002, 'max_depth': 7, 'min_child_weight': 15, 'n_estimators': 500, 'objective': 'count:poisson', 'subsample': 0.7}\n",
            "\n",
            "Model with rank: 3\n",
            "Mean validation score: -2.632 (std: 0.03502)\n",
            "Parameters: {'colsample_bytree': 0.5, 'learning_rate': 0.002, 'max_depth': 7, 'min_child_weight': 15, 'n_estimators': 500, 'objective': 'count:poisson', 'subsample': 0.7}\n",
            "\n",
            "Model with rank: 4\n",
            "Mean validation score: -2.656 (std: 0.03512)\n",
            "Parameters: {'colsample_bytree': 0.2, 'learning_rate': 0.002, 'max_depth': 7, 'min_child_weight': 15, 'n_estimators': 500, 'objective': 'count:poisson', 'subsample': 0.7}\n",
            "\n",
            "Model with rank: 5\n",
            "Mean validation score: -2.683 (std: 0.03613)\n",
            "Parameters: {'colsample_bytree': 0.1, 'learning_rate': 0.002, 'max_depth': 7, 'min_child_weight': 15, 'n_estimators': 500, 'objective': 'count:poisson', 'subsample': 0.7}\n",
            "\n",
            "None\n",
            "Fitting 5 folds for each of 5 candidates, totalling 25 fits\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "[Parallel(n_jobs=20)]: Using backend LokyBackend with 20 concurrent workers.\n",
            "[Parallel(n_jobs=20)]: Done   1 tasks      | elapsed:  1.2min\n",
            "[Parallel(n_jobs=20)]: Done   2 out of  25 | elapsed:  1.2min remaining: 13.5min\n",
            "[Parallel(n_jobs=20)]: Done   3 out of  25 | elapsed:  1.2min remaining:  8.6min\n",
            "[Parallel(n_jobs=20)]: Done   4 out of  25 | elapsed:  1.2min remaining:  6.2min\n",
            "[Parallel(n_jobs=20)]: Done   5 out of  25 | elapsed:  1.2min remaining:  4.8min\n",
            "[Parallel(n_jobs=20)]: Done   6 out of  25 | elapsed:  3.0min remaining:  9.5min\n",
            "[Parallel(n_jobs=20)]: Done   7 out of  25 | elapsed:  6.6min remaining: 17.1min\n",
            "[Parallel(n_jobs=20)]: Done   8 out of  25 | elapsed:  6.7min remaining: 14.1min\n",
            "[Parallel(n_jobs=20)]: Done   9 out of  25 | elapsed:  6.7min remaining: 11.8min\n",
            "[Parallel(n_jobs=20)]: Done  10 out of  25 | elapsed:  6.7min remaining: 10.0min\n",
            "[Parallel(n_jobs=20)]: Done  11 out of  25 | elapsed:  9.5min remaining: 12.1min\n",
            "[Parallel(n_jobs=20)]: Done  12 out of  25 | elapsed:  9.5min remaining: 10.3min\n",
            "[Parallel(n_jobs=20)]: Done  13 out of  25 | elapsed:  9.5min remaining:  8.8min\n",
            "[Parallel(n_jobs=20)]: Done  14 out of  25 | elapsed:  9.5min remaining:  7.5min\n",
            "[Parallel(n_jobs=20)]: Done  15 out of  25 | elapsed:  9.5min remaining:  6.4min\n",
            "[Parallel(n_jobs=20)]: Done  16 out of  25 | elapsed: 10.7min remaining:  6.0min\n",
            "[Parallel(n_jobs=20)]: Done  17 out of  25 | elapsed: 10.7min remaining:  5.1min\n",
            "[Parallel(n_jobs=20)]: Done  18 out of  25 | elapsed: 10.7min remaining:  4.2min\n",
            "[Parallel(n_jobs=20)]: Done  19 out of  25 | elapsed: 10.7min remaining:  3.4min\n",
            "[Parallel(n_jobs=20)]: Done  20 out of  25 | elapsed: 10.8min remaining:  2.7min\n",
            "[Parallel(n_jobs=20)]: Done  21 out of  25 | elapsed: 11.3min remaining:  2.1min\n",
            "[Parallel(n_jobs=20)]: Done  22 out of  25 | elapsed: 11.3min remaining:  1.5min\n",
            "[Parallel(n_jobs=20)]: Done  23 out of  25 | elapsed: 11.3min remaining:   58.8s\n",
            "[Parallel(n_jobs=20)]: Done  25 out of  25 | elapsed: 11.3min remaining:    0.0s\n",
            "[Parallel(n_jobs=20)]: Done  25 out of  25 | elapsed: 11.3min finished\n"
          ],
          "name": "stderr"
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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hDmuvasHm7cf8KhERETkJU6aiYgsnGhs11pOREThxkkzEZGFycV5WsuJiCjcOGkmIrKwbuUc5GVFBizLy4pg3co5HpWIiIi8xEBAIiIL8WA/Zs8gIiKAk2YiIqWqBWWcJBMREQDenkFERERElBQnzURERERESXDSTERERESUBCfNRERERERJcNJMRERERJQEJ81ERERERElw0kxERERElAQnzURERERESXDSTERERESUBCfNRERERERJcNJMRERERJQEJ81ERERERElw0kxERERElAQnzURERERESXDSTERERESUBCfNRERERERJcNJMRERERJQEJ81ERERERElw0kxERERElAQnzURERERESXDSTERERESUBCfNRERERERJcNJMRERERJQEJ81ERERERElw0kxERERElAQnzURERERESXDSTERERESUhOuTZiFERAixRwjxROz36UKIXUKIN4UQPxVCZLtdBiIiIiKi4UjHlebPAng94fevAvimlHIWgAYAn05DGYiIiIiIHHN10iyEmALgagDfj/0uAFwB4LHYW+4HUOVmGYiIiIiIhsvtK83fAvB5AL2x38cAaJRSdsd+Pw6gzOUyEBERERENi2uTZiHEhwGcllLudvj5W4UQ1UKI6rq6OsOlIyIiIiJKnZtXmpcB+KgQ4jCAhxG9LePbAIqFEJmx90wBUGv1YSnlvVLKSill5bhx41wsJhERERGRPdcmzVLK9VLKKVLKaQD+D4DfSSlvAvB7ANfF3vYJAL9wqwxERERERCZ4kaf5CwDWCiHeRPQe5x94UAYiIiIiopRlJn/L8EkpnwbwdOzntwEsSsd2iYiIiIhM4BMBiYiIiIiS4KSZiIiIiCgJTpqJiIiIiJLgpJmIiIiIKIm0BAIS0fBt3VOLzdsP4ERjOyYX52HdyjmoWsAHahIREaUDJ81EAbB1Ty3WP16D9q4eAEBtYzvWP14DAJw4ExERpQFvzyAKgM3bD/RNmOPau3qwefsBj0pEREQ0snDSTBQAJxrbtZYTERGRWZw0EwXA5OI8reVERERkFifNRAGwbuUc5GVFBizLy4pg3co5HpWIiIhoZGEgIFEAxIP9mD2DiIjIG5w0EwVE1YIyTpKJiIg8wtsziIiIiIiS4KSZiIiIiCgJTpqJiIiIiJLgpJmIiIiIKAlOmomIiIiIkuCkmYiIiIgo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\n",
            "text/plain": [
              "<Figure size 864x432 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": [],
            "needs_background": "light"
          }
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "NtATvNRH3DLP"
      },
      "source": [
        ""
      ],
      "execution_count": null,
      "outputs": []
    }
  ]
}