Skip to content

Instantly share code, notes, and snippets.

@neriberto
Last active June 4, 2021 01:01
Show Gist options
  • Save neriberto/7400fd07242e4163ec8afcbf530e0e8e to your computer and use it in GitHub Desktop.
Save neriberto/7400fd07242e4163ec8afcbf530e0e8e to your computer and use it in GitHub Desktop.
Study - Logistic Regression
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"id": "095db93b-6338-4ff5-81df-68cce9dcd377",
"metadata": {},
"source": [
"# Logistic Regression - Exercise"
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "6ed788ee-c72f-4dc4-9fca-2db6de57b95c",
"metadata": {},
"outputs": [],
"source": [
"# !pip install scikit-plot\n",
"\n",
"import numpy as np\n",
"import pandas as pd\n",
"import seaborn as sns\n",
"\n",
"from matplotlib import pyplot as plt\n",
"from sklearn.linear_model import LogisticRegression\n",
"from sklearn.metrics import confusion_matrix, roc_curve\n",
"from sklearn.model_selection import cross_val_score, train_test_split\n",
"from matplotlib import pyplot\n",
"import scikitplot as skplt"
]
},
{
"cell_type": "markdown",
"id": "e674f5c7-9fe6-456e-956a-1fd9c498d107",
"metadata": {},
"source": [
"# Visão Geral do dataset\n",
"\n",
"Dataset retirado do site http://www.saedsayad.com/logistic_regression_exercise.htm"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "8afc299c-2982-4826-9bbb-7a4d1282e1dc",
"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>BUSAGE</th>\n",
" <th>DAYSDELQ</th>\n",
" <th>DEFAULT</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>87</td>\n",
" <td>2</td>\n",
" <td>N</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>89</td>\n",
" <td>2</td>\n",
" <td>N</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>90</td>\n",
" <td>2</td>\n",
" <td>N</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>90</td>\n",
" <td>2</td>\n",
" <td>N</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>101</td>\n",
" <td>2</td>\n",
" <td>N</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" BUSAGE DAYSDELQ DEFAULT\n",
"0 87 2 N\n",
"1 89 2 N\n",
"2 90 2 N\n",
"3 90 2 N\n",
"4 101 2 N"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df = pd.read_csv(\"http://www.saedsayad.com/datasets/credit_scoring.txt\", delimiter = \"\\t\")\n",
"df.head()"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "cb6a15fc-2e59-4500-9f0b-bf724e66500a",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(100, 3)"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.shape"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "3096d632-e689-4e67-995f-ecf9bf6de6aa",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"<class 'pandas.core.frame.DataFrame'>\n",
"RangeIndex: 100 entries, 0 to 99\n",
"Data columns (total 3 columns):\n",
" # Column Non-Null Count Dtype \n",
"--- ------ -------------- ----- \n",
" 0 BUSAGE 100 non-null int64 \n",
" 1 DAYSDELQ 100 non-null int64 \n",
" 2 DEFAULT 100 non-null object\n",
"dtypes: int64(2), object(1)\n",
"memory usage: 2.5+ KB\n"
]
}
],
"source": [
"df.info()"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "3b821005-aef5-433a-8927-46a08a7193eb",
"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>BUSAGE</th>\n",
" <th>DAYSDELQ</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>count</th>\n",
" <td>100.000000</td>\n",
" <td>100.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>mean</th>\n",
" <td>115.930000</td>\n",
" <td>26.500000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>std</th>\n",
" <td>101.810902</td>\n",
" <td>24.457136</td>\n",
" </tr>\n",
" <tr>\n",
" <th>min</th>\n",
" <td>12.000000</td>\n",
" <td>2.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25%</th>\n",
" <td>37.750000</td>\n",
" <td>2.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>50%</th>\n",
" <td>86.500000</td>\n",
" <td>23.500000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>75%</th>\n",
" <td>167.000000</td>\n",
" <td>48.250000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>max</th>\n",
" <td>417.000000</td>\n",
" <td>80.000000</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" BUSAGE DAYSDELQ\n",
"count 100.000000 100.000000\n",
"mean 115.930000 26.500000\n",
"std 101.810902 24.457136\n",
"min 12.000000 2.000000\n",
"25% 37.750000 2.000000\n",
"50% 86.500000 23.500000\n",
"75% 167.000000 48.250000\n",
"max 417.000000 80.000000"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.describe()"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "14d5e662-5867-4a6c-8355-24a620223d07",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<AxesSubplot:>"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"sns.heatmap(df.corr(), annot = True)"
]
},
{
"cell_type": "markdown",
"id": "a06be63a-8419-48c4-8fbf-0d62212a90c7",
"metadata": {},
"source": [
"# Preparando para a Classificação"
]
},
{
"cell_type": "markdown",
"id": "f4b1c921-ba0d-4cbc-a0e2-667e45b073dc",
"metadata": {},
"source": [
"Nossos dados são categóricos, vamos transformar em numéricos"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "6d56a02b-6455-460a-af76-5a6cc9020181",
"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>BUSAGE</th>\n",
" <th>DAYSDELQ</th>\n",
" <th>DEFAULT</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>87</td>\n",
" <td>2</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>89</td>\n",
" <td>2</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>90</td>\n",
" <td>2</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>90</td>\n",
" <td>2</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>101</td>\n",
" <td>2</td>\n",
" <td>0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" BUSAGE DAYSDELQ DEFAULT\n",
"0 87 2 0\n",
"1 89 2 0\n",
"2 90 2 0\n",
"3 90 2 0\n",
"4 101 2 0"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df['DEFAULT'] = df['DEFAULT'].apply(lambda x: 1 if x == 'Y' else 0)\n",
"df.head()"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "809c9060-7217-4884-b0b5-01533b402dc5",
"metadata": {},
"outputs": [],
"source": [
"X = df[['BUSAGE','DAYSDELQ']]\n",
"y = pd.Series(df['DEFAULT'])"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "7792fea5-e855-4cc0-b2cd-5c6fbf972d34",
"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>BUSAGE</th>\n",
" <th>DAYSDELQ</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>87</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>89</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>90</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>90</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>101</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>95</th>\n",
" <td>207</td>\n",
" <td>70</td>\n",
" </tr>\n",
" <tr>\n",
" <th>96</th>\n",
" <td>229</td>\n",
" <td>70</td>\n",
" </tr>\n",
" <tr>\n",
" <th>97</th>\n",
" <td>65</td>\n",
" <td>72</td>\n",
" </tr>\n",
" <tr>\n",
" <th>98</th>\n",
" <td>37</td>\n",
" <td>76</td>\n",
" </tr>\n",
" <tr>\n",
" <th>99</th>\n",
" <td>73</td>\n",
" <td>80</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>100 rows × 2 columns</p>\n",
"</div>"
],
"text/plain": [
" BUSAGE DAYSDELQ\n",
"0 87 2\n",
"1 89 2\n",
"2 90 2\n",
"3 90 2\n",
"4 101 2\n",
".. ... ...\n",
"95 207 70\n",
"96 229 70\n",
"97 65 72\n",
"98 37 76\n",
"99 73 80\n",
"\n",
"[100 rows x 2 columns]"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"X"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "a68d2506-9ce5-44a8-b59d-aa21329a934e",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0 0\n",
"1 0\n",
"2 0\n",
"3 0\n",
"4 0\n",
" ..\n",
"95 1\n",
"96 1\n",
"97 1\n",
"98 1\n",
"99 1\n",
"Name: DEFAULT, Length: 100, dtype: int64"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"y"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "8b39cb4f-f7d9-4ad9-baac-2824d12c6dcb",
"metadata": {},
"outputs": [],
"source": [
"X_train, X_test, y_train, y_test = train_test_split(X, y.to_numpy(), test_size=0.2, random_state=1, stratify=y)"
]
},
{
"cell_type": "markdown",
"id": "e6a99ffe-b96c-4a6e-a8da-24349e71c194",
"metadata": {},
"source": [
"# Treinamento com Logistic Regression"
]
},
{
"cell_type": "code",
"execution_count": 12,
"id": "c06e3581-577e-4a4a-962e-61f5d68ea818",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"LogisticRegression()"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"clf = LogisticRegression(\n",
" C=1.0,\n",
" class_weight=None,\n",
" dual=False,\n",
" fit_intercept=True\n",
")\n",
"clf.fit(X_train, y_train)"
]
},
{
"cell_type": "markdown",
"id": "c4e095bb-3fc8-4101-9ad7-06bb415e2ef3",
"metadata": {},
"source": [
"Estimated coefficients for the linear regression problem :"
]
},
{
"cell_type": "code",
"execution_count": 13,
"id": "7b1e99b2-9b03-4701-8044-c6659b968d3c",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[[0.00787614 0.1207602 ]]\n"
]
}
],
"source": [
"print(clf.coef_)"
]
},
{
"cell_type": "code",
"execution_count": 14,
"id": "93aa3348-1690-4919-8a1d-391f42f8d07a",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.8875\n"
]
}
],
"source": [
"scores = cross_val_score(clf, X_train, y_train, cv=10) \n",
"print(np.mean(scores))"
]
},
{
"cell_type": "markdown",
"id": "d0d24496-8996-4527-9f11-76a85db50c56",
"metadata": {},
"source": [
"# Predizendo usando os dados de teste"
]
},
{
"cell_type": "code",
"execution_count": 15,
"id": "95633ec5-dc1a-44ba-a982-be6232ef61cb",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Predição com valores N: 17\n",
"Predição com valores Y: 3\n",
"Score da predição: 0.8\n"
]
}
],
"source": [
"score = clf.score(X_test, y_test)\n",
"predicted = clf.predict(X_test)\n",
"N = (predicted == 0).sum()\n",
"Y = (predicted == 1).sum()\n",
"\n",
"print(f\"Predição com valores N: {N}\")\n",
"print(f\"Predição com valores Y: {Y}\")\n",
"print(f\"Score da predição: {score}\")"
]
},
{
"cell_type": "markdown",
"id": "f778d090-a57c-41ce-8ef8-b56c147934f3",
"metadata": {},
"source": [
"#### Adicionando predicted no Dataframe de teste"
]
},
{
"cell_type": "code",
"execution_count": 16,
"id": "a055467f-e068-42f7-aba4-b2871570736a",
"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>BUSAGE</th>\n",
" <th>DAYSDELQ</th>\n",
" <th>Default</th>\n",
" <th>predicted</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>81</th>\n",
" <td>417</td>\n",
" <td>13</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>77</th>\n",
" <td>61</td>\n",
" <td>48</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>75</th>\n",
" <td>100</td>\n",
" <td>26</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>72</th>\n",
" <td>277</td>\n",
" <td>60</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>64</th>\n",
" <td>36</td>\n",
" <td>34</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>110</td>\n",
" <td>2</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>115</td>\n",
" <td>2</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>62</th>\n",
" <td>12</td>\n",
" <td>32</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>94</th>\n",
" <td>350</td>\n",
" <td>39</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td>202</td>\n",
" <td>2</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>190</td>\n",
" <td>2</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>89</td>\n",
" <td>2</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>83</th>\n",
" <td>42</td>\n",
" <td>57</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>37</th>\n",
" <td>23</td>\n",
" <td>7</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>74</th>\n",
" <td>12</td>\n",
" <td>11</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>117</td>\n",
" <td>2</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>150</td>\n",
" <td>2</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>183</td>\n",
" <td>2</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25</th>\n",
" <td>322</td>\n",
" <td>2</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>50</th>\n",
" <td>60</td>\n",
" <td>28</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" BUSAGE DAYSDELQ Default predicted\n",
"81 417 13 1 0\n",
"77 61 48 1 0\n",
"75 100 26 1 0\n",
"72 277 60 0 1\n",
"64 36 34 0 0\n",
"5 110 2 0 0\n",
"6 115 2 0 0\n",
"62 12 32 0 0\n",
"94 350 39 1 1\n",
"20 202 2 0 0\n",
"18 190 2 0 0\n",
"1 89 2 0 0\n",
"83 42 57 1 1\n",
"37 23 7 0 0\n",
"74 12 11 0 0\n",
"9 117 2 0 0\n",
"12 150 2 0 0\n",
"16 183 2 0 0\n",
"25 322 2 0 0\n",
"50 60 28 0 0"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"teste = X_test.copy()\n",
"teste['Default'] = y_test\n",
"teste['predicted'] = predicted\n",
"teste.head(20)"
]
},
{
"cell_type": "markdown",
"id": "ad7cc681-972b-411c-92b0-f2963f57342e",
"metadata": {},
"source": [
"Confusion matrix"
]
},
{
"cell_type": "code",
"execution_count": 25,
"id": "f5e8b7d1-01d4-4c8e-8873-c07421dc92bd",
"metadata": {},
"outputs": [
{
"ename": "ValueError",
"evalue": "Found input variables with inconsistent numbers of samples: [20, 80]",
"output_type": "error",
"traceback": [
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[1;31mValueError\u001b[0m Traceback (most recent call last)",
"\u001b[1;32m<ipython-input-25-74a738fe99be>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0mcf_matrix\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mconfusion_matrix\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0my_test\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mpredicted\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[0msns\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mheatmap\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mcf_matrix\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mannot\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mTrue\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mfmt\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;34m''\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mcmap\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;34m'Blues'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32mc:\\users\\nerib\\appdata\\local\\programs\\python\\python39\\lib\\site-packages\\sklearn\\utils\\validation.py\u001b[0m in \u001b[0;36minner_f\u001b[1;34m(*args, **kwargs)\u001b[0m\n\u001b[0;32m 61\u001b[0m \u001b[0mextra_args\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mlen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0margs\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;33m-\u001b[0m \u001b[0mlen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mall_args\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 62\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mextra_args\u001b[0m \u001b[1;33m<=\u001b[0m \u001b[1;36m0\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 63\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[0mf\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 64\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 65\u001b[0m \u001b[1;31m# extra_args > 0\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32mc:\\users\\nerib\\appdata\\local\\programs\\python\\python39\\lib\\site-packages\\sklearn\\metrics\\_classification.py\u001b[0m in \u001b[0;36mconfusion_matrix\u001b[1;34m(y_true, y_pred, labels, sample_weight, normalize)\u001b[0m\n\u001b[0;32m 294\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 295\u001b[0m \"\"\"\n\u001b[1;32m--> 296\u001b[1;33m \u001b[0my_type\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0my_true\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0my_pred\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0m_check_targets\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0my_true\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0my_pred\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 297\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0my_type\u001b[0m \u001b[1;32mnot\u001b[0m \u001b[1;32min\u001b[0m \u001b[1;33m(\u001b[0m\u001b[1;34m\"binary\"\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m\"multiclass\"\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 298\u001b[0m \u001b[1;32mraise\u001b[0m \u001b[0mValueError\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"%s is not supported\"\u001b[0m \u001b[1;33m%\u001b[0m \u001b[0my_type\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32mc:\\users\\nerib\\appdata\\local\\programs\\python\\python39\\lib\\site-packages\\sklearn\\metrics\\_classification.py\u001b[0m in \u001b[0;36m_check_targets\u001b[1;34m(y_true, y_pred)\u001b[0m\n\u001b[0;32m 81\u001b[0m \u001b[0my_pred\u001b[0m \u001b[1;33m:\u001b[0m \u001b[0marray\u001b[0m \u001b[1;32mor\u001b[0m \u001b[0mindicator\u001b[0m \u001b[0mmatrix\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 82\u001b[0m \"\"\"\n\u001b[1;32m---> 83\u001b[1;33m \u001b[0mcheck_consistent_length\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0my_true\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0my_pred\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 84\u001b[0m \u001b[0mtype_true\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mtype_of_target\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0my_true\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 85\u001b[0m \u001b[0mtype_pred\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mtype_of_target\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0my_pred\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32mc:\\users\\nerib\\appdata\\local\\programs\\python\\python39\\lib\\site-packages\\sklearn\\utils\\validation.py\u001b[0m in \u001b[0;36mcheck_consistent_length\u001b[1;34m(*arrays)\u001b[0m\n\u001b[0;32m 260\u001b[0m \u001b[0muniques\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0munique\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mlengths\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 261\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mlen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0muniques\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[1;32m--> 262\u001b[1;33m raise ValueError(\"Found input variables with inconsistent numbers of\"\n\u001b[0m\u001b[0;32m 263\u001b[0m \" samples: %r\" % [int(l) for l in lengths])\n\u001b[0;32m 264\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;31mValueError\u001b[0m: Found input variables with inconsistent numbers of samples: [20, 80]"
]
}
],
"source": [
"cf_matrix = confusion_matrix(y_test, predicted)\n",
"sns.heatmap(cf_matrix, annot=True, fmt='', cmap='Blues')"
]
},
{
"cell_type": "markdown",
"id": "948c3a64-7cdb-43e4-b06b-7d518c5d97d6",
"metadata": {},
"source": [
"Lift Curve"
]
},
{
"cell_type": "code",
"execution_count": 18,
"id": "f7cd45be-8cfc-4d63-8a17-0c61a8dd90fc",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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9Z2q6/DhwzRu3BiA3NxcRo4cSd++fenZsycff/wxAEeOHOH888+nV69e9OjRg7fffhuAJUuWMGzYMFJTUxk9ejQ7d+486fxpaWlkZGQAkJCQwCOPPEKvXr0YOHDgiTEQ9u3bx6WXXkr//v3p378/3377bbXL40vvCCojWwesVyoSHTt2jN69e5OXl8fOnTv56quvAIiPj+fDDz+kYcOG7Nu3j4EDBzJu3Dg+++wzWrduzSeffALYfogKCgq48847+fjjj2nevDlvv/02jzzyyCk7mzty5AgDBw7kiSee4P777+fFF1/k97//Pffffz/33HMP55xzDtu2bWP06NGsXbu2xuXURFAZekeglOuMMSWWy+t9dNKkSUyaNMkv1/R9NLRw4UImTJjAqlWrMMbw8MMPM3/+fKKiosjKymL37t307NmT3/72tzzwwANccMEFDBkyhFWrVrFq1SrOO+88AIqKimjVqtUpr1unTh0uuOACAFJTU5k7dy5g+y/asGHDif0OHz5Mbm4uCQk16/ImoIlARMYA/wKigZeMMU+V2h4H/BdIBfYDVxhjtgQypmrRimKlIt6gQYPYt28fe/fuZfbs2ezdu5clS5YQGxtLSkoKeXl5dOnShaVLlzJ79mx+//vfM3LkSC655BK6d+/OwoULK32t2NjYE4+xoqOjKSy0Y6V7PB6+//77E11d+0vA6ghEJBp4DvgF0A24SkS6ldrtJuCgMaYT8AzwdKDiqRG9I1Aq4v30008UFRXRtGlTsrOzadGiBbGxscybN4+tW23PAzt27KBevXpce+213HfffSxdupTTTz+dvXv3nkgEBQUFrF69uloxjBgxgn//+98nlovvVmoqkHcEZwEbjTGbAURkBnAR4Pt+1EXAY878e8BkERFT+h7QbdqGQKmIVFxHAPbR1GuvvUZ0dDTXXHMNF154IT179qRfv3507doVgJUrV3LfffcRFRVFbGwszz//PHXq1OG9997jN7/5DdnZ2RQWFnL33XdXq3vpv/3tbzzwwAOceeaZFBYWMnToUKZMmVLjckqg/uaKyHhgjDHmZmf5OmCAMeYOn31WOftkOsubnH32lTrXJGASQFJSUuqMGTOqFVO1nqUZwznfXElMUR4A35w9ncLYhtW6vhv88fww1GiZw0NiYiKdOnUqd3tRURHR0dFBjMh9lS3zxo0byc4u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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"target_prob = clf.predict_proba(X_test)\n",
"skplt.metrics.plot_lift_curve(y_test, target_prob)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"id": "cd843e93-794b-4705-949a-800da94416fa",
"metadata": {},
"source": [
"ROC Curves"
]
},
{
"cell_type": "code",
"execution_count": 19,
"id": "3c4b3013-edfb-4302-9ed0-7e4971eaec4c",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAYIAAAEGCAYAAABo25JHAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAAAvRElEQVR4nO3deXgV5fXA8e9JWMISAiHsIYR9R8AAIiKbskmhgoqCCuqv1BaXilVwR60VKy51aRUFRKpVi6gRVKzKpoKAiiFsyp6wEyAsIZDl/P6YG3qFkNyQTG7uvefzPHlyZ+aduWcCybnvvDPnFVXFGGNM6ArzdwDGGGP8yxKBMcaEOEsExhgT4iwRGGNMiLNEYIwxIa6cvwMoqpiYGI2Pj/d3GMYYE1C+//77A6paK79tAZcI4uPjWbVqlb/DMMaYgCIi28+1zS4NGWNMiLNEYIwxIc4SgTHGhDhLBMYYE+IsERhjTIhzLRGIyAwR2SciyefYLiLygohsEpEkEensVizGGGPOzc0ewRvAwAK2DwKae77GAf90MZbQlLIClj7jfDfGBDYXf59de45AVZeISHwBTYYBb6pTB3u5iFQXkXqqututmEJKygqYORhys0DCoE47qFjN31EZY85DTmY6YfvWIqpQLgLGJELDriV2fH+OETQAUryWUz3rziIi40RklYis2r9/f6kEF/C2LXWSAIDmQma6f+MxxpyX9BNZ7N231/k9RiHnlPP7XYIC4sliVZ0GTANISEiwmXR8Ed/T6QloLpSrBCNeL9FPEMYYd6WfyOLJT9bzzsYUBlffwYtZkwnPzYLwCs7vdwnyZyLYCTT0Wo71rDMloWFX53JQZrolAWMCTE6uMuKf37Jl/zF+36sJd102kPA9Fzo9gfieJf777M9EkAjcJiLvAN2AdBsfKGEVqzlflgSMCQiHjp+ieuXyhIcJf+7fkvrVI+gQW93Z2LCra7/LriUCEfk30BuIEZFU4BGgPICqvgJ8AgwGNgEZwE1uxWKMMWWZqvLh6p08+vE6Jg5sxXVd4xjYrm6pvb+bdw1dV8h2Bca79f7GGBMIdh0+wQMfrGHhxv10iqtOQqMapR5DQAwWG2NMMPpo9U4e+CCZnFzl4SFtGHNxPOFhUupxWCIwxhg/iapUno4Nq/Pk8PY0jK7stzgsERhjTCnJzsll+tdbycrJ5ba+zendsja9WtRCpPR7Ad4sERhjTClYt+sIE99PYs3OdK7oUA9VRUT8ngTAEoExxrjqZHYOL321iX8u2kz1yuX5x+jODGpXt0wkgDyWCIwxxkXbDmTwyuLNDO1Yn4euaEONKhX8HdJZLBEYY0wJO34ym/+u28tvOzWgZd1IvpzQm7ia/hsMLowlAmOMKUFLf9nPfXPXsPPwCdo1qEaz2pFlOgmAJQJjjCkR6RlZPPHJOt5blUqTmCq8O647zWpH+jssn1giMMaYYsrJVUa88i1bDxznj72bcke/5kSUD/d3WD6zRGCMMefp4PFTVK/kFIm7Z0BLGlSvRLsGUf4Oq8hs8npjjCkiVeX971PpM3UR76x05tca0LZuQCYBsB6BMcYUSeqhDO7/IJklP+/nwkY16No42t8hFZslAmOM8dEHP6by4AfJKPDo0LbccFEjwvxQJK6kWSIwxhgfRVepyIXx0fz1ynbE1ijbt4QWhSUCY4w5h6ycXF5buoXsHOWOfs3p1aIWlzaPKVPlIUqCJQJjjMlH8s50Jr6fxNpdR/jNBfXLVJG4kmaJwBhjvGRm5fDCl7/w6pIt1KhcgVeu78zAdvX8HZarLBEYY4yX7WkZvLZ0C8M7NeDBK9oQVbm8v0NynSUCY0zIO34ymwVr9zC8cywt60by1d29/TpjWGmzRGCMCWmLf97P/XPXsCv9BB1io2hWOzKkkgBYIjDGhKhDx0/x+Px1zP1hJ01rVeE/vw+cInElzRKBMSbk5BWJ256WwW19mnFb32YBVSSupFkiMMaEjLRjJ6lRuQLhYcKkga1oUKMSbesHZn2gkmRF54wxQU9VeW9VCn2mLuLfK3cA0L9tXUsCHtYjMMYEtZSDGdz/wRqW/nKArvHRdG9S098hlTmWCIwxQWvuD6k8+GEyAjz+23aM7hoXFEXiSpolAmNM0IqpWpGujaN54sr2NKheyd/hlFmWCIwxQSMrJ5dXF28mJxfuvKw5l7aoxaUtavk7rDLPEoExJigk70znnjlJrN99hGEd/1ckzhTOEoExJqBlZuXw/Be/8NrSLURXqcCrN1zIgLZ1/R1WQHH19lERGSgiG0Vkk4hMymd7nIgsFJEfRSRJRAa7GY8xJvjsOJjB9K+3cFXnWL64q5clgfPgWiIQkXDgZWAQ0Aa4TkTanNHsQeA9Ve0EXAv8w614XJGyApY+43wvi04egfSUshufMefpaGYW/1nlTBrfok4kC//cm6eu6hASlULd4Oaloa7AJlXdAiAi7wDDgHVebRSo5nkdBexyMZ6SlbICZg6G3CyQMKjTDipWK3y/0nLyCOxJcl7PGgpjEqFhV//GZEwJWLhhHw98sIY9RzLpFFedZrUjg2raSH9w89JQAyDFaznVs87bZOB6EUkFPgFuz+9AIjJORFaJyKr9+/e7EWvRbVvqJAEAzYXMdP/GcybveHJOOfEaE8AOHj/FXe+u5qY3VlKlYjnm/OHikC0SV9L8PVh8HfCGqj4jIt2B2SLSTlVzvRup6jRgGkBCQoL6Ic6zxfd0egKaC+UqwYjXy9Yn7pQVTk8g5xSEV3DiNSZA5eQqV/3zW3YczOCOfs0Z36cpFcuFbpG4kuZmItgJNPRajvWs83YLMBBAVZeJSAQQA+xzMa6S0bCrczkoM73sJQFw4hmT6PQE4nuWvfiM8cH+oyepWcUpEnf/4NY0qFGJ1vXK0CXYIOHmpaGVQHMRaSwiFXAGgxPPaLMD6AcgIq2BCKCMXPvxQcVqENWw7P6RbdgVet5dduMz5hxUlXdX7qDvM4t4e4VTJO6yNnUsCbjEtR6BqmaLyG3AAiAcmKGqa0XkMWCVqiYCdwOvichdOAPHY1W1bFz6Mcb4xY60DCbNTeLbzWl0axzNJc1i/B1S0HN1jEBVP8EZBPZe97DX63VADzdjMMYEjjnfp/LQh8mEhwlPXNmO67pYkbjS4O/BYmOMOa1OtYpc3LQmf7myHfWirEhcabFEYIzxm1PZufxz0WZyVbnr8hb0bF6Lns2tSFxps0RgjPGLn1IOc++cJDbuPcrwTg2sSJwfWSIwxpSqE6dyePa/G5n+9VZqR0bw+o0JXNamjr/DCmmWCIwxpSrlUAazvt3OtV3jmDSoFdUirD6Qv1kiMMa47khmFp8l7+GahIa0qBPJont6U99mDCszLBEYY1z11Ya93D83mX1HM+kcV4NmtataEihjLBEYY1yRduwkj81bx0erd9GyTiSv3HAhzWpX9XdYJh+WCIwxJS4nV7n6lWWkHMrgrsta8IfeTalQztV5sEwxWCIwxpSYfUczialSkfAw4YErWhNbozIt61qp6LLO5xQtIjbzgzEmX7m5ylvfbafv1MW85SkS1691HUsCAaLQRCAiF4vIOmCDZ/kCEQmsKSWNMa7ZduA4o15fzgMfJNMhNope9mRwwPHl0tBzwAA8JaRV9ScRudTVqIwxAeG9VSk89GEyFcLDmDK8PSO7NLSngwOQT2MEqppyxj9ujjvhGGMCSYPqlbi0RS0eH9aOulER/g7HnCdfEkGKiFwMqIiUB+4E1rsbljGmLDqZncM/Fm5GVZnQvyU9msXQw+YLCHi+JIJbgb/jTDy/E/gc+KObQRljyp4fdxxi4vtJ/Lz3GCM6x1qRuCDiSyJoqaqjvVeISA/gG3dCMsaUJRmnsnnm85+Z8c1W6laLYMbYBPq2siJxwcSXRPAi0NmHdcaYILTz0AlmL9/O6G5xTBzYikgrEhd0zpkIRKQ7cDFQS0QmeG2qhjMHsTEmSKWfyOLTNbu5tmsczetEsvie3jZjWBArqEdQAajqaeP9VMgR4Co3gzLG+M/na/fw4IfJpB0/RUJ8NM1qV7UkEOTOmQhUdTGwWETeUNXtpRiTMcYPDhw7yeTEtcxL2k2rupG8PibBisSFCF/GCDJE5GmgLXD6RmFV7etaVMaYUpWTq1z1z2/ZdTiTP/dvwe97NaV8uBWJCxW+JIK3gHeBITi3ko4B9rsZlDGmdOw9kkmtqk6RuEd+05bYGpVoXsfqA4UaX1J+TVWdDmSp6mJVvRmw3oAxASw3V5m9fDv9nlnMW985V377tKptSSBE+dIjyPJ83y0iVwC7gGj3QjLGuGnL/mNMmruGFVsPckmzGHq3rO3vkIyf+ZII/iIiUcDdOM8PVAP+5GZQxhh3vLtyBw9/tJaK5cL421UduPrCWHs62BSeCFR1nudlOtAHTj9ZbIwJMLE1KtO7pVMkrnY1KxJnHAU9UBYOXINTY+gzVU0WkSHA/UAloFPphGiMOV8ns3N48ctNAPx5gBWJM/krqEcwHWgIrABeEJFdQAIwSVU/LIXYjDHF8P32g9w7J4nN+49zTYIViTPnVlAiSAA6qGquiEQAe4CmqppWOqEZY87H8ZPZPL1gI7OWbaN+VCVm3dyVXi1s1jBzbgXdPnpKVXMBVDUT2FLUJCAiA0Vko4hsEpFJ52hzjYisE5G1IvJ2UY5vjDnbrsMneHvFDm68qBEL7rrUkoApVEE9glYikuR5LUBTz7IAqqodCjqwZ4zhZeByIBVYKSKJqrrOq01z4D6gh6oeEhG7j82Y85CekcX8NbsZ1c0pErf03j7UscFg46OCEkHrYh67K7BJVbcAiMg7wDBgnVeb3wEvq+ohAFXdV8z3NCbkfJa8h4c+Subg8VN0axJN01pVLQmYIimo6FxxC801AFK8llOBbme0aQEgIt/glLaerKqfnXkgERkHjAOIi4srZljGBId9RzOZnLiWT9bsoU29aswc24WmtaxInCk6nyavd/n9mwO9gVhgiYi0V9XD3o1UdRowDSAhIUFLOUZjypycXOWaV5axKz2Tewa0ZNylTaxInDlvbiaCnTi3n+aJ9azzlgp8p6pZwFYR+RknMax0MS5jAtbu9BPUiYxwisQNbUvDGpWtVLQpNp8+QohIJRFpWcRjrwSai0hjEakAXAskntHmQ5zeACISg3OpaEsR38eYoJebq7zxzVb6PbOYf+UViWtZ25KAKRGFJgIR+Q2wGvjMs9xRRM78g34WVc0GbgMWAOuB91R1rYg8JiJDPc0WAGkisg5YCNxjzykY82ub9h3jmleXMfnjdSTER9O3ld1cZ0qWL5eGJuPcAbQIQFVXi0hjXw6uqp8An5yx7mGv1wpM8HwZY87wzoodPJy4lkrlw3nm6gsY3rmBPR1sSpxPZahVNf2M/3w2YGtMKYirWZnLWtfm0aHtqBVZ0d/hmCDlSyJYKyKjgHDPA2B3AN+6G5YxoSkzK4cXvvwFgHsHtuLipjFc3NSKxBl3+TJYfDvOfMUngbdxylH/ycWYjAlJq7YdZPALS/nHos0cPH4K58qpMe7zpUfQSlUfAB5wOxhjQtGxk9k8/dkG3ly+nQbVK/HmzV251OoDmVLkSyJ4RkTqAnOAd1U12eWYjAkpe9JP8M7KFMZ0j+eeAS2pUtHfz3maUFPopSFV7YMzM9l+4FURWSMiD7oemTFB7NDxU8xe7jwP0Ky2UyRu8tC2lgSMX/j0QJmq7lHVF4BbcZ4peLjgPYwx+VFVPlmzm8ufW8yjiWvZvP8YgE0bafyq0I8fItIaGAmMANKAd3EmsjfGFMG+I5k89FEyC9bupX2DKN68uZsViTNlgi/90Bk4f/wHqOoul+MxJijl5CpXv7qMPemZ3DeoFbdc0phyViTOlBGFJgJV7V4agRgTjHYdPkHdak6RuMeGtaNhjUo0sV6AKWPO+ZFERN7zfF8jIkleX2u8Zi4zxuQjJ1eZeUaRuF4talkSMGVSQT2COz3fh5RGIMYEi037jnLvnCR+2HGY3i1r0a91HX+HZEyBCpqhbLfn5R9VdaL3NhF5Cph49l7GhLa3v9vB5MS1VKkYznMjL+C3Ha1InCn7fBmtujyfdYNKOhBjgkF8TGX6t63Dfyf04spOsZYETEA4Z49ARP4A/BFocsaYQCTwjduBGRMIMrNyeO6LnxGESYOsSJwJTAWNEbwNfAo8CUzyWn9UVQ+6GpUxAeC7LWlMmruGrQeOM7pbHKpqPQATkApKBKqq20Rk/JkbRCTakoEJVUczs3jqsw38a/kO4qIr8/b/dePiZtYLMIGrsB7BEOB7nIlovD/qKNDExbiMKbP2HjnJnO9T+b9LGjOhfwsqV7D6QCawFXTX0BDPd5+mpTQmmB08for5Sbu4oXs8zWpXZem9fW3GMBM0fKk11ANYrarHReR6oDPwvKrucD06Y/xMVZmXtJvJiWs5kplFj2YxNKlV1ZKACSq+3D76TyBDRC7AKTa3GZjtalTGlAF7j2Tyuze/5/Z//0iDGpX4+PZL7MlgE5R8ubiZraoqIsOAl1R1uojc4nZgxvhTTq5yjadI3AODW3NTj3grEmeCli+J4KiI3AfcAPQUkTCgvLthGeMfqYcyqBdVifAw4fFh7YiLrkx8TBV/h2WMq3z5iDMSZ+L6m1V1DxALPO1qVMaUspxc5fWlW7js2cX8yzNz2KUtalkSMCHBlzLUe0TkLaCLiAwBVqjqm+6HZkzp2LjnKPe+n8RPKYfp16o2/dtakTgTWny5a+ganB7AIpxnCV4UkXtUdY7LsRnjun8t386jH68lMqI8f7+2I0MvqG9PB5uQ48sYwQNAF1XdByAitYAvAEsEJmDllYNoVrsqg9vX4+EhbahZ1W4JNaHJl0QQlpcEPNLwcdJ7Y8qaE6dyePa/GwkLE+4b1JqLmtTkoiY1/R2WMX7lSyL4TEQWAP/2LI8EPnEvJGPcsWxzGpPmJrE9LYMbLmpkReKM8fBlsPgeERkOXOJZNU1VP3A3LGNKzpHMLJ78ZAP/XrGDRjUr8/bvulmpaGO8FDQfQXNgKtAUWAP8WVV3llZgxpSUfUdO8uGPOxl3aRPuuqwFlSqE+zskY8qUgq71zwDmASNwKpC+WNSDi8hAEdkoIptEZFIB7UaIiIpIQlHfw5j8pB07yRvfbAWgWe2qfD2xD/cPbm1JwJh8FHRpKFJVX/O83igiPxTlwCISDryMM9VlKrBSRBJVdd0Z7SKBO4HvinJ8Y/KjqiT+tIvJiWs5djKbS1vUokmtqnZHkDEFKCgRRIhIJ/43D0El72VVLSwxdAU2qeoWABF5BxgGrDuj3ePAU8A9RYzdmF/ZdfgED36YzFcb9tGxYXX+dlUHKxJnjA8KSgS7gWe9lvd4LSvQt5BjNwBSvJZTgW7eDUSkM9BQVeeLyDkTgYiMA8YBxMXFFfK2JhRl5+Ry7bTl7D96koeGtGHsxfGEh9kdQcb4oqCJafq4+cae4nXPAmMLa6uq04BpAAkJCepmXCawpBzMoH71SpQLD+OvV7YnLroycTUr+zssYwKKmw+G7QQaei3HetbliQTaAYtEZBtwEZBoA8bGF9k5uUxbspnLnl3M7GXbALikeYwlAWPOg5uTra4EmotIY5wEcC0wKm+jqqYDp2/mFpFFOLeornIxJhME1u8+wsT3k0hKTefyNnUY1L6ev0MyJqC5lghUNVtEbgMWAOHADFVdKyKPAatUNdGt9zbBa/aybTz68TqiKpXnpVGduKJ9PXs62Jhi8qX6qACjgSaq+piIxAF1VXVFYfuq6iecUY5CVR8+R9vePkVsQlJeOYgWdSL5zQX1eWhIG6KrVPB3WMYEBV96BP8AcnHuEnoMOAq8D3RxMS5jAMg4lc3UBT9TLly4f3BrujWpSTcrEmdMifJlsLibqo4HMgFU9RBgH8WM677ZdIABzy9hxjdbOZWdi6rdMGaMG3zpEWR5nhJWOD0fQa6rUZmQln4ii7/OX8+7q1JoHFOF937fna6No/0dljFBy5dE8ALwAVBbRJ4ArgIedDUqE9IOHDvJx0m7uLVXU/50WXMiylt9IGPc5EsZ6rdE5HugH055id+q6nrXIzMhZf/Rk3z80y5uvqQxTWtV5euJfW0w2JhS4stdQ3FABvCx9zpV3eFmYCY0qCofrt7Jox+vI+NkDn1a1aZxTBVLAsaUIl8uDc3HGR8QIAJoDGwE2roYlwkBOw+f4IEP1rBo4346xzlF4hrHVPF3WMaEHF8uDbX3XvYUivujaxGZkOAUiVtG2rFTTP5NG27obkXijPGXIj9ZrKo/iEi3wlsac7YdaRk0qOEUiZsyvANx0ZVpGG31gYzxJ1/GCCZ4LYYBnYFdrkVkglJ2Ti6vLd3Kc1/8zH2DWnFTj8b0aGbzBhtTFvjSI4j0ep2NM2bwvjvhmGC0dlc6E99PInnnEQa0rcMVViTOmDKlwETgeZAsUlX/XErxmCAz69ttPD5vHdUrV+CfoztbpVBjyqBzJgIRKeepINqjNAMywSGvSFyrupEM69iAh4a0pnpluyXUmLKooB7BCpzxgNUikgj8Bziet1FV57ocmwlAx09m8/SCjZQPFx64oo0ViTMmAPgyRhABpOFUH817nkABSwTmV5b8vJ/75q5hV/oJxnSPP90rMMaUbQUlgtqeO4aS+V8CyGNlIM1p6RlZPD5/HXO+T6VJLadIXJd4KxJnTKAoKBGEA1X5dQLIY4nAnHbg+Ek+XbObP/Zuyh39rEicMYGmoESwW1UfK7VITEDZdzSTxNW7+L+eTU4Xiath9YGMCUgFJQK7uGvOoqq8/8NOHp+3jhNZOfRrXYfGMVUsCRgTwApKBP1KLQoTEFIOZnD/B2tY+ssBEhrVYMoIKxJnTDA4ZyJQ1YOlGYgp27JzcrnuteUcOn6Kx4e1ZXS3RoRZkThjgkKRi86Z0LLtwHEaRlemXHgYf7vKKRIXW8OKxBkTTHyZvN6EoKycXF5euIn+zy3hzWXbALi4aYwlAWOCkPUIzFmSd6Zz75wk1u0+whXt6zGkQ31/h2SMcZElAvMrM7/Zyl/mrye6SgVeuf5CBrar6++QjDEus0RggP8ViWtbP4rhnRrw4BVtiKpc3t9hGWNKgSWCEHfsZDZ/+2wDFcLDeHBIG7o2jqZrYysPYUwoscHiELZo4z4GPLeE2cu3ozi9AmNM6LEeQQg6dPwUj89fx9wfdtKsdlXm3HoxFzaq4e+wjDF+YokgBB3KOMXna/dyR99mjO/bjIrlrEicMaHM1UtDIjJQRDaKyCYRmZTP9gkisk5EkkTkSxFp5GY8oWzfkUymLdmMqtKkVlW+mdiXCf1bWhIwxriXCDzzHb8MDALaANeJSJszmv0IJKhqB2AO8De34glVqsp7K1Po9+xinvn8Z7alZQDYHUHGmNPcvDTUFdikqlsAROQdYBiwLq+Bqi70ar8cuN7FeEJOysEM7pu7hq83HaBr42imDG9vReKMMWdxMxE0AFK8llOBbgW0vwX4NL8NIjIOGAcQFxdXUvEFtbwicYczsvjLb9sxqmucFYkzxuSrTAwWi8j1QALQK7/tqjoNmAaQkJBg9zgWYOuB48R5isQ9fdUFNKpZmfrVK/k7LGNMGebmYPFOoKHXcqxn3a+IyGXAA8BQVT3pYjxBLSsnlxe//IUBzy1h1rfbAOjetKYlAWNModzsEawEmotIY5wEcC0wyruBiHQCXgUGquo+F2MJakmph7l3ThIb9hzlNxfUZ2hHKxJnjPGda4lAVbNF5DZgARAOzFDVtSLyGLBKVROBp4GqwH9EBGCHqg51K6ZgNOPrrfxl/jpqRVbktRsTuLxNHX+HZIwJMK6OEajqJ8AnZ6x72Ov1ZW6+fzDLKxLXITaKkV0aMmlQa6Iq2S2hxpiiKxODxcZ3RzOzmPLpBiqWC+fh37QhIT6ahHgrEmeMOX9WdC6ALNywj/7PLeHfK3ZQLlysSJwxpkRYjyAAHDx+isc+XsuHq3fRok5V/jH6YjrFWZE4Y0zJsEQQANJPZPHl+n3c2a854/s0o0I568gZY0qOJYIyak96Jh+u3snvL21C45gqfD2prw0GG2NcYYmgjFFV3lmZwl/nrycrN5eBbesSH1PFkoAxxjWWCMqQ7WnHmfT+GpZtSeOiJtFMGd6BeCsSZ8xpWVlZpKamkpmZ6e9QyqyIiAhiY2MpX973D4+WCMqI7JxcRr32Heknsvjrle25tktDKxJnzBlSU1OJjIwkPj4ez0OoxouqkpaWRmpqKo0bN/Z5P0sEfrZ5/zEaeYrEPXONUySuXpTVBzImP5mZmZYECiAi1KxZk/379xdpP7v9xE9OZefy/Bc/M/D5Jby5bDsAFzWpaUnAmEJYEijY+fx8rEfgB6tTDjNxThIb9x5lWMf6/LZTA3+HZIwJYdYjKGXTv97K8H98Q/qJLKaPSeDv13YiukoFf4dljPGRiHD33XefXp46dSqTJ0/2ef+9e/cyZMgQLrjgAtq0acPgwYMBWLRoEUOGDDmrfWJiIlOmTAFg8uTJTJ06FYCxY8cyZ86cYpzJ/1iPoJTkFYnr2DCKa7vGMWlQK6pF2C2hxgSaihUrMnfuXO677z5iYmKKvP/DDz/M5Zdfzp133glAUlJSge2HDh3K0KHuFmW2ROCyI5lZPPnJBiLKh/HIb9pyYaNoLmxkReKMKQkjX1121rohHepxQ/d4TpzKYezMFWdtv+rCWK5OaMjB46f4w7++/9W2d3/fvdD3LFeuHOPGjeO5557jiSee+NW2bdu2cfPNN3PgwAFq1arFzJkzz5ped/fu3fTv3//0cocOHc56j5UrVzJu3DjmzJnD0qVLWbVqFS+99FKhsZ0vuzTkoi/W7eXyZxfz7sodVCgXZkXijAkS48eP56233iI9Pf1X62+//XbGjBlDUlISo0eP5o477sh331tuuYU+ffrwxBNPsGvXrl9t//bbb7n11lv56KOPaNq0qavnkcd6BC5IO3aSRz9eR+JPu2hVN5JpNyRwQcPq/g7LmKBT0Cf4ShXCC9weXaWCTz2A/FSrVo0bb7yRF154gUqV/nen37Jly5g7dy4AN9xwA/fee+9Z+w4YMIAtW7bw2Wef8emnn9KpUyeSk5MBWL9+PePGjePzzz+nfv3Sm2nQegQuOJqZzcKN+7jrshYk3naJJQFjgtCf/vQnpk+fzvHjx4u8b3R0NKNGjWL27Nl06dKFJUuWAFCvXj0iIiL48ccfSzrcAlkiKCG7Dp/g5YWbUFXiY6rwzaS+3HlZc6sUakyQio6O5pprrmH69Omn11188cW88847ALz11lv07NnzrP2++uorMjIyADh69CibN28+PY5QvXp15s+fz3333ceiRYvcPwkP+ytVTIryr+Xb6f/cEl76ahPb05x/YLsjyJjgd/fdd3PgwIHTyy+++CIzZ86kQ4cOzJ49m7///e9n7fP999+TkJBAhw4d6N69O//3f/9Hly5dTm+vU6cO8+bNY/z48Xz33Xelch4SaAOYCQkJumrVKn+HAcCJaQPZcuAYVxy5jx7NavLklR2Iq1nZ32EZE7TWr19P69at/R1GmZffz0lEvlfVhPza22DxecrOyWX97iPkqPK3ER24OiHWHn03xgQkSwRFtGnfUeJrVqFceBjNalclonw4Xbo09HdYxhhz3myMwEcns3N49r8/M/D5pczyFImrFlGeCuH2IzTGBDbrEfjghx2HmDgniV/2HWN4pwYMtyJxxpggYomgEK8t2cJfP11PvWoRzLypC31a1vZ3SMYYU6IsEZxDbq4SFiZ0blSd0d3imDiwFZF2S6gxJgjZBe4zpJ/I4t45P/Hox2sBuLBRNH/5bXtLAsYYAKpWrVrsY6xatSrfOkR5tm3bxttvv+1z++KyHoGXBWv38NCHyaQdP8XvL21yunS0MSaApayAbUshvic07OrvaABISEggISHfW/qB/yWCUaNG+dS+uCwRAAeOneSRj9Yyf81u2tSrxoyxXWjXIMrfYRljCvLpJNizpuA2J4/A3mTQXJAwqNMOKlY7d/u67WHQlCKHsnr1am699VYyMjJo2rQpM2bMoEaNGqxcuZJbbrmFsLAwLr/8cj799FOSk5NZtGgRU6dOZd68eSxevPj03AQiwpIlS5g0aRLr16+nY8eOjBkzhk6dOp1uf+zYMW6//XZWrVqFiPDII48wYsSIIsfszS4NAccys1n6y37uGdCSj27rYUnAmGCRme4kAXC+Z6YX3P483XjjjTz11FMkJSXRvn17Hn30UQBuuukmXn31VVavXk14eHi++06dOpWXX36Z1atXs3TpUipVqsSUKVPo2bMnq1ev5q677vpV+8cff5yoqCjWrFlDUlISffv2LXb8Idsj2Hn4BB/8kMr4Ps2Ij6nCt/f1o2rFkP1xGBN4fPnknrICZg2FnFMQXgFGvF7il4fS09M5fPgwvXr1AmDMmDFcffXVHD58mKNHj9K9u1PqetSoUcybN++s/Xv06MGECRMYPXo0w4cPJzY2tsD3++KLL04XtgOoUaNGsc/B1R6BiAwUkY0isklEJuWzvaKIvOvZ/p2IxLsZDzh3A81eto3+zy7m5YWbTxeJsyRgTBBq2BXGJELfB5zvZWSMwNukSZN4/fXXOXHiBD169GDDhg2lHoNriUBEwoGXgUFAG+A6EWlzRrNbgEOq2gx4DnjKrXhIWUHaZ0/y0EszeOijtXRuVIPP77qU+Jgq53/Mk0cgPcX51GGMKZsadoWed7uWBKKioqhRowZLly4FYPbs2fTq1Yvq1asTGRl5uoKo96d4b5s3b6Z9+/ZMnDiRLl26sGHDBiIjIzl69Gi+7S+//HJefvnl08uHDh0q9jm4+TG4K7BJVbcAiMg7wDBgnVebYcBkz+s5wEsiIlrSJVFTVqAzBxKdm8NjCHfXakmNsJrIR8W4I+jkEdjjmXR61tAy+2nDGFOyMjIyfnX5ZsKECcyaNev0YHGTJk2YOXMmANOnT+d3v/sdYWFh9OrVi6ios8cfn3/+eRYuXEhYWBht27Zl0KBBhIWFER4ezgUXXMDYsWPp1KnT6fYPPvgg48ePp127doSHh/PII48wfPjwYp2Tm4mgAZDitZwKdDtXG1XNFpF0oCZwwLuRiIwDxgFnTQTtk21LkVxnwCgMJTr8BFDM20K9B51yTjm3p1kiMCbo5Xr+lpxp+fLlZ61r27YtSUnOB8YpU6acvgW0d+/e9O7dG3DmMMjPV1999avlvPZVq1Zl1qxZ5xP6OQXEhXFVnQZMA2c+giIfIL4nlIuAnFNISQ0YnTkIFX/2TETGmNA2f/58nnzySbKzs2nUqBFvvPGGv0PKl5uJYCfgXZ851rMuvzapIlIOiALSSjySvAGjknyoxI1jGmOCysiRIxk5cqS/wyiUm4lgJdBcRBrj/MG/Fhh1RptEYAywDLgK+KrExwfyNOxa8n+s3TimMaZA9sR/wc7nT6hrdw2pajZwG7AAWA+8p6prReQxERnqaTYdqCkim4AJwFm3mBpjTJ6IiAjS0tLO649dKFBV0tLSiIiIKNJ+NmexMSZgZGVlkZqaSmZmpr9DKbMiIiKIjY2lfPlfF8q0OYuNMUGhfPnyNG7c2N9hBB2rNWSMMSHOEoExxoQ4SwTGGBPiAm6wWET2A9vPc/cYznhqOQTYOYcGO+fQUJxzbqSqtfLbEHCJoDhEZNW5Rs2DlZ1zaLBzDg1unbNdGjLGmBBnicAYY0JcqCWCaf4OwA/snEODnXNocOWcQ2qMwBhjzNlCrUdgjDHmDJYIjDEmxAVlIhCRgSKyUUQ2ichZFU1FpKKIvOvZ/p2IxPshzBLlwzlPEJF1IpIkIl+KSCN/xFmSCjtnr3YjRERFJOBvNfTlnEXkGs+/9VoRebu0YyxpPvzfjhORhSLyo+f/92B/xFlSRGSGiOwTkeRzbBcRecHz80gSkc7FflNVDaovIBzYDDQBKgA/AW3OaPNH4BXP62uBd/0ddymccx+gsuf1H0LhnD3tIoElwHIgwd9xl8K/c3PgR6CGZ7m2v+MuhXOeBvzB87oNsM3fcRfznC8FOgPJ59g+GPgUZ77di4Dvivuewdgj6ApsUtUtqnoKeAcYdkabYUDepJ9zgH4S2DNdFHrOqrpQVTM8i8txZowLZL78OwM8DjwFBEPdYl/O+XfAy6p6CEBV95VyjCXNl3NWoJrndRSwqxTjK3GqugQ4WECTYcCb6lgOVBeResV5z2BMBA2AFK/lVM+6fNuoM4FOOlCzVKJzhy/n7O0WnE8UgazQc/Z0mRuq6vzSDMxFvvw7twBaiMg3IrJcRAaWWnTu8OWcJwPXi0gq8Alwe+mE5jdF/X0vlM1HEGJE5HogAejl71jcJCJhwLPAWD+HUtrK4Vwe6o3T61siIu1V9bA/g3LZdcAbqvqMiHQHZotIO1XN9XdggSIYewQ7gYZey7Gedfm2EZFyON3JtFKJzh2+nDMichnwADBUVU+WUmxuKeycI4F2wCIR2YZzLTUxwAeMffl3TgUSVTVLVbcCP+MkhkDlyznfArwHoKrLgAic4mzByqff96IIxkSwEmguIo1FpALOYHDiGW0SgTGe11cBX6lnFCZAFXrOItIJeBUnCQT6dWMo5JxVNV1VY1Q1XlXjccZFhqpqIM9z6sv/7Q9xegOISAzOpaItpRhjSfPlnHcA/QBEpDVOIthfqlGWrkTgRs/dQxcB6aq6uzgHDLpLQ6qaLSK3AQtw7jiYoaprReQxYJWqJgLTcbqPm3AGZa71X8TF5+M5Pw1UBf7jGRffoapD/RZ0Mfl4zkHFx3NeAPQXkXVADnCPqgZsb9fHc74beE1E7sIZOB4byB/sROTfOMk8xjPu8QhQHkBVX8EZBxkMbAIygJuK/Z4B/PMyxhhTAoLx0pAxxpgisERgjDEhzhKBMcaEOEsExhgT4iwRGGNMiLNEYMokEckRkdVeX/EFtD1WAu/3hohs9bzXD54nVIt6jNdFpI3n9f1nbPu2uDF6jpP3c0kWkY9FpHoh7TsGejVO4z67fdSUSSJyTFWrlnTbAo7xBjBPVeeISH9gqqp2KMbxih1TYccVkVnAz6r6RAHtx+JUXb2tpGMxwcN6BCYgiEhVzzwKP4jIGhE5q9KoiNQTkSVen5h7etb3F5Flnn3/IyKF/YFeAjTz7DvBc6xkEfmTZ10VEZkvIj951o/0rF8kIgkiMgWo5InjLc+2Y57v74jIFV4xvyEiV4lIuIg8LSIrPTXmf+/Dj2UZnmJjItLVc44/isi3ItLS8yTuY8BITywjPbHPEJEVnrb5VWw1ocbftbfty77y+8J5Kna15+sDnKfgq3m2xeA8VZnXoz3m+X438IDndThOvaEYnD/sVTzrJwIP5/N+bwBXeV5fDXwHXAisAargPJW9FugEjABe89o3yvN9EZ45D/Ji8mqTF+OVwCzP6wo4VSQrAeOABz3rKwKrgMb5xHnM6/z+Awz0LFcDynleXwa873k9FnjJa/+/Atd7XlfHqUVUxd//3vbl36+gKzFhgsYJVe2YtyAi5YG/isilQC7OJ+E6wB6vfVYCMzxtP1TV1SLSC2eykm88pTUq4HySzs/TIvIgTp2aW3Dq13ygqsc9McwFegKfAc+IyFM4l5OWFuG8PgX+LiIVgYHAElU94bkc1UFErvK0i8IpFrf1jP0richqz/mvB/7r1X6WiDTHKbNQ/hzv3x8YKiJ/9ixHAHGeY5kQZYnABIrRQC3gQlXNEqeiaIR3A1Vd4kkUVwBviMizwCHgv6p6nQ/vcY+qzslbEJF++TVS1Z/FmetgMPAXEflSVR/z5SRUNVNEFgEDgJE4E62AM9vU7aq6oJBDnFDVjiJSGaf+znjgBZwJeBaq6pWegfVF59hfgBGqutGXeE1osDECEyiigH2eJNAHOGvOZXHmYd6rqq8Br+NM97cc6CEiedf8q4hICx/fcynwWxGpLCJVcC7rLBWR+kCGqv4Lp5hffnPGZnl6Jvl5F6dQWF7vApw/6n/I20dEWnjeM1/qzDZ3B3C3/K+Uel4p4rFeTY/iXCLLswC4XTzdI3Gq0poQZ4nABIq3gAQRWQPcCGzIp01v4CcR+RHn0/bfVXU/zh/Gf4tIEs5loVa+vKGq/oAzdrACZ8zgdVX9EWgPrPBconkE+Es+u08DkvIGi8/wOc7EQF+oM/0iOIlrHfCDOJOWv0ohPXZPLEk4E7P8DXjSc+7e+y0E2uQNFuP0HMp7YlvrWTYhzm4fNcaYEGc9AmOMCXGWCIwxJsRZIjDGmBBnicAYY0KcJQJjjAlxlgiMMSbEWSIwxpgQ9//aMcxEW92EogAAAABJRU5ErkJggg==\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"lr_probs = target_prob[:, 1]\n",
"ns_probs = [0 for _ in range(len(y_test))]\n",
"ns_fpr, ns_tpr, _ = roc_curve(y_test, ns_probs)\n",
"lr_fpr, lr_tpr, _ = roc_curve(y_test, lr_probs)\n",
"# plot the roc curve for the model\n",
"pyplot.plot(ns_fpr, ns_tpr, linestyle='--', label='No Skill')\n",
"pyplot.plot(lr_fpr, lr_tpr, marker='.', label='Logistic')\n",
"# axis labels\n",
"pyplot.xlabel('False Positive Rate')\n",
"pyplot.ylabel('True Positive Rate')\n",
"# show the legend\n",
"pyplot.legend()\n",
"# show the plot\n",
"pyplot.show()"
]
},
{
"cell_type": "markdown",
"id": "4930aaca-f52d-4feb-9c6b-f12e247ed6b1",
"metadata": {},
"source": [
"# Predizendo nos dados de treinamento"
]
},
{
"cell_type": "code",
"execution_count": 20,
"id": "ea98dfeb-3a4c-41d3-a2b8-fd8b037b428b",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Predição com valores N: 59\n",
"Predição com valores Y: 21\n",
"Score da predição: 0.8875\n"
]
}
],
"source": [
"score = clf.score(X_train, y_train)\n",
"predicted = clf.predict(X_train)\n",
"N = (predicted == 0).sum()\n",
"Y = (predicted == 1).sum()\n",
"\n",
"print(f\"Predição com valores N: {N}\")\n",
"print(f\"Predição com valores Y: {Y}\")\n",
"print(f\"Score da predição: {score}\")"
]
},
{
"cell_type": "markdown",
"id": "3fe7fb39-f5ff-4c0f-9cd3-fb261072319b",
"metadata": {},
"source": [
"#### Adicionando predicted no Dataframe de treinamento"
]
},
{
"cell_type": "code",
"execution_count": 21,
"id": "c1dfb5ae-2176-4cd1-9cd0-d247cb2ad596",
"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>BUSAGE</th>\n",
" <th>DAYSDELQ</th>\n",
" <th>Default</th>\n",
" <th>predicted</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>52</th>\n",
" <td>12</td>\n",
" <td>29</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>31</th>\n",
" <td>38</td>\n",
" <td>4</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>68</th>\n",
" <td>88</td>\n",
" <td>53</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>88</th>\n",
" <td>12</td>\n",
" <td>60</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>69</th>\n",
" <td>27</td>\n",
" <td>60</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>41</th>\n",
" <td>41</td>\n",
" <td>12</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>86</th>\n",
" <td>47</td>\n",
" <td>59</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>27</th>\n",
" <td>415</td>\n",
" <td>2</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>34</th>\n",
" <td>30</td>\n",
" <td>5</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>115</td>\n",
" <td>2</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>47</th>\n",
" <td>18</td>\n",
" <td>22</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>54</th>\n",
" <td>38</td>\n",
" <td>30</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>65</th>\n",
" <td>26</td>\n",
" <td>46</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>115</td>\n",
" <td>2</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>70</th>\n",
" <td>84</td>\n",
" <td>60</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>60</th>\n",
" <td>12</td>\n",
" <td>31</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>79</th>\n",
" <td>24</td>\n",
" <td>49</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>45</th>\n",
" <td>12</td>\n",
" <td>19</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>201</td>\n",
" <td>2</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>90</td>\n",
" <td>2</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>23</th>\n",
" <td>220</td>\n",
" <td>2</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>78</th>\n",
" <td>343</td>\n",
" <td>28</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>90</th>\n",
" <td>36</td>\n",
" <td>64</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>99</th>\n",
" <td>73</td>\n",
" <td>80</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>67</th>\n",
" <td>116</td>\n",
" <td>46</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>92</th>\n",
" <td>17</td>\n",
" <td>66</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>32</th>\n",
" <td>200</td>\n",
" <td>4</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>21</th>\n",
" <td>207</td>\n",
" <td>2</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>170</td>\n",
" <td>2</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>183</td>\n",
" <td>2</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>29</th>\n",
" <td>12</td>\n",
" <td>4</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>51</th>\n",
" <td>86</td>\n",
" <td>28</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>95</th>\n",
" <td>207</td>\n",
" <td>70</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26</th>\n",
" <td>399</td>\n",
" <td>2</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>39</th>\n",
" <td>89</td>\n",
" <td>10</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>84</th>\n",
" <td>26</td>\n",
" <td>58</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>22</th>\n",
" <td>212</td>\n",
" <td>2</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>85</th>\n",
" <td>42</td>\n",
" <td>59</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>58</th>\n",
" <td>132</td>\n",
" <td>30</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>30</th>\n",
" <td>12</td>\n",
" <td>4</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>166</td>\n",
" <td>2</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>63</th>\n",
" <td>27</td>\n",
" <td>32</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>61</th>\n",
" <td>24</td>\n",
" <td>31</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>87</td>\n",
" <td>2</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>28</th>\n",
" <td>326</td>\n",
" <td>3</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>49</th>\n",
" <td>15</td>\n",
" <td>28</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>82</th>\n",
" <td>275</td>\n",
" <td>54</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>48</th>\n",
" <td>43</td>\n",
" <td>25</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>35</th>\n",
" <td>44</td>\n",
" <td>5</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>149</td>\n",
" <td>2</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>46</th>\n",
" <td>267</td>\n",
" <td>20</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>93</th>\n",
" <td>85</td>\n",
" <td>69</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>55</th>\n",
" <td>46</td>\n",
" <td>30</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>90</td>\n",
" <td>2</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>57</th>\n",
" <td>77</td>\n",
" <td>30</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>97</th>\n",
" <td>65</td>\n",
" <td>72</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>38</th>\n",
" <td>152</td>\n",
" <td>7</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>89</th>\n",
" <td>49</td>\n",
" <td>62</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>36</th>\n",
" <td>131</td>\n",
" <td>5</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>80</th>\n",
" <td>43</td>\n",
" <td>53</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" BUSAGE DAYSDELQ Default predicted\n",
"52 12 29 0 0\n",
"31 38 4 0 0\n",
"68 88 53 0 1\n",
"88 12 60 1 1\n",
"69 27 60 0 1\n",
"41 41 12 0 0\n",
"86 47 59 1 1\n",
"27 415 2 0 0\n",
"34 30 5 0 0\n",
"8 115 2 0 0\n",
"47 18 22 0 0\n",
"54 38 30 0 0\n",
"65 26 46 0 0\n",
"7 115 2 0 0\n",
"70 84 60 0 1\n",
"60 12 31 0 0\n",
"79 24 49 1 0\n",
"45 12 19 0 0\n",
"19 201 2 0 0\n",
"3 90 2 0 0\n",
"23 220 2 0 0\n",
"78 343 28 1 0\n",
"90 36 64 1 1\n",
"99 73 80 1 1\n",
"67 116 46 0 0\n",
"92 17 66 1 1\n",
"32 200 4 0 0\n",
"21 207 2 0 0\n",
"15 170 2 0 0\n",
"17 183 2 0 0\n",
"29 12 4 0 0\n",
"51 86 28 0 0\n",
"95 207 70 1 1\n",
"26 399 2 0 0\n",
"39 89 10 0 0\n",
"84 26 58 1 1\n",
"22 212 2 0 0\n",
"85 42 59 1 1\n",
"58 132 30 0 0\n",
"30 12 4 0 0\n",
"14 166 2 0 0\n",
"63 27 32 0 0\n",
"61 24 31 0 0\n",
"0 87 2 0 0\n",
"28 326 3 0 0\n",
"49 15 28 0 0\n",
"82 275 54 1 1\n",
"48 43 25 0 0\n",
"35 44 5 0 0\n",
"11 149 2 0 0\n",
"46 267 20 0 0\n",
"93 85 69 1 1\n",
"55 46 30 0 0\n",
"2 90 2 0 0\n",
"57 77 30 0 0\n",
"97 65 72 1 1\n",
"38 152 7 0 0\n",
"89 49 62 1 1\n",
"36 131 5 0 0\n",
"80 43 53 1 0"
]
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"teste = X_train.copy()\n",
"teste['Default'] = y_train\n",
"teste['predicted'] = predicted\n",
"teste.head(60)"
]
},
{
"cell_type": "markdown",
"id": "ba25613d-4f01-4768-bc7c-33e99588c28b",
"metadata": {},
"source": [
"Confusion matrix"
]
},
{
"cell_type": "code",
"execution_count": 22,
"id": "dfbfe34f-93a9-4f48-b22b-813e068bf5d9",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<AxesSubplot:>"
]
},
"execution_count": 22,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"cf_matrix = confusion_matrix(y_train, predicted)\n",
"sns.heatmap(cf_matrix, annot=True, fmt='', cmap='Blues')"
]
},
{
"cell_type": "markdown",
"id": "44d057b5-81b7-4b13-8cb2-0cf29ee2b9db",
"metadata": {},
"source": [
"Lift Curve"
]
},
{
"cell_type": "code",
"execution_count": 23,
"id": "d0c861f7-741e-4cfc-91df-e3e04884c952",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"target_prob = clf.predict_proba(X_train)\n",
"skplt.metrics.plot_lift_curve(y_train, target_prob)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"id": "013dd459-f556-45d0-bfca-1d9be4286e2e",
"metadata": {},
"source": [
"Roc Curve"
]
},
{
"cell_type": "code",
"execution_count": 24,
"id": "4b657779-2a7a-4636-add1-450ae39032e0",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"lr_probs = target_prob[:, 1]\n",
"ns_probs = [0 for _ in range(len(y_train))]\n",
"ns_fpr, ns_tpr, _ = roc_curve(y_train, ns_probs)\n",
"lr_fpr, lr_tpr, _ = roc_curve(y_train, lr_probs)\n",
"# plot the roc curve for the model\n",
"pyplot.plot(ns_fpr, ns_tpr, linestyle='--', label='No Skill')\n",
"pyplot.plot(lr_fpr, lr_tpr, marker='.', label='Logistic')\n",
"# axis labels\n",
"pyplot.xlabel('False Positive Rate')\n",
"pyplot.ylabel('True Positive Rate')\n",
"# show the legend\n",
"pyplot.legend()\n",
"# show the plot\n",
"pyplot.show()"
]
}
],
"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.9.1"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment