Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- {
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "# Inverse Propensity Scoring with unique contexts\n",
- "\n",
- "This notebook attempts to get insight into the problem of having unique contexts when using Inverse Propensity Scoring to get an unbiased estimate of a new policy based on historical data.\n",
- "\n",
- "Recall the formula we use to estimate the value $V_\\pi$ of policy $\\pi$:\n",
- "\n",
- "$${V}_{\\pi} = \\frac{1}{|S|} \\sum_{(x,a,r_a,p) \\in S} \\frac{r_a I(\\pi(x) = a)}{p}$$"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 18,
- "metadata": {},
- "outputs": [],
- "source": [
- "import numpy as np\n",
- "import pandas as pd\n",
- "\n",
- "from sklearn.linear_model import LogisticRegression\n",
- "\n",
- "def highlight_diag(df):\n",
- " a = np.full(df.shape, '', dtype='<U24')\n",
- " np.fill_diagonal(a, 'font-weight: bold')\n",
- " return pd.DataFrame(a, index=df.index, columns=df.columns)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 3,
- "metadata": {},
- "outputs": [],
- "source": [
- "features = np.arange(10)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "## Fully independent contexts\n",
- "\n",
- "Using IPS when contexts are fully independent and unique results in sampling error. \n",
- "\n",
- "Here, we have a log of 10 payments, described by 10 features. When these payments were logged, we selected an action with probability $0.1$. However, because the payments are unique and in no way similar, it's more like we selected the action with probability $1$. Thus, using $p = 0.1$ in our IPS estimator will yield biased results."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 9,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/html": [
- "<div>\n",
- "<style scoped>\n",
- " .dataframe tbody tr th:only-of-type {\n",
- " vertical-align: middle;\n",
- " }\n",
- "\n",
- " .dataframe tbody tr th {\n",
- " vertical-align: top;\n",
- " }\n",
- "\n",
- " .dataframe thead th {\n",
- " text-align: right;\n",
- " }\n",
- "</style>\n",
- "<table border=\"1\" class=\"dataframe\">\n",
- " <thead>\n",
- " <tr style=\"text-align: right;\">\n",
- " <th></th>\n",
- " <th>0</th>\n",
- " <th>1</th>\n",
- " <th>2</th>\n",
- " <th>3</th>\n",
- " <th>4</th>\n",
- " <th>5</th>\n",
- " <th>6</th>\n",
- " <th>7</th>\n",
- " <th>8</th>\n",
- " <th>9</th>\n",
- " <th>p</th>\n",
- " <th>action</th>\n",
- " </tr>\n",
- " </thead>\n",
- " <tbody>\n",
- " <tr>\n",
- " <th>0</th>\n",
- " <td>10</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>0</td>\n",
- " <td>0</td>\n",
- " <td>0.1</td>\n",
- " <td>0</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>1</th>\n",
- " <td>0</td>\n",
- " <td>10</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>0</td>\n",
- " <td>0.1</td>\n",
- " <td>1</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>2</th>\n",
- " <td>0</td>\n",
- " <td>0</td>\n",
- " <td>10</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>0.1</td>\n",
- " <td>2</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>3</th>\n",
- " <td>0</td>\n",
- " <td>0</td>\n",
- " <td>0</td>\n",
- " <td>10</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.1</td>\n",
- " <td>3</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>4</th>\n",
- " <td>0</td>\n",
- " <td>0</td>\n",
- " <td>0</td>\n",
- " <td>0</td>\n",
- " <td>10</td>\n",
- " <td>0</td>\n",
- " <td>0</td>\n",
- " <td>0</td>\n",
- " <td>0</td>\n",
- " <td>0</td>\n",
- " <td>0.1</td>\n",
- " <td>4</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>5</th>\n",
- " <td>0</td>\n",
- " <td>0</td>\n",
- " <td>0</td>\n",
- " <td>0</td>\n",
- " <td>0</td>\n",
- " <td>10</td>\n",
- " <td>0</td>\n",
- " <td>0</td>\n",
- " <td>0</td>\n",
- " <td>0</td>\n",
- " <td>0.1</td>\n",
- " <td>5</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>6</th>\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>10</td>\n",
- " <td>0</td>\n",
- " <td>0</td>\n",
- " <td>0</td>\n",
- " <td>0.1</td>\n",
- " <td>6</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>7</th>\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>10</td>\n",
- " <td>0</td>\n",
- " <td>0</td>\n",
- " <td>0.1</td>\n",
- " <td>7</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>8</th>\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>0</td>\n",
- " <td>10</td>\n",
- " <td>0</td>\n",
- " <td>0.1</td>\n",
- " <td>8</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>9</th>\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>0</td>\n",
- " <td>0</td>\n",
- " <td>10</td>\n",
- " <td>0.1</td>\n",
- " <td>9</td>\n",
- " </tr>\n",
- " </tbody>\n",
- "</table>\n",
- "</div>"
- ],
- "text/plain": [
- " 0 1 2 3 4 5 6 7 8 9 p action\n",
- "0 10 0 0 0 0 0 0 0 0 0 0.1 0\n",
- "1 0 10 0 0 0 0 0 0 0 0 0.1 1\n",
- "2 0 0 10 0 0 0 0 0 0 0 0.1 2\n",
- "3 0 0 0 10 0 0 0 0 0 0 0.1 3\n",
- "4 0 0 0 0 10 0 0 0 0 0 0.1 4\n",
- "5 0 0 0 0 0 10 0 0 0 0 0.1 5\n",
- "6 0 0 0 0 0 0 10 0 0 0 0.1 6\n",
- "7 0 0 0 0 0 0 0 10 0 0 0.1 7\n",
- "8 0 0 0 0 0 0 0 0 10 0 0.1 8\n",
- "9 0 0 0 0 0 0 0 0 0 10 0.1 9"
- ]
- },
- "execution_count": 9,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "# Build a dataframe with 10 fully independent unique contexts. Our behavior policy \n",
- "indep = (pd.get_dummies(np.arange(10))*10).assign(p=np.repeat([0.1],10)).assign(action=np.arange(10))\n",
- "indep"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Indeed, when we try to predict the action based on the payment features, it's more like we selected the action with probability $0.95 \\approx 1$."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 14,
- "metadata": {},
- "outputs": [],
- "source": [
- "clf_i = LogisticRegression(multi_class='multinomial', max_iter=1000, solver='lbfgs').fit(indep[features], indep['action'])"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 17,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/html": [
- "<style type=\"text/css\" >\n",
- " #T_d52896da_a47e_11e9_adde_acbc327d9ec5row0_col0 {\n",
- " font-weight: bold;\n",
- " } #T_d52896da_a47e_11e9_adde_acbc327d9ec5row1_col1 {\n",
- " font-weight: bold;\n",
- " } #T_d52896da_a47e_11e9_adde_acbc327d9ec5row2_col2 {\n",
- " font-weight: bold;\n",
- " } #T_d52896da_a47e_11e9_adde_acbc327d9ec5row3_col3 {\n",
- " font-weight: bold;\n",
- " } #T_d52896da_a47e_11e9_adde_acbc327d9ec5row4_col4 {\n",
- " font-weight: bold;\n",
- " } #T_d52896da_a47e_11e9_adde_acbc327d9ec5row5_col5 {\n",
- " font-weight: bold;\n",
- " } #T_d52896da_a47e_11e9_adde_acbc327d9ec5row6_col6 {\n",
- " font-weight: bold;\n",
- " } #T_d52896da_a47e_11e9_adde_acbc327d9ec5row7_col7 {\n",
- " font-weight: bold;\n",
- " } #T_d52896da_a47e_11e9_adde_acbc327d9ec5row8_col8 {\n",
- " font-weight: bold;\n",
- " } #T_d52896da_a47e_11e9_adde_acbc327d9ec5row9_col9 {\n",
- " font-weight: bold;\n",
- " }</style><table id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5\" ><thead> <tr> <th class=\"blank level0\" ></th> <th class=\"col_heading level0 col0\" >0</th> <th class=\"col_heading level0 col1\" >1</th> <th class=\"col_heading level0 col2\" >2</th> <th class=\"col_heading level0 col3\" >3</th> <th class=\"col_heading level0 col4\" >4</th> <th class=\"col_heading level0 col5\" >5</th> <th class=\"col_heading level0 col6\" >6</th> <th class=\"col_heading level0 col7\" >7</th> <th class=\"col_heading level0 col8\" >8</th> <th class=\"col_heading level0 col9\" >9</th> </tr></thead><tbody>\n",
- " <tr>\n",
- " <th id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5level0_row0\" class=\"row_heading level0 row0\" >0</th>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row0_col0\" class=\"data row0 col0\" >0.953116</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row0_col1\" class=\"data row0 col1\" >0.00520931</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row0_col2\" class=\"data row0 col2\" >0.00520931</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row0_col3\" class=\"data row0 col3\" >0.00520931</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row0_col4\" class=\"data row0 col4\" >0.00520931</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row0_col5\" class=\"data row0 col5\" >0.00520931</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row0_col6\" class=\"data row0 col6\" >0.00520931</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row0_col7\" class=\"data row0 col7\" >0.00520931</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row0_col8\" class=\"data row0 col8\" >0.00520931</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row0_col9\" class=\"data row0 col9\" >0.00520931</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5level0_row1\" class=\"row_heading level0 row1\" >1</th>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row1_col0\" class=\"data row1 col0\" >0.00520931</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row1_col1\" class=\"data row1 col1\" >0.953116</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row1_col2\" class=\"data row1 col2\" >0.00520931</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row1_col3\" class=\"data row1 col3\" >0.00520931</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row1_col4\" class=\"data row1 col4\" >0.00520931</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row1_col5\" class=\"data row1 col5\" >0.00520931</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row1_col6\" class=\"data row1 col6\" >0.00520931</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row1_col7\" class=\"data row1 col7\" >0.00520931</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row1_col8\" class=\"data row1 col8\" >0.00520931</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row1_col9\" class=\"data row1 col9\" >0.00520931</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5level0_row2\" class=\"row_heading level0 row2\" >2</th>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row2_col0\" class=\"data row2 col0\" >0.00520931</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row2_col1\" class=\"data row2 col1\" >0.00520931</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row2_col2\" class=\"data row2 col2\" >0.953116</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row2_col3\" class=\"data row2 col3\" >0.00520931</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row2_col4\" class=\"data row2 col4\" >0.00520931</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row2_col5\" class=\"data row2 col5\" >0.00520931</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row2_col6\" class=\"data row2 col6\" >0.00520931</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row2_col7\" class=\"data row2 col7\" >0.00520931</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row2_col8\" class=\"data row2 col8\" >0.00520931</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row2_col9\" class=\"data row2 col9\" >0.00520931</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5level0_row3\" class=\"row_heading level0 row3\" >3</th>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row3_col0\" class=\"data row3 col0\" >0.00520931</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row3_col1\" class=\"data row3 col1\" >0.00520931</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row3_col2\" class=\"data row3 col2\" >0.00520931</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row3_col3\" class=\"data row3 col3\" >0.953116</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row3_col4\" class=\"data row3 col4\" >0.00520931</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row3_col5\" class=\"data row3 col5\" >0.00520931</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row3_col6\" class=\"data row3 col6\" >0.00520931</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row3_col7\" class=\"data row3 col7\" >0.00520931</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row3_col8\" class=\"data row3 col8\" >0.00520931</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row3_col9\" class=\"data row3 col9\" >0.00520931</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5level0_row4\" class=\"row_heading level0 row4\" >4</th>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row4_col0\" class=\"data row4 col0\" >0.00520931</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row4_col1\" class=\"data row4 col1\" >0.00520931</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row4_col2\" class=\"data row4 col2\" >0.00520931</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row4_col3\" class=\"data row4 col3\" >0.00520931</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row4_col4\" class=\"data row4 col4\" >0.953116</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row4_col5\" class=\"data row4 col5\" >0.00520931</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row4_col6\" class=\"data row4 col6\" >0.00520931</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row4_col7\" class=\"data row4 col7\" >0.00520931</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row4_col8\" class=\"data row4 col8\" >0.00520931</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row4_col9\" class=\"data row4 col9\" >0.00520931</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5level0_row5\" class=\"row_heading level0 row5\" >5</th>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row5_col0\" class=\"data row5 col0\" >0.00520931</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row5_col1\" class=\"data row5 col1\" >0.00520931</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row5_col2\" class=\"data row5 col2\" >0.00520931</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row5_col3\" class=\"data row5 col3\" >0.00520931</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row5_col4\" class=\"data row5 col4\" >0.00520931</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row5_col5\" class=\"data row5 col5\" >0.953116</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row5_col6\" class=\"data row5 col6\" >0.00520931</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row5_col7\" class=\"data row5 col7\" >0.00520931</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row5_col8\" class=\"data row5 col8\" >0.00520931</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row5_col9\" class=\"data row5 col9\" >0.00520931</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5level0_row6\" class=\"row_heading level0 row6\" >6</th>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row6_col0\" class=\"data row6 col0\" >0.00520931</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row6_col1\" class=\"data row6 col1\" >0.00520931</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row6_col2\" class=\"data row6 col2\" >0.00520931</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row6_col3\" class=\"data row6 col3\" >0.00520931</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row6_col4\" class=\"data row6 col4\" >0.00520931</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row6_col5\" class=\"data row6 col5\" >0.00520931</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row6_col6\" class=\"data row6 col6\" >0.953116</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row6_col7\" class=\"data row6 col7\" >0.00520931</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row6_col8\" class=\"data row6 col8\" >0.00520931</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row6_col9\" class=\"data row6 col9\" >0.00520931</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5level0_row7\" class=\"row_heading level0 row7\" >7</th>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row7_col0\" class=\"data row7 col0\" >0.00520931</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row7_col1\" class=\"data row7 col1\" >0.00520931</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row7_col2\" class=\"data row7 col2\" >0.00520931</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row7_col3\" class=\"data row7 col3\" >0.00520931</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row7_col4\" class=\"data row7 col4\" >0.00520931</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row7_col5\" class=\"data row7 col5\" >0.00520931</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row7_col6\" class=\"data row7 col6\" >0.00520931</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row7_col7\" class=\"data row7 col7\" >0.953116</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row7_col8\" class=\"data row7 col8\" >0.00520931</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row7_col9\" class=\"data row7 col9\" >0.00520931</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5level0_row8\" class=\"row_heading level0 row8\" >8</th>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row8_col0\" class=\"data row8 col0\" >0.00520931</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row8_col1\" class=\"data row8 col1\" >0.00520931</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row8_col2\" class=\"data row8 col2\" >0.00520931</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row8_col3\" class=\"data row8 col3\" >0.00520931</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row8_col4\" class=\"data row8 col4\" >0.00520931</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row8_col5\" class=\"data row8 col5\" >0.00520931</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row8_col6\" class=\"data row8 col6\" >0.00520931</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row8_col7\" class=\"data row8 col7\" >0.00520931</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row8_col8\" class=\"data row8 col8\" >0.953116</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row8_col9\" class=\"data row8 col9\" >0.00520931</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5level0_row9\" class=\"row_heading level0 row9\" >9</th>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row9_col0\" class=\"data row9 col0\" >0.00520931</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row9_col1\" class=\"data row9 col1\" >0.00520931</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row9_col2\" class=\"data row9 col2\" >0.00520931</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row9_col3\" class=\"data row9 col3\" >0.00520931</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row9_col4\" class=\"data row9 col4\" >0.00520931</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row9_col5\" class=\"data row9 col5\" >0.00520931</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row9_col6\" class=\"data row9 col6\" >0.00520931</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row9_col7\" class=\"data row9 col7\" >0.00520931</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row9_col8\" class=\"data row9 col8\" >0.00520931</td>\n",
- " <td id=\"T_d52896da_a47e_11e9_adde_acbc327d9ec5row9_col9\" class=\"data row9 col9\" >0.953116</td>\n",
- " </tr>\n",
- " </tbody></table>"
- ],
- "text/plain": [
- "<pandas.io.formats.style.Styler at 0x11c2e3da0>"
- ]
- },
- "execution_count": 17,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "res_indep = pd.DataFrame(clf_i.predict_proba(indep[features]))\n",
- "res_indep.style.apply(highlight_diag, axis=None)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "## Similar contexts\n",
- "\n",
- "Here, payments are very similar. Again we selected an action with probability $0.1$. "
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 20,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/html": [
- "<div>\n",
- "<style scoped>\n",
- " .dataframe tbody tr th:only-of-type {\n",
- " vertical-align: middle;\n",
- " }\n",
- "\n",
- " .dataframe tbody tr th {\n",
- " vertical-align: top;\n",
- " }\n",
- "\n",
- " .dataframe thead th {\n",
- " text-align: right;\n",
- " }\n",
- "</style>\n",
- "<table border=\"1\" class=\"dataframe\">\n",
- " <thead>\n",
- " <tr style=\"text-align: right;\">\n",
- " <th></th>\n",
- " <th>0</th>\n",
- " <th>1</th>\n",
- " <th>2</th>\n",
- " <th>3</th>\n",
- " <th>4</th>\n",
- " <th>5</th>\n",
- " <th>6</th>\n",
- " <th>7</th>\n",
- " <th>8</th>\n",
- " <th>9</th>\n",
- " <th>p</th>\n",
- " <th>action</th>\n",
- " </tr>\n",
- " </thead>\n",
- " <tbody>\n",
- " <tr>\n",
- " <th>0</th>\n",
- " <td>-0.019638</td>\n",
- " <td>1.101398</td>\n",
- " <td>1.970726</td>\n",
- " <td>3.060105</td>\n",
- " <td>3.943542</td>\n",
- " <td>5.039239</td>\n",
- " <td>5.973585</td>\n",
- " <td>7.095580</td>\n",
- " <td>7.913008</td>\n",
- " <td>9.008351</td>\n",
- " <td>0.1</td>\n",
- " <td>0</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>1</th>\n",
- " <td>0.046163</td>\n",
- " <td>1.029280</td>\n",
- " <td>1.945301</td>\n",
- " <td>2.873129</td>\n",
- " <td>3.936393</td>\n",
- " <td>4.760869</td>\n",
- " <td>6.119820</td>\n",
- " <td>7.091753</td>\n",
- " <td>8.144356</td>\n",
- " <td>8.970392</td>\n",
- " <td>0.1</td>\n",
- " <td>1</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>2</th>\n",
- " <td>0.040507</td>\n",
- " <td>1.056331</td>\n",
- " <td>2.035227</td>\n",
- " <td>3.176310</td>\n",
- " <td>4.018387</td>\n",
- " <td>4.960762</td>\n",
- " <td>6.047193</td>\n",
- " <td>7.097305</td>\n",
- " <td>8.023654</td>\n",
- " <td>8.994491</td>\n",
- " <td>0.1</td>\n",
- " <td>2</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>3</th>\n",
- " <td>0.044263</td>\n",
- " <td>1.031390</td>\n",
- " <td>1.955717</td>\n",
- " <td>3.159275</td>\n",
- " <td>3.920521</td>\n",
- " <td>5.021060</td>\n",
- " <td>6.099058</td>\n",
- " <td>6.900178</td>\n",
- " <td>7.964618</td>\n",
- " <td>8.986417</td>\n",
- " <td>0.1</td>\n",
- " <td>3</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>4</th>\n",
- " <td>0.066138</td>\n",
- " <td>0.965317</td>\n",
- " <td>1.955327</td>\n",
- " <td>2.869150</td>\n",
- " <td>3.909705</td>\n",
- " <td>5.068656</td>\n",
- " <td>6.124775</td>\n",
- " <td>6.912743</td>\n",
- " <td>7.911530</td>\n",
- " <td>9.086408</td>\n",
- " <td>0.1</td>\n",
- " <td>4</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>5</th>\n",
- " <td>0.014419</td>\n",
- " <td>1.146377</td>\n",
- " <td>1.755929</td>\n",
- " <td>2.819008</td>\n",
- " <td>3.947550</td>\n",
- " <td>5.108242</td>\n",
- " <td>6.068107</td>\n",
- " <td>7.145113</td>\n",
- " <td>7.968077</td>\n",
- " <td>8.840765</td>\n",
- " <td>0.1</td>\n",
- " <td>5</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>6</th>\n",
- " <td>-0.084084</td>\n",
- " <td>0.962701</td>\n",
- " <td>1.950143</td>\n",
- " <td>3.133109</td>\n",
- " <td>4.178577</td>\n",
- " <td>4.788086</td>\n",
- " <td>6.133167</td>\n",
- " <td>7.094141</td>\n",
- " <td>7.891503</td>\n",
- " <td>8.989802</td>\n",
- " <td>0.1</td>\n",
- " <td>6</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>7</th>\n",
- " <td>-0.021402</td>\n",
- " <td>1.063880</td>\n",
- " <td>1.940584</td>\n",
- " <td>2.991705</td>\n",
- " <td>3.838835</td>\n",
- " <td>4.887974</td>\n",
- " <td>6.188056</td>\n",
- " <td>7.054795</td>\n",
- " <td>7.927418</td>\n",
- " <td>8.969443</td>\n",
- " <td>0.1</td>\n",
- " <td>7</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>8</th>\n",
- " <td>-0.219896</td>\n",
- " <td>0.964580</td>\n",
- " <td>2.057829</td>\n",
- " <td>3.125574</td>\n",
- " <td>4.133694</td>\n",
- " <td>5.093212</td>\n",
- " <td>5.925061</td>\n",
- " <td>7.008290</td>\n",
- " <td>8.031325</td>\n",
- " <td>8.881888</td>\n",
- " <td>0.1</td>\n",
- " <td>8</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th>9</th>\n",
- " <td>-0.078689</td>\n",
- " <td>0.930086</td>\n",
- " <td>1.926375</td>\n",
- " <td>3.016457</td>\n",
- " <td>4.028586</td>\n",
- " <td>4.936445</td>\n",
- " <td>6.079576</td>\n",
- " <td>6.894052</td>\n",
- " <td>8.103722</td>\n",
- " <td>9.141645</td>\n",
- " <td>0.1</td>\n",
- " <td>9</td>\n",
- " </tr>\n",
- " </tbody>\n",
- "</table>\n",
- "</div>"
- ],
- "text/plain": [
- " 0 1 2 3 4 5 6 \\\n",
- "0 -0.019638 1.101398 1.970726 3.060105 3.943542 5.039239 5.973585 \n",
- "1 0.046163 1.029280 1.945301 2.873129 3.936393 4.760869 6.119820 \n",
- "2 0.040507 1.056331 2.035227 3.176310 4.018387 4.960762 6.047193 \n",
- "3 0.044263 1.031390 1.955717 3.159275 3.920521 5.021060 6.099058 \n",
- "4 0.066138 0.965317 1.955327 2.869150 3.909705 5.068656 6.124775 \n",
- "5 0.014419 1.146377 1.755929 2.819008 3.947550 5.108242 6.068107 \n",
- "6 -0.084084 0.962701 1.950143 3.133109 4.178577 4.788086 6.133167 \n",
- "7 -0.021402 1.063880 1.940584 2.991705 3.838835 4.887974 6.188056 \n",
- "8 -0.219896 0.964580 2.057829 3.125574 4.133694 5.093212 5.925061 \n",
- "9 -0.078689 0.930086 1.926375 3.016457 4.028586 4.936445 6.079576 \n",
- "\n",
- " 7 8 9 p action \n",
- "0 7.095580 7.913008 9.008351 0.1 0 \n",
- "1 7.091753 8.144356 8.970392 0.1 1 \n",
- "2 7.097305 8.023654 8.994491 0.1 2 \n",
- "3 6.900178 7.964618 8.986417 0.1 3 \n",
- "4 6.912743 7.911530 9.086408 0.1 4 \n",
- "5 7.145113 7.968077 8.840765 0.1 5 \n",
- "6 7.094141 7.891503 8.989802 0.1 6 \n",
- "7 7.054795 7.927418 8.969443 0.1 7 \n",
- "8 7.008290 8.031325 8.881888 0.1 8 \n",
- "9 6.894052 8.103722 9.141645 0.1 9 "
- ]
- },
- "execution_count": 20,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "dep = pd.DataFrame([[np.random.normal(i,0.1) for i in range(10)] for _ in range(10)]).assign(p=np.repeat([0.1],10)).assign(action=np.arange(10))\n",
- "dep"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "When we try to predict the action we find, indeed, that the action was chosen with $p \\approx 0.1$. Hence, we had full exploration over all actions."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 21,
- "metadata": {},
- "outputs": [],
- "source": [
- "clf_d = LogisticRegression(multi_class='multinomial', max_iter=1000, solver='lbfgs').fit(dep[features], dep['action'])"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 22,
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/html": [
- "<style type=\"text/css\" >\n",
- " #T_f2565382_a47e_11e9_adde_acbc327d9ec5row0_col0 {\n",
- " font-weight: bold;\n",
- " } #T_f2565382_a47e_11e9_adde_acbc327d9ec5row1_col1 {\n",
- " font-weight: bold;\n",
- " } #T_f2565382_a47e_11e9_adde_acbc327d9ec5row2_col2 {\n",
- " font-weight: bold;\n",
- " } #T_f2565382_a47e_11e9_adde_acbc327d9ec5row3_col3 {\n",
- " font-weight: bold;\n",
- " } #T_f2565382_a47e_11e9_adde_acbc327d9ec5row4_col4 {\n",
- " font-weight: bold;\n",
- " } #T_f2565382_a47e_11e9_adde_acbc327d9ec5row5_col5 {\n",
- " font-weight: bold;\n",
- " } #T_f2565382_a47e_11e9_adde_acbc327d9ec5row6_col6 {\n",
- " font-weight: bold;\n",
- " } #T_f2565382_a47e_11e9_adde_acbc327d9ec5row7_col7 {\n",
- " font-weight: bold;\n",
- " } #T_f2565382_a47e_11e9_adde_acbc327d9ec5row8_col8 {\n",
- " font-weight: bold;\n",
- " } #T_f2565382_a47e_11e9_adde_acbc327d9ec5row9_col9 {\n",
- " font-weight: bold;\n",
- " }</style><table id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5\" ><thead> <tr> <th class=\"blank level0\" ></th> <th class=\"col_heading level0 col0\" >0</th> <th class=\"col_heading level0 col1\" >1</th> <th class=\"col_heading level0 col2\" >2</th> <th class=\"col_heading level0 col3\" >3</th> <th class=\"col_heading level0 col4\" >4</th> <th class=\"col_heading level0 col5\" >5</th> <th class=\"col_heading level0 col6\" >6</th> <th class=\"col_heading level0 col7\" >7</th> <th class=\"col_heading level0 col8\" >8</th> <th class=\"col_heading level0 col9\" >9</th> </tr></thead><tbody>\n",
- " <tr>\n",
- " <th id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5level0_row0\" class=\"row_heading level0 row0\" >0</th>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row0_col0\" class=\"data row0 col0\" >0.103625</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row0_col1\" class=\"data row0 col1\" >0.0970025</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row0_col2\" class=\"data row0 col2\" >0.101343</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row0_col3\" class=\"data row0 col3\" >0.100356</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row0_col4\" class=\"data row0 col4\" >0.0995631</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row0_col5\" class=\"data row0 col5\" >0.101483</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row0_col6\" class=\"data row0 col6\" >0.0983964</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row0_col7\" class=\"data row0 col7\" >0.0996726</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row0_col8\" class=\"data row0 col8\" >0.101153</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row0_col9\" class=\"data row0 col9\" >0.0974051</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5level0_row1\" class=\"row_heading level0 row1\" >1</th>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row1_col0\" class=\"data row1 col0\" >0.0970011</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row1_col1\" class=\"data row1 col1\" >0.110443</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row1_col2\" class=\"data row1 col2\" >0.0989016</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row1_col3\" class=\"data row1 col3\" >0.0966027</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row1_col4\" class=\"data row1 col4\" >0.0991522</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row1_col5\" class=\"data row1 col5\" >0.101063</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row1_col6\" class=\"data row1 col6\" >0.0996683</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row1_col7\" class=\"data row1 col7\" >0.102454</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row1_col8\" class=\"data row1 col8\" >0.0939732</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row1_col9\" class=\"data row1 col9\" >0.100741</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5level0_row2\" class=\"row_heading level0 row2\" >2</th>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row2_col0\" class=\"data row2 col0\" >0.101342</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row2_col1\" class=\"data row2 col1\" >0.0989006</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row2_col2\" class=\"data row2 col2\" >0.104421</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row2_col3\" class=\"data row2 col3\" >0.101319</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row2_col4\" class=\"data row2 col4\" >0.0967077</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row2_col5\" class=\"data row2 col5\" >0.096274</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row2_col6\" class=\"data row2 col6\" >0.1017</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row2_col7\" class=\"data row2 col7\" >0.0988036</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row2_col8\" class=\"data row2 col8\" >0.101713</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row2_col9\" class=\"data row2 col9\" >0.0988196</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5level0_row3\" class=\"row_heading level0 row3\" >3</th>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row3_col0\" class=\"data row3 col0\" >0.100355</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row3_col1\" class=\"data row3 col1\" >0.0966034</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row3_col2\" class=\"data row3 col2\" >0.101319</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row3_col3\" class=\"data row3 col3\" >0.104893</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row3_col4\" class=\"data row3 col4\" >0.101252</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row3_col5\" class=\"data row3 col5\" >0.0969554</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row3_col6\" class=\"data row3 col6\" >0.0983404</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row3_col7\" class=\"data row3 col7\" >0.100217</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row3_col8\" class=\"data row3 col8\" >0.0995796</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row3_col9\" class=\"data row3 col9\" >0.100485</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5level0_row4\" class=\"row_heading level0 row4\" >4</th>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row4_col0\" class=\"data row4 col0\" >0.099562</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row4_col1\" class=\"data row4 col1\" >0.0991514</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row4_col2\" class=\"data row4 col2\" >0.0967072</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row4_col3\" class=\"data row4 col3\" >0.101252</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row4_col4\" class=\"data row4 col4\" >0.108405</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row4_col5\" class=\"data row4 col5\" >0.101408</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row4_col6\" class=\"data row4 col6\" >0.0952793</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row4_col7\" class=\"data row4 col7\" >0.101017</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row4_col8\" class=\"data row4 col8\" >0.0955005</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row4_col9\" class=\"data row4 col9\" >0.101716</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5level0_row5\" class=\"row_heading level0 row5\" >5</th>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row5_col0\" class=\"data row5 col0\" >0.101485</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row5_col1\" class=\"data row5 col1\" >0.101066</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row5_col2\" class=\"data row5 col2\" >0.0962723</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row5_col3\" class=\"data row5 col3\" >0.0969542</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row5_col4\" class=\"data row5 col4\" >0.101412</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row5_col5\" class=\"data row5 col5\" >0.115667</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row5_col6\" class=\"data row5 col6\" >0.0944857</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row5_col7\" class=\"data row5 col7\" >0.101108</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row5_col8\" class=\"data row5 col8\" >0.0968592</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row5_col9\" class=\"data row5 col9\" >0.0946899</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5level0_row6\" class=\"row_heading level0 row6\" >6</th>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row6_col0\" class=\"data row6 col0\" >0.0983959</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row6_col1\" class=\"data row6 col1\" >0.0996682</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row6_col2\" class=\"data row6 col2\" >0.101701</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row6_col3\" class=\"data row6 col3\" >0.0983407</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row6_col4\" class=\"data row6 col4\" >0.095279</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row6_col5\" class=\"data row6 col5\" >0.0944882</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row6_col6\" class=\"data row6 col6\" >0.110855</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row6_col7\" class=\"data row6 col7\" >0.099358</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row6_col8\" class=\"data row6 col8\" >0.101682</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row6_col9\" class=\"data row6 col9\" >0.100231</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5level0_row7\" class=\"row_heading level0 row7\" >7</th>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row7_col0\" class=\"data row7 col0\" >0.0996721</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row7_col1\" class=\"data row7 col1\" >0.102453</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row7_col2\" class=\"data row7 col2\" >0.0988043</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row7_col3\" class=\"data row7 col3\" >0.100217</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row7_col4\" class=\"data row7 col4\" >0.101017</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row7_col5\" class=\"data row7 col5\" >0.101105</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row7_col6\" class=\"data row7 col6\" >0.0993578</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row7_col7\" class=\"data row7 col7\" >0.104786</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row7_col8\" class=\"data row7 col8\" >0.0945459</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row7_col9\" class=\"data row7 col9\" >0.0980403</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5level0_row8\" class=\"row_heading level0 row8\" >8</th>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row8_col0\" class=\"data row8 col0\" >0.101154</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row8_col1\" class=\"data row8 col1\" >0.0939705</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row8_col2\" class=\"data row8 col2\" >0.101716</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row8_col3\" class=\"data row8 col3\" >0.0995804</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row8_col4\" class=\"data row8 col4\" >0.095498</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row8_col5\" class=\"data row8 col5\" >0.0968587</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row8_col6\" class=\"data row8 col6\" >0.101683</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row8_col7\" class=\"data row8 col7\" >0.0945415</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row8_col8\" class=\"data row8 col8\" >0.114374</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row8_col9\" class=\"data row8 col9\" >0.100623</td>\n",
- " </tr>\n",
- " <tr>\n",
- " <th id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5level0_row9\" class=\"row_heading level0 row9\" >9</th>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row9_col0\" class=\"data row9 col0\" >0.097403</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row9_col1\" class=\"data row9 col1\" >0.100739</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row9_col2\" class=\"data row9 col2\" >0.0988185</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row9_col3\" class=\"data row9 col3\" >0.100484</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row9_col4\" class=\"data row9 col4\" >0.101716</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row9_col5\" class=\"data row9 col5\" >0.0946925</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row9_col6\" class=\"data row9 col6\" >0.100229</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row9_col7\" class=\"data row9 col7\" >0.0980389</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row9_col8\" class=\"data row9 col8\" >0.10062</td>\n",
- " <td id=\"T_f2565382_a47e_11e9_adde_acbc327d9ec5row9_col9\" class=\"data row9 col9\" >0.107259</td>\n",
- " </tr>\n",
- " </tbody></table>"
- ],
- "text/plain": [
- "<pandas.io.formats.style.Styler at 0x11c2b8e48>"
- ]
- },
- "execution_count": 22,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "res_dep = pd.DataFrame(clf_d.predict_proba(dep[features]))\n",
- "res_dep.style.apply(highlight_diag, axis=None)"
- ]
- }
- ],
- "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.2"
- }
- },
- "nbformat": 4,
- "nbformat_minor": 2
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement