diff --git a/MiniLab1 CRISP-DM .ipynb b/MiniLab1 CRISP-DM .ipynb index 1ab42ba..5e92a01 100644 --- a/MiniLab1 CRISP-DM .ipynb +++ b/MiniLab1 CRISP-DM .ipynb @@ -1073,9 +1073,58 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Your selected dataframe has 82 columns.\n", + "There are 0 columns that have missing values.\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Missing Values% of Total Values
\n", + "
" + ], + "text/plain": [ + "Empty DataFrame\n", + "Columns: [Missing Values, % of Total Values]\n", + "Index: []" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "# read in the clean data and verify there are no missing values\n", "pd.set_option('display.max_rows', 122)\n", @@ -1085,7 +1134,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 9, "metadata": {}, "outputs": [], "source": [ @@ -1107,9 +1156,58 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 10, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Your selected dataframe has 89 columns.\n", + "There are 0 columns that have missing values.\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Missing Values% of Total Values
\n", + "
" + ], + "text/plain": [ + "Empty DataFrame\n", + "Columns: [Missing Values, % of Total Values]\n", + "Index: []" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "missing_values_table(data)" ] @@ -1134,18 +1232,42 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 11, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], "source": [ "df.DAYS_EMPLOYED.hist(bins = 50);" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 12, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "(55374,)" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "df.query(\"DAYS_EMPLOYED >= 100000\").DAYS_EMPLOYED.shape" ] @@ -1161,9 +1283,17 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 13, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Index of queried values are the same.\n" + ] + } + ], "source": [ "# get the instances with NAME_INCOME_TYPE either Pensioner or Unemployed\n", "filtered_index = df.query('NAME_INCOME_TYPE == \"Pensioner\" | NAME_INCOME_TYPE == \"Unemployed\"')\n", @@ -1211,9 +1341,136 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 14, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
SK_ID_CURRTARGETNAME_CONTRACT_TYPECODE_GENDERFLAG_OWN_CARFLAG_OWN_REALTYCNT_CHILDRENAMT_INCOME_TOTALAMT_CREDITAMT_ANNUITY...CREDIT_INCOME_RATIOANNUITY_INCOME_RATIOPERCENT_EMPLOYED_TO_AGELOAN_COUNTCREDIT_ACTIVECREDIT_DAY_OVERDUEAMT_CREDIT_SUMAMT_CREDIT_SUM_DEBTAMT_CREDIT_SUM_LIMITAMT_CREDIT_SUM_OVERDUE
01000021Cash loansMNY0202500.0406597.524700.5...2.0078890.1219780.0673298.02.00.0481988.565245781.031988.5650.0
11000030Cash loansFNN0270000.01293502.535698.5...4.7907500.1322170.0708624.01.00.0810000.0000.0810000.0000.0
\n", + "

2 rows × 89 columns

\n", + "
" + ], + "text/plain": [ + " SK_ID_CURR TARGET NAME_CONTRACT_TYPE CODE_GENDER FLAG_OWN_CAR \\\n", + "0 100002 1 Cash loans M N \n", + "1 100003 0 Cash loans F N \n", + "\n", + " FLAG_OWN_REALTY CNT_CHILDREN AMT_INCOME_TOTAL AMT_CREDIT AMT_ANNUITY \\\n", + "0 Y 0 202500.0 406597.5 24700.5 \n", + "1 N 0 270000.0 1293502.5 35698.5 \n", + "\n", + " ... CREDIT_INCOME_RATIO ANNUITY_INCOME_RATIO PERCENT_EMPLOYED_TO_AGE \\\n", + "0 ... 2.007889 0.121978 0.067329 \n", + "1 ... 4.790750 0.132217 0.070862 \n", + "\n", + " LOAN_COUNT CREDIT_ACTIVE CREDIT_DAY_OVERDUE AMT_CREDIT_SUM \\\n", + "0 8.0 2.0 0.0 481988.565 \n", + "1 4.0 1.0 0.0 810000.000 \n", + "\n", + " AMT_CREDIT_SUM_DEBT AMT_CREDIT_SUM_LIMIT AMT_CREDIT_SUM_OVERDUE \n", + "0 245781.0 31988.565 0.0 \n", + "1 0.0 810000.000 0.0 \n", + "\n", + "[2 rows x 89 columns]" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "#data = read_clean_data()\n", "data.head(2)" @@ -1279,7 +1536,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 15, "metadata": {}, "outputs": [], "source": [ @@ -1301,13 +1558,35 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 16, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "\n", + " \n", + " " + ], + "text/plain": [ + "" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "# Generate the pandas_profile report (Commented out running profilereport after run once due to long runtime)\n", "# profile = ProfileReport(data, minimal=True)\n", - "IFrame(\"./profiling_report.html\", width=980, height=400)" + "#IFrame(\"./profiling_report.html\", width=980, height=400)" ] }, { @@ -1330,9 +1609,20 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 17, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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/JykkhQaiugkP44fqQ7m968x8+O97f38/uG718eYGW17jt2ul0uX9n6/X+/X6/F8be+H+/v1er3fz+c1cuRI7d27V8nJyQoMDNSkSZNUvXr1XG1j0qRJOnLkiA4fPqz9+/ercuXKeuutt1S+fHn98ssvGjVqlE6cOCEvLy/17dtXbdq00c6dOxUbG6vk5GS5XC49//zzCgsL07fffqu4uDhVqFBBe/bsUYkSJfT8888rPj5e//3vf9W2bVu98sorki4GjxkzZig9PV3+/v4aMmRIth/LnjFjhtq3b3/NyXXdbrfGjRun77//Xl5eXqpfv76GDBmigIAAbdq0STExMUpLS9Odd96pPXv26LXXXruur6JIT0/XQw89pMcff1w7d+7U5MmTtWXLFs2fP19paWk6deqUevfurU6dOmn+/PlatWqVPB6P9u3bJ39/f7355puqWbOmli5dqvfee0/e3t7y9vbWK6+8on379mnevHnKyMjQ+fPnNX78+Gx/9+XLl1fnzp2d303Xrl316aefqn79+vrxxx918uRJderUSYcOHdLGjRt14cIFTZ48WbVq1dKpU6c0duxY7d69W2lpaXrsscc0ePBgeXt7a+nSpZo6dar8/f1Vr169LON++umnFRUVpaeeeirXX/uBW8Ot2G/37dun77//XitXrlRISIg2bdqk+vXrS7o4L2Tx4sW1a9cuHT9+XC1atFDp0qW1cuVKHT16VLGxsXr00UeVkpKi0aNHa8eOHXK5XGrSpIkGDhwoHx8f1a5dW999953Kli0rSc7tn3/+WZMmTVLVqlX1888/Kz09XaNHj1blypU1depUpaSkaOjQoRo3btwVv4fPPvtM1apVU48ePdSrVy/17dtX/v7+ki7OUdmhQwd99913OnjwoMLDwxUdHa3169dnu72HHnpIQ4YMUa1atdSrVy9n3Jm3W7RooSlTpjhTzj377LMaMWKEXn75Za1YsUJeXl46d+6cWrRooc8++8wZZ5Fjioh9+/aZOnXqmLCwMBMWFmaaNWtm7r33XrNq1SpjjDHffvuteeKJJ8zx48eNMcYsXLjQtG3b1ng8HnP48GHTuHFjs3z5ctOkSRPz/fffG2OMeeWVV0z79u3NmTNnzIULF0zXrl1NfHy8McaYoKAgc/z4cbNgwQLTqVMnk5qaaowxZurUqaZnz57Oz6NHj76i1hMnTphHH33UbNq0yRhjzK5du8zDDz9s9u7da/bt22fq16+f41jXrVtn2rVrl+W+uXPnms6dO5uzZ88aY4yZOHGi+fOf/+z8HBsba4wx5rPPPjNjx451nvfqq686t6Oioszy5cuv2N68efNMnz59nHW1atXKpKSkGGOMef755820adOMMcaEhoaaOXPmGGOMSUpKMi1btjQpKSmmefPm5quvvjLGGHPw4EHz2GOPmZ9++smsXbvW3HPPPWb79u3GGGN69OhhOnfubNxutzl27JipW7euOXbsmNm9e7cJDQ01ycnJxhhjtm/fbh577DFz/vz5LHVmZGSYhg0bmoMHDxpjjElLSzNBQUHm1KlTV4xp4sSJpn///iYtLc2kp6ebl19+2YwePdq43W4THBxsVq9ebYwxZu3ataZ27dpmw4YNOf5OmjRpYv7zn/84tzO3vWTJEmOMMSkpKebpp582J0+eNMYYs2HDBtOgQQNn/zZs2NAcOnTIGGPMa6+9ZoYOHWqMMaZZs2Zm8+bNxhhjVq1aZaZPn+7Un/k7zel3HxUVZUaMGOHUFRUVZfr372+MMWbjxo0mKCjIeY3ExMSYkSNHGmOMGTx4sPnnP/9pjDEmPT3dDBw40HzwwQfm0KFD5qGHHjK//PKLMcaYadOmmbp162bZF23btr3m/sLNraj02zfffNO8+OKLxhhjRo0a5bx2MuuNjIw0brfbHDlyxAQFBZnZs2cbY4yZNWuWee6554wxxrz88stmzJgxxuPxmAsXLpiePXua9957L8u4MmXeXrdunalbt67TU95//33TtWtXZ19mvr6zExER4ey3kJAQ53VsjDHNmzc3b7zxhjHGmEOHDpn77rvP7N27N8ftvfLKK+Zvf/tblnFn3m7evLnTny4dS1hYmPO3MH/+fDNgwICr1lsUFJlrxKT/O1S+ePFirVy5UjNnzlR0dLT27dun1atXKyQkxEnkHTt21OHDh5WUlKSKFStqzJgx6tevnzp16qSGDRs66+zQoYMCAgLk5+en8PBwrVmzJss2ExMT1bFjR5UoUUKS1L17d61bty7Ha4Q2b96satWqOUd0atWqpQcffFDff//9DY89MTFRERERzjufZ599VmvXrr3iW59DQkIUFham2bNnKzY2Vhs2bLju05aNGjVSYGCgJOmee+7RqVOndPz4ce3evVsRERGS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vsqUKeO8ydu8eXOWN6XZ8fHxyfZN6MqVK1WmTBmtWbNGK1as0IoVKxQTE6O5c+de1xvjTLmpy9vb23kT6+/vr6ZNm2rixImcliwECGJFxFtvvaX4+HiFhoYqJiZGcXFx8vPz06uvvqovv/xS7du319KlS695avL+++9XWFiYnnrqKXXu3FkvvfSSbr/99izLNG/eXM2aNVNERITatWunypUr65lnnrmhup944gkFBwc766pevbo6d+4sl8ulZs2aKSwsTE2aNNGFCxcUEhKiiIgI3XXXXUpKSrqh7WVq06aN7rvvPnXo0EGRkZHq1auXqlatqrffflt///vfFRoaqnHjxmnatGnZHinLTpcuXXTHHXcoPDxcERER6tSpkxo0aPC76gRwpUWLFqlLly5Z7uvatas2b96sCxcuXPP5r776qnNZxP/+7/8qNjZWFStWVEhIiJKTkxUSEqL4+Hjdc889Oa6nXLlyqly58hVfI5R5kf6lnnzySV24cEGrV6/O5Sj/T27qatKkiUaOHKl///vfkqR27dopMDBQDzzwwHVvD3nLZW4kfuOWMXv2bDVu3Fh33323tm3bphEjRighIcF2WQCAfJKRkaFJkyapXLlyeu6552yXU+RxjVgRV716dQ0cOFBeXl4qVqyY8/UNAIBbU0REhMqUKaPp06fbLgXiiBgAAIA1XCMGAABgCUEMAADAEoIYAACAJQQxAAAASwhiAAAAlhDEAAAALPl/4+zv43wcZSUAAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "fig, axes = plt.subplots(2,2, figsize=(10, 10))\n", "# histogram of total income\n", @@ -1386,9 +1676,20 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 18, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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/fnDH/7Afffdx549ewgJCcEYwyuvvALA1KlTC11WRKQ4bMYYY3UQRaWxFaWbK8cOrh2/K8cOxR9j4WqK8hm58meq2K2h2K2hMWJyy7V6Pe66y79/9fFbHIlI2XX3+E35rj84OvAWRSIiJUFjxEREREQsohYxyVderV4iIiJy49QiJiIiImKRQiViR44coX///gAcP36cfv360b9/fwYNGsRPP/0EQHR0NL179+app55i+/btACQlJTFw4ED69evHyJEjuXLlSp5lRURERMqbArsm3377bd5//31uu+02AGbMmEF4eDjNmjVj1apVvP322/zf//0fS5cuZe3ataSlpdGvXz/at2/PwoUL6datG71792bJkiWsXr2axx9//LplK1asWOIHKyJS1hQ0fECD+UVKtwJbxOrVq8eCBQucryMjI2nWrBkAdrudSpUq8dlnn/HHP/6RihUr4uXlRb169Thx4gSHDh1yzskWGBjI3r178ywrIiIiUt4U2CIWFBTE6dOnna9r1qwJwCeffMKyZctYvnw5u3btwsvrf8/IqFq1KikpKaSkpDiXV61aleTk5BzLri1bkOJOmOvKzx5S7NZx5fhdOXZw/fhFRIqiWHdN/vvf/2bRokUsWbIEHx+f687J5uXl5VxeuXJl5zxteZUtSHEmzC2rD4Yr7fJ77pErdJO48rl35dih/DzQVUQkW5HvmtywYQPLli1j6dKl1K1bF4D777+fQ4cOkZaWRnJyMt988w1NmjShZcuW7Ny5E4C4uDgefPDBPMuKiIiIlDdFahGz2+3MmDGDu+66y9k61apVK1544QX69+9Pv379MMbw4osvUqlSJYYMGUJYWBjR0dFUr16d119/nSpVqly3rIiIiEh5U6hErE6dOkRHRwNw4MCB65Z56qmneOqpp3Isu/POO3n33XcLVVZERESkvNGT9UVPzxcREbGInqwvIiIiYhElYiIiIiIWUSImIiIiYhGNEbtF8huH5QrP1rpZ8joP5ekciIiIZFOLmIiIiIhFlIiJiIiIWERdk1IqqOtWRETKI7WIiYiIiFhEiZiIiIiIRdQ16aJ096GIiIjrU4uYiIiIiEWUiImIiIhYRF2TpZgm4xYRESnb1CImIiIiYhElYiIiIiIWUSImIiIiYhElYiIiIiIWUSImIiIiYhElYiIiIiIW0eMryhE9DkNERKR0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U1ZEpDiUiIlImdW5c2c6duwIwNmzZ7nzzjvZsWPHDc0CkldZHx+ffGMp7kOpS9KteDabKz//TbFbo7zFrkRMRMo0Dw8PwsLC+Oijj5g/fz7bt2+/oVlA8ipbUCJWnIdSl7SSjsGVH6qt2K1RVmPPL0HTYH0RKfNmzZrFhx9+SHh4OGlpac7lxZkFJK+yIiLFoURMRMqs9evXs3jxYgBuu+02bDYbLVq0uKFZQPIqKyJSHOqaFJEy65FHHmHChAk8/fTTZGZmMnHiRBo2bHhDs4DkVVZEpDhsxhhjdRBFVdj+41vd11ycO9REShsr75osL5N+F6VeKsl6paQ/67I63qe0U+zW0BgxERERERejRExERETEIkrERERERCyiRExERETEIkrERERERCyix1eISA753aVXluahFBEpDdQiJiIiImIRJWIiIiIiFlEiJiIiImIRJWIiIiIiFlEiJiIiImIRJWIiIiIiFtHjK0REyqmCJhTX40pESp5axEREREQsokRMRERExCJKxEREREQsokRMRERExCJKxEREREQsokRMRERExCJKxEREREQsokRMRERExCJKxEREREQsokRMRERExCJKxEREREQsUuy5JhcvXsy2bdvIyMigb9++tG7dmvHjx2Oz2WjcuDGTJ0/Gzc2NqKgoduzYgYeHBxMnTuT+++8nISHhumVFREREypNiZT/x8fF8+umnrFy5kqVLl3L+/HlmzpzJyJEjWbFiBcYYtm7dyrFjxzhw4AAxMTFERkYydepUgOuWFRERESlvipWI7d69myZNmjBs2DCef/55OnbsyLFjx2jdujUAgYGB7N27l0OHDuHv74/NZqN27drY7XaSkpKuW1ZERESkvClW1+TFixc5e/Ysb731FqdPn2bIkCEYY7DZbABUrVqV5ORkUlJSqFatmvN92cuvV7YgCxYsICoqCoChQ4cyYsSIQsVao4ZXUQ9PRPJwK75P+s6KSHlSrESsWrVqNGjQgIoVK9KgQQMqVarE+fPnnetTU1Px9vbG09OT1NTUHMu9vLxyjAfLLluQ0NBQQkNDAUhMTCYxseDkrUYNr0KVE5HCKenvU37fWSVoIlIWFatr8sEHH2TXrl0YY7hw4QJXrlyhXbt2xMfHAxAXF4efnx8tW7Zk9+7dOBwOzp49i8PhwMfHh+bNm+cqKyIiIlLeFKtFrFOnThw8eJA+ffpgjCEiIoI6deoQHh5OZGQkDRo0ICgoCHd3d/z8/AgODsbhcBAREQFAWFhYrrIiIiIi5U2xH18xbty4XMuWLVuWa9m1XYrZfH19r1tWREREpDwpdiJWnrV6Pc7qEERERKQM0FNURURERCyiRExERETEIkrERERERCyiRExERETEIkrERERERCyiuyZFROS6CrpD/ODowFsUiUjZpRYxEREREYuoRSwPelaYiIiIlDS1iImIiIhYRImYiIiIiEWUiImIiIhYRImYiIiIiEU0WF9EyqyMjAwmTpzImTNnSE9PZ8iQITRq1HPQf0YAACAASURBVIjx48djs9lo3LgxkydPxs3NjaioKHbs2IGHhwcTJ07k/vvvJyEhodBlRUSKQ4mYiJRZ77//PtWqVeO1117j4sWL9OrVi6ZNmzJy5EjatGlDREQEW7dupXbt2hw4cICYmBjOnTtHaGgoa9euZebMmYUuKyJSHErERKTM6tq1K0FBQc7X7u7uHDt2jNatWwMQGBjInj178PX1xd/fH5vNRu3atbHb7SQlJRWprI+PT76xLFiwgKioKACGDh3KiBEjSuiob50aNbxuSpnSSrFbo7zFrkRMRMqsqlWrApCSksILL7zAyJEjmTVrFjabzbk+OTmZlJQUqlWrluN9ycnJGGMKXbagRCw0NJTQ0FAAEhOTSUxMvqnHaoWCjqFGDS+XPU7Fbo2yGnt+CZoG64tImXbu3DkGDBhAjx496N69O25u/6v2UlNT8fb2xtPTk9TU1BzLvby8ilRWRKQ4lIiJSJn1008/MXDgQMaOHUufPn0AaN68OfHx8QDExcXh5+dHy5Yt2b17Nw6Hg7Nnz+JwOPDx8SlSWRGR4lDXpIiUWW+99RaXLl1i4cKFLFy4EICXXnqJ6dOnExkZSYMGDQgKCsLd3R0/Pz+Cg4NxOBxEREQAEBYWRnh4eKHKiogUh80YY6wOoqgK2398I33NmmtSJLeDowNLdPvFHWPhaopSL5Xmuqig66Gsjvcp7RS7NTRGTERERMTFKBETERERsYgSMRERERGLKBETERERsYgSMRERERGLKBETERERsYgSMRERERGLKBETERERsYgSMRERERGLKBETERERsUi5n2uyNE8fIiIiImVbuU/ERKTw8vrDpaTnoBQRKauUiImISLHk16Og5FykcG5ojNjPP/9Mhw4d+Oabb0hISKBv377069ePyZMn43A4AIiKiqJPnz6EhITw2WefAeRZVkRERKQ8KXYilpGRQUREBJUrVwZg5syZjBw5khUrVmCMYevWrRw7dowDBw4QExNDZGQkU6dOzbOsiIiISHlT7ERs1qxZhISEULNmTQCOHTtG69atAQgMDGTv3r0cOnQIf39/bDYbtWvXxm63k5SUdN2yIiIiIuVNscaIxcbG4uPjQ0BAAEuWLAHAGIPNZgOgatWqJCcnk5KSQrVq1Zzvy15+vbIFWbBgAVFRUQAMHTqUESNGFCrWGjW8inRsIlJ0N/N7pu+siJQnxUrE1q5di81mY9++fRw/fpywsDCSkpKc61NTU/H29sbT05PU1NQcy728vHBzc8tVtiChoaGEhoYCkJiYTGJiwclbjRpehSonIjfmZn3P8vvOKkETkbKoWF2Ty5cvZ9myZSxdupRmzZoxa9YsAgMDiY+PByAuLg4/Pz9atmzJ7t27cTgcnD17FofDgY+PD82bN89VVkRERKS8uWmPrwgLCyM8PJzIyEgaNGhAUFAQ7u7u+Pn5ERwcjMPhICIiIs+yIiIiIuXNDSdiS5cudf5/2bJludZf26WYzdfX97plRURERMoTzTUpIiIiYhElYiIiIiIWUSImIiIiYhElYiIiIiIWUSImIiIiYhElYiIiIiIWUSImIiIiYhElYiIiIiIWUSImIiIiYhElYiIiIiIWUSImIiIiYhElYiIiIiIWUSImIiIiYhElYiIiIiIWUSImIiIiYhElYiIiIiIWUSImIiIiYhElYiIiIiIW8bA6ABERKXtavR6X7/qDowNvUSQipZtaxEREREQsokRMRERExCJKxEREREQsokRMRERExCJKxEREREQsorsmReSG5XeHXGm4O+7IkSPMmTOHpUuXkpCQwPjx47HZbDRu3JjJkyfj5uZGVFQUO3bswMPDg4kTJ3L//fcXqayISHGoRUxEyrS3336bSZMmkZaWBsDMmTMZOXIkK1aswBjD1q1bOXbsGAcOHCAmJobIyEimTp1a5LIiIsWhFjERKdPq1avHggULGDduHADHjh2jdevWAAQGBrJnzx58fX3x9/fHZrNRu3Zt7HY7SUlJRSrr4+OTbxwLFiwgKioKgKFDhzJixIgSPOrSr0YNL6tDKJArxJgXxW6N4sSuRExEyrSgoCBOnz7tfG2MwWazAVC1alWSk5NJSUmhWrVqzjLZy4tStqBELDQ0lNDQUAASE5NJTEy+acfoikr78deo4VXqY8yLYrdGfrHnl6Cpa1JEyhU3t/9Ve6mpqXh7e+Pp6UlqamqO5V5eXkUqKyJSHErERKRcad68OfHx8QDExcXh5+dHy5Yt2b17Nw6Hg7Nnz+JwOPDx8SlSWRGR4lDXpIiUK2FhYYSHhxMZGUmDBg0ICgrC3d0dPz8/goODcTgcREREFLmsiEhx2Iwxxuogiqqw/ceF6WsuaGJaEbkxRXl8RXHHWLiaooyBKat1VGl4rEl+yupYpdKurMaeX/2lFjEREbnlCkowS3uiJnKzaIyYiIiIiEWUiImIiIhYpFhdkxkZGUycOJEzZ86Qnp7OkCFDaNSo0Q1PGyIiIiJSnhQr+3n//fepVq0aK1as4O2332batGk3PG2IiIiISHlTrBaxrl27EhQU5Hzt7u5+w9OGdOnSJd99Fnd6kLJ0p5WIKyrqd1DfWREpT4qViFWtWhWAlJQUXnjhBUaOHMmsWbNuaNqQghRnehBXvg1WpKwoynewvDy+QkQkW7EHZp07d44BAwbQo0cPunfvfsPThoiIiIiUN8VqEfvpp58YOHAgERERtGvXDvjftCFt2rQhLi6Otm3bUq9ePV577TUGDRrE+fPnc00bcm1ZERGRbHrOmJQXxUrE3nrrLS5dusTChQtZuHAhAC+99BLTp08v9rQhIiIiIuWNpjgqo9OHiJQWmuIoN01xdONKukXMlccYK3ZrFLf+0sO7RERERCyiRExERETEIkrERERERCyiRExERETEIkrERERERCxSrMdXiIgUVn53/elZUCJS3qlFTERERMQiSsRERERELKJETERERMQiSsRERERELKJETERERMQiumtSRERcju7GlbKiXCRimjRXRERESiN1TYqIiIhYRImYiIiIiEWUiImIiIhYRImYiIiIiEWUiImIiIhYpFzcNSkiIuVHQXfK6/EWUpqoRUxERETEImoRExGRckUtZlKaqEVMRERExCJqERMREbmGpk+SW0ktYiIiIiIWUSImIiIiYhF1TYqIiBSSBvrLzaYWMRERERGLqEVMRETkJlGLmRSVWsRERERELKIWMRERkVtEj8aQ31KLmIiIiIhF1CImIiJSChQ0vqwgalFzTUrEREREygB1e7om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+vXrnX8s3nHHHWzevJl27doxadIk3njjDdatW0f//v2dXaeQNUPC6tWrGTt2LPPmzeOee+6hT58+9OvX77pJ2JYtW3J0S4aEhDjXHTlyhBkzZhATE8M//vEPatWqRWxsLA0bNmTz5s0AJCYm0qpVKzZu3MgjjzzCK6+8kmP7y5cv5+eff+b9999n9erVbNq0iV27dvHnP//Z2bX7ww8/kJKSQosWLQgLC2P8+PGsW7eOyZMnM2rUKOe2ss/BtUkYZCXE107vExgYSJs2bZgwYQIHDhxwdlVevXqVyZMnM2/ePNatW0dISAhTpkwBYNmyZbz22musX7+e8PBw5s+f79xezZo12bx5M7///e/55JNPeP/991m2bBnHjx8nIyMDgFatWjmT1NJOLWLlmJubm7NVqLD27dvHZ599Ru/evYGsL1Lt2rV58MEHueOOO5yVXOPGjfn111/z3daOHTuoUaMGjRo1whiDm5sb27dvp0uXLuzZs4c5c+YAcN999znn2cueHHb//v1A1vQeJ0+ezPGl//777/nd736XY1/VqlXjxRdfZNGiRc7tQtZfmZ988kmO46lfvz6PP/44Y8aMITo6mu+//57PPvuMRo0aAVl/Rd9///0AtG/fnhdeeIHPP/+cjh070q9fP+e2a9euzffff1+k8ytSGuzdu5eMjAznHz5Xrlzh66+/BrL+wKhatSoAderUKXB8VY0aNbjrrruc2/3qq6/Ys2cPkDUx8pdffskf//hHZ/nAwEBWrlzJH//4R5o1a8bJkye5ePEiu3btYtGiRfkmfn/605+w2Ww0atSIixcv5lpfnDov27333psjWfvDH/4AZI05O336tLPlxRiTY9LtgIAAoHB1IkDnzp2ZMWPGddfdc8891KpVC8iq09q1awdk1TXZ265SpQpPPPEEAD179iQqKirHNvbv389TTz2Fu7s7VapUoVu3buzbt48xY8YQHh7OuXPnWL9+Pb169eLSpUt88cUXhIWFOd9/6dIlkpOTc5yD30pISMhVB0+YMIGOHTuyZMkSKlasCMBXX33F6dOnee6554Csc5edSM2dO5dt27axYcMGPv300xzjybL3W6dOHTIzM3n66afp2LEj48aNo0KFCs5z4ir1rxKxcqxFixasWLECYww2m825PDIykoceeijHsmx2u52//vWv/O1vfwOyvpTu7u5c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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "fig, axes = plt.subplots(1,2, figsize=(10, 5))\n", "# histogram of age\n", @@ -1428,9 +1729,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 19, "metadata": {}, - "outputs": [], + "outputs": [ + { + "ename": "TypeError", + "evalue": "'<' not supported between instances of 'str' and 'int'", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mTypeError\u001b[0m Traceback (most recent call last)", + "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0maxes\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mcount_values_table\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mdata\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mNAME_HOUSING_TYPE\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mplot\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mbar\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 2\u001b[0m \u001b[0maxes\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mset_xlabel\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'Housing Type'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 3\u001b[0m \u001b[0maxes\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mset_ylabel\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'Number of Clients'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 4\u001b[0m \u001b[0maxes\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mset_title\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'Number of Clients By Type of Housing'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m;\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;32m~\\Documents\\Machine_Learning1\\home-credit-default-risk\\tables.py\u001b[0m in \u001b[0;36mcount_values_table\u001b[1;34m(data_series)\u001b[0m\n\u001b[0;32m 13\u001b[0m \u001b[0mcount_val_table\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mpd\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mconcat\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mcount_val\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mcount_val_percent\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mround\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;36m1\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0maxis\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;36m1\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 14\u001b[0m count_val_table_ren_columns = count_val_table.rename(\n\u001b[1;32m---> 15\u001b[1;33m columns = {0 : 'Count Values', 1 : '% of Total Values'})\n\u001b[0m\u001b[0;32m 16\u001b[0m \u001b[0mcount_val_table_ren_columns\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mcount_val_table_ren_columns\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0miloc\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m:\u001b[0m\u001b[1;33m-\u001b[0m\u001b[1;36m1\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 17\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0mcount_val_table_ren_columns\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;32m~\\AppData\\Roaming\\Python\\Python37\\site-packages\\pandas\\util\\_decorators.py\u001b[0m in \u001b[0;36mwrapper\u001b[1;34m(*args, **kwargs)\u001b[0m\n\u001b[0;32m 219\u001b[0m \u001b[1;33m@\u001b[0m\u001b[0mwraps\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mfunc\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 220\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0mwrapper\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m*\u001b[0m\u001b[0margs\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 221\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[0mfunc\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m*\u001b[0m\u001b[0margs\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 222\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 223\u001b[0m \u001b[0mkind\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0minspect\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mParameter\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mPOSITIONAL_OR_KEYWORD\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;32m~\\AppData\\Roaming\\Python\\Python37\\site-packages\\pandas\\core\\frame.py\u001b[0m in \u001b[0;36mrename\u001b[1;34m(self, *args, **kwargs)\u001b[0m\n\u001b[0;32m 4221\u001b[0m \u001b[0mkwargs\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mpop\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"axis\"\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 4222\u001b[0m \u001b[0mkwargs\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mpop\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"mapper\"\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 4223\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[0msuper\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mrename\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 4224\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 4225\u001b[0m \u001b[1;33m@\u001b[0m\u001b[0mSubstitution\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m**\u001b[0m\u001b[0m_shared_doc_kwargs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;32m~\\AppData\\Roaming\\Python\\Python37\\site-packages\\pandas\\core\\generic.py\u001b[0m in \u001b[0;36mrename\u001b[1;34m(self, *args, **kwargs)\u001b[0m\n\u001b[0;32m 1159\u001b[0m \u001b[1;31m# GH 13473\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 1160\u001b[0m \u001b[1;32mif\u001b[0m \u001b[1;32mnot\u001b[0m \u001b[0mcallable\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mv\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 1161\u001b[1;33m \u001b[0mindexer\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0maxes\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0maxis\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mget_indexer_for\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mv\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 1162\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0merrors\u001b[0m \u001b[1;33m==\u001b[0m \u001b[1;34m\"raise\"\u001b[0m \u001b[1;32mand\u001b[0m \u001b[0mlen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mindexer\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mindexer\u001b[0m \u001b[1;33m==\u001b[0m \u001b[1;33m-\u001b[0m\u001b[1;36m1\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 1163\u001b[0m missing_labels = [\n", + "\u001b[1;32m~\\AppData\\Roaming\\Python\\Python37\\site-packages\\pandas\\core\\indexes\\base.py\u001b[0m in \u001b[0;36mget_indexer_for\u001b[1;34m(self, target, **kwargs)\u001b[0m\n\u001b[0;32m 4816\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mis_unique\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 4817\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mget_indexer\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mtarget\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 4818\u001b[1;33m \u001b[0mindexer\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0m_\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mget_indexer_non_unique\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mtarget\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 4819\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0mindexer\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 4820\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;32m~\\AppData\\Roaming\\Python\\Python37\\site-packages\\pandas\\core\\indexes\\base.py\u001b[0m in \u001b[0;36mget_indexer_non_unique\u001b[1;34m(self, target)\u001b[0m\n\u001b[0;32m 4799\u001b[0m \u001b[0mtgt_values\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mtarget\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_ndarray_values\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 4800\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 4801\u001b[1;33m \u001b[0mindexer\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mmissing\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_engine\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mget_indexer_non_unique\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mtgt_values\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 4802\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0mensure_platform_int\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mindexer\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mmissing\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 4803\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n", + "\u001b[1;32mpandas\\_libs\\index.pyx\u001b[0m in \u001b[0;36mpandas._libs.index.IndexEngine.get_indexer_non_unique\u001b[1;34m()\u001b[0m\n", + "\u001b[1;31mTypeError\u001b[0m: '<' not supported between instances of 'str' and 'int'" + ] + } + ], "source": [ "axes = count_values_table(data.NAME_HOUSING_TYPE).plot.bar()\n", "axes.set_xlabel('Housing Type')\n", diff --git a/home-credit-default-risk.zip b/home-credit-default-risk.zip index 2118aa4..68eaaf1 100644 Binary files a/home-credit-default-risk.zip and b/home-credit-default-risk.zip differ