{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Data science experiments on credit cards dataset\n",
"\n",
"This notebook attempts to simulate the model training code a data scientist may provide as input to the ML architecture."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"First, import libraries and load the data."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" Unnamed: 0 \n",
" Age \n",
" Annual_Income \n",
" Credit_Score \n",
" Loan_Amount \n",
" Loan_Duration_Years \n",
" Number_of_Open_Accounts \n",
" Had_Past_Default \n",
" Loan_Approval \n",
" \n",
" \n",
" \n",
" \n",
" 0 \n",
" 0 \n",
" 35.0 \n",
" 107770.0 \n",
" 331.0 \n",
" 31580.0 \n",
" 28 \n",
" 13.0 \n",
" 0 \n",
" 0 \n",
" \n",
" \n",
" 1 \n",
" 1 \n",
" 52.0 \n",
" NaN \n",
" 636.0 \n",
" 9012.0 \n",
" 5 \n",
" 14.0 \n",
" 0 \n",
" 1 \n",
" \n",
" \n",
" 2 \n",
" 2 \n",
" 56.0 \n",
" 160017.0 \n",
" 809.0 \n",
" 45310.0 \n",
" 19 \n",
" 13.0 \n",
" 1 \n",
" 1 \n",
" \n",
" \n",
" 3 \n",
" 3 \n",
" 52.0 \n",
" 41654.0 \n",
" 422.0 \n",
" 47966.0 \n",
" 17 \n",
" 7.0 \n",
" 1 \n",
" 0 \n",
" \n",
" \n",
" 4 \n",
" 4 \n",
" 30.0 \n",
" 73198.0 \n",
" 414.0 \n",
" 35636.0 \n",
" 2 \n",
" 3.0 \n",
" 1 \n",
" 1 \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Unnamed: 0 Age Annual_Income Credit_Score Loan_Amount \\\n",
"0 0 35.0 107770.0 331.0 31580.0 \n",
"1 1 52.0 NaN 636.0 9012.0 \n",
"2 2 56.0 160017.0 809.0 45310.0 \n",
"3 3 52.0 41654.0 422.0 47966.0 \n",
"4 4 30.0 73198.0 414.0 35636.0 \n",
"\n",
" Loan_Duration_Years Number_of_Open_Accounts Had_Past_Default \\\n",
"0 28 13.0 0 \n",
"1 5 14.0 0 \n",
"2 19 13.0 1 \n",
"3 17 7.0 1 \n",
"4 2 3.0 1 \n",
"\n",
" Loan_Approval \n",
"0 0 \n",
"1 1 \n",
"2 1 \n",
"3 0 \n",
"4 1 "
]
},
"execution_count": 1,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import os\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"import pandas as pd\n",
"from sklearn.model_selection import train_test_split, RandomizedSearchCV\n",
"from sklearn.compose import ColumnTransformer\n",
"from sklearn.preprocessing import StandardScaler\n",
"from sklearn.pipeline import Pipeline\n",
"from sklearn.ensemble import GradientBoostingClassifier\n",
"from sklearn.metrics import classification_report, ConfusionMatrixDisplay\n",
"\n",
"# Path to the raw training data\n",
"_data_root = '../data'\n",
"_data_filename = \"dataset.csv\"\n",
"_data_filepath = os.path.join(_data_root, _data_filename)\n",
"dataframe = pd.read_csv(_data_filepath)\n",
"dataframe.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Print dataset info and description using `pandas`."
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"RangeIndex: 1000 entries, 0 to 999\n",
"Data columns (total 9 columns):\n",
" # Column Non-Null Count Dtype \n",
"--- ------ -------------- ----- \n",
" 0 Unnamed: 0 1000 non-null int64 \n",
" 1 Age 950 non-null float64\n",
" 2 Annual_Income 970 non-null float64\n",
" 3 Credit_Score 960 non-null float64\n",
" 4 Loan_Amount 980 non-null float64\n",
" 5 Loan_Duration_Years 1000 non-null int64 \n",
" 6 Number_of_Open_Accounts 990 non-null float64\n",
" 7 Had_Past_Default 1000 non-null int64 \n",
" 8 Loan_Approval 1000 non-null int64 \n",
"dtypes: float64(5), int64(4)\n",
"memory usage: 70.4 KB\n"
]
}
],
"source": [
"dataframe.info()"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" Unnamed: 0 \n",
" Age \n",
" Annual_Income \n",
" Credit_Score \n",
" Loan_Amount \n",
" Loan_Duration_Years \n",
" Number_of_Open_Accounts \n",
" Had_Past_Default \n",
" Loan_Approval \n",
" \n",
" \n",
" \n",
" \n",
" count \n",
" 1000.000000 \n",
" 950.000000 \n",
" 970.000000 \n",
" 960.000000 \n",
" 980.000000 \n",
" 1000.000000 \n",
" 990.000000 \n",
" 1000.00000 \n",
" 1000.000000 \n",
" \n",
" \n",
" mean \n",
" 499.500000 \n",
" 44.357895 \n",
" 113529.173196 \n",
" 574.825000 \n",
" 28061.729592 \n",
" 14.832000 \n",
" 7.348485 \n",
" 0.51000 \n",
" 0.514000 \n",
" \n",
" \n",
" std \n",
" 288.819436 \n",
" 15.268179 \n",
" 49879.543788 \n",
" 154.573626 \n",
" 12962.369681 \n",
" 8.424057 \n",
" 3.967101 \n",
" 0.50015 \n",
" 0.500054 \n",
" \n",
" \n",
" min \n",
" 0.000000 \n",
" 18.000000 \n",
" 30060.000000 \n",
" 301.000000 \n",
" 5006.000000 \n",
" 1.000000 \n",
" 1.000000 \n",
" 0.00000 \n",
" 0.000000 \n",
" \n",
" \n",
" 25% \n",
" 249.750000 \n",
" 31.000000 \n",
" 67129.750000 \n",
" 442.000000 \n",
" 17662.250000 \n",
" 8.000000 \n",
" 4.000000 \n",
" 0.00000 \n",
" 0.000000 \n",
" \n",
" \n",
" 50% \n",
" 499.500000 \n",
" 45.000000 \n",
" 113365.500000 \n",
" 574.500000 \n",
" 28201.500000 \n",
" 15.000000 \n",
" 7.000000 \n",
" 1.00000 \n",
" 1.000000 \n",
" \n",
" \n",
" 75% \n",
" 749.250000 \n",
" 58.000000 \n",
" 159608.000000 \n",
" 707.000000 \n",
" 38693.750000 \n",
" 22.000000 \n",
" 11.000000 \n",
" 1.00000 \n",
" 1.000000 \n",
" \n",
" \n",
" max \n",
" 999.000000 \n",
" 69.000000 \n",
" 199991.000000 \n",
" 849.000000 \n",
" 49989.000000 \n",
" 29.000000 \n",
" 14.000000 \n",
" 1.00000 \n",
" 1.000000 \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Unnamed: 0 Age Annual_Income Credit_Score Loan_Amount \\\n",
"count 1000.000000 950.000000 970.000000 960.000000 980.000000 \n",
"mean 499.500000 44.357895 113529.173196 574.825000 28061.729592 \n",
"std 288.819436 15.268179 49879.543788 154.573626 12962.369681 \n",
"min 0.000000 18.000000 30060.000000 301.000000 5006.000000 \n",
"25% 249.750000 31.000000 67129.750000 442.000000 17662.250000 \n",
"50% 499.500000 45.000000 113365.500000 574.500000 28201.500000 \n",
"75% 749.250000 58.000000 159608.000000 707.000000 38693.750000 \n",
"max 999.000000 69.000000 199991.000000 849.000000 49989.000000 \n",
"\n",
" Loan_Duration_Years Number_of_Open_Accounts Had_Past_Default \\\n",
"count 1000.000000 990.000000 1000.00000 \n",
"mean 14.832000 7.348485 0.51000 \n",
"std 8.424057 3.967101 0.50015 \n",
"min 1.000000 1.000000 0.00000 \n",
"25% 8.000000 4.000000 0.00000 \n",
"50% 15.000000 7.000000 1.00000 \n",
"75% 22.000000 11.000000 1.00000 \n",
"max 29.000000 14.000000 1.00000 \n",
"\n",
" Loan_Approval \n",
"count 1000.000000 \n",
"mean 0.514000 \n",
"std 0.500054 \n",
"min 0.000000 \n",
"25% 0.000000 \n",
"50% 1.000000 \n",
"75% 1.000000 \n",
"max 1.000000 "
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"dataframe.describe()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Plot class balance."
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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h3X33XfrrLPOktvt1iWXXKJt27Y5z8vNzdWSJUvCPte///1vxcXFaefOnZKkyspKjRkzRsnJyfL5fCoqKlJra2tEXwMA38AAOKnMmTPHTJ8+vdf+lpYWk5iYaObPn2/27t1rqqurzbBhw8zy5cudNU888YR58sknzTvvvGPeeOMNM3XqVJOdnW16enqMMcbs37/fSDIXXHCB+ctf/mL27dtnfvzjH5sRI0aY7u7ubzVfe3u7SUpKMrt37zZffvml8Xq95rnnngtbM2LECJOcnGzKysrMvn37zH333WdiYmLM9u3bnTWSTFpamlm/fr3Zt2+fufPOO01MTIx56623wmYdOXKkefLJJ837779vPvroI7N69WqTkpJiNm/ebN5++21TUlJi4uLizDvvvGOMMeb+++83Z599tjl8+LDzue6//35z5plnOl+HiooK88wzz5j33nvPvPTSS+byyy83hYWFzvqdO3caSaatre1bfU0A9EagACeZYwXKHXfcYc4///ywb7wPPPCAGTJkiPON90itra1Gktm1a5cx5v++6T/00EPOmj179hhJZu/evd9qvgcffNBccsklzuPbbrvNzJ49O2zNiBEjzDXXXBO277rrrguLAElm3rx5YWvGjh1rfvGLX4TNWl5eHrbG7/eb3/zmN2H7LrvsMjN//nznnGNjY80LL7zgHM/NzTW33377Mc/p1VdfNZJMR0eHMYZAAfoCb/EAg8TevXuVm5srl8vl7Bs/frwOHjyolpYWSdJ7772noqIinXPOOUpJSVFGRoYk6cMPPwz7WKNGjXL+PXz4cEn61m9xVFRU6Prrr3ceX3/99Xrqqad6/cRLbm5ur8d79+6NeM2YMWOcf7e3t+vjjz/W+PHjw9aMHz/eed7pp5+u/Px8PfbYY5Kk/fv366WXXtLs2bOd9W+88YamT5+uESNGKDk5WXl5eZJ6f50AHD8CBRgkjDFhcfLVPknO/qlTp+rTTz/V+vXr9corr+iVV16RJHV1dYU97///Ybevnnv48OFvnOGtt97SK6+8opKSEsXGxio2NlaXX365Ojs7tXnz5m98/pHzf5s1SUlJ37jmyK/N7Nmz9cQTT6i7u1tVVVW6+OKLNXr0aEn//WOVBQUFGjJkiCorK9XQ0KDq6mpJvb9OAI4fgQIMEhdddJHq6+vDbkitr69XcnKyzjzzTH366afau3ev7rzzTk2aNEkXXnih2tra+nSGiooKXXnllXrzzTfV1NTkbCUlJaqoqAhb+/LLL/d6fMEFF0S85v9LSUmR3+9XXV1d2P76+npdeOGFzuMZM2boiy++0LZt21RVVRV2xeftt9/WJ598opUrV+qKK67QBRdcwA2ywHcgNtoDAOh7wWBQTU1NYft+/vOfq7y8XAsWLNCtt96qffv2afny5Vq4cKFOOeUUDR06VGlpaXrwwQc1fPhwffjhh71+muVEdHd3a9OmTbr77ruVlZUVduymm27SqlWr9OabbzpXKv72t79p1apVmjFjhmpqavT4449r69atYc97/PHHNWbMGE2YMEGPPfaYXn311V6hc6Tbb79dy5cv17nnnqtLLrlEjzzyiJqampy3dKT/XnWZPn26fv3rX2vv3r0qKipyjp199tmKj4/X/fffr3nz5mn37t265557TvTLA+BI0b0FBkBfmzNnjpHUa5szZ455/vnnzWWXXWbi4+ONz+czv/rVr8J++qampsZceOGFxu12m1GjRpnnn3/eSDLV1dXGmP+78fSNN95wntPW1mYkmZ07d37tXE888YQ55ZRTTCAQOOrx7Oxss2DBAmPMf2+Sveuuu8ysWbNMYmKi8Xq9vW52lWQeeOABk5+fb9xutxkxYoTZvHmzc/xosxpjTE9Pj7nrrrvMmWeeaeLi4szo0aPNs88+22uerVu3Gknmyiuv7HWsqqrKjBw50rjdbpObm2uefvrpsM/FTbLAiXMZc8QvIACAKBs5cqSKi4tVXFx8zDUul0vV1dUD4rfmAogc96AAAADrECgA+kxhYaGGDBly1K20tDTa4wEYQHiLB0Cf+eijj9TZ2XnUY6mpqUpNTe3niQAMVAQKAACwDm/xAAAA6xAoAADAOgQKAACwDoECAACsQ6AAAADrECgAAMA6BAoAALDO/wKOpfABm8VhJgAAAABJRU5ErkJggg==",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"dataframe['Loan_Approval'].value_counts().plot(kind='bar');"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Most of the columns have missing values, which will have to be handled in the data preprocessing. The unnamed column contains observation indexes and can be dropped. All of the other columns appear to contain useful information. The only categorical column is *Had_Past_Default*, which is already encoded as 0s and 1s, so no additional processing is needed. Finally, the classes appear to be well balanced so balancing techniques will probably not be needed."
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" Age \n",
" Annual_Income \n",
" Credit_Score \n",
" Loan_Amount \n",
" Loan_Duration_Years \n",
" Number_of_Open_Accounts \n",
" Had_Past_Default \n",
" Loan_Approval \n",
" \n",
" \n",
" \n",
" \n",
" count \n",
" 1000.000000 \n",
" 1000.000000 \n",
" 1000.00000 \n",
" 1000.000000 \n",
" 1000.000000 \n",
" 1000.00000 \n",
" 1000.00000 \n",
" 1000.000000 \n",
" \n",
" \n",
" mean \n",
" 42.140000 \n",
" 110123.298000 \n",
" 551.83200 \n",
" 27500.495000 \n",
" 14.832000 \n",
" 7.27500 \n",
" 0.51000 \n",
" 0.514000 \n",
" \n",
" \n",
" std \n",
" 17.748392 \n",
" 52808.112624 \n",
" 188.77845 \n",
" 13420.465049 \n",
" 8.424057 \n",
" 4.01441 \n",
" 0.50015 \n",
" 0.500054 \n",
" \n",
" \n",
" min \n",
" 0.000000 \n",
" 0.000000 \n",
" 0.00000 \n",
" 0.000000 \n",
" 1.000000 \n",
" 0.00000 \n",
" 0.00000 \n",
" 0.000000 \n",
" \n",
" \n",
" 25% \n",
" 29.000000 \n",
" 65156.750000 \n",
" 425.75000 \n",
" 17015.500000 \n",
" 8.000000 \n",
" 4.00000 \n",
" 0.00000 \n",
" 0.000000 \n",
" \n",
" \n",
" 50% \n",
" 44.000000 \n",
" 110510.000000 \n",
" 567.50000 \n",
" 27702.000000 \n",
" 15.000000 \n",
" 7.00000 \n",
" 1.00000 \n",
" 1.000000 \n",
" \n",
" \n",
" 75% \n",
" 57.000000 \n",
" 158513.750000 \n",
" 699.00000 \n",
" 38485.750000 \n",
" 22.000000 \n",
" 11.00000 \n",
" 1.00000 \n",
" 1.000000 \n",
" \n",
" \n",
" max \n",
" 69.000000 \n",
" 199991.000000 \n",
" 849.00000 \n",
" 49989.000000 \n",
" 29.000000 \n",
" 14.00000 \n",
" 1.00000 \n",
" 1.000000 \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Age Annual_Income Credit_Score Loan_Amount \\\n",
"count 1000.000000 1000.000000 1000.00000 1000.000000 \n",
"mean 42.140000 110123.298000 551.83200 27500.495000 \n",
"std 17.748392 52808.112624 188.77845 13420.465049 \n",
"min 0.000000 0.000000 0.00000 0.000000 \n",
"25% 29.000000 65156.750000 425.75000 17015.500000 \n",
"50% 44.000000 110510.000000 567.50000 27702.000000 \n",
"75% 57.000000 158513.750000 699.00000 38485.750000 \n",
"max 69.000000 199991.000000 849.00000 49989.000000 \n",
"\n",
" Loan_Duration_Years Number_of_Open_Accounts Had_Past_Default \\\n",
"count 1000.000000 1000.00000 1000.00000 \n",
"mean 14.832000 7.27500 0.51000 \n",
"std 8.424057 4.01441 0.50015 \n",
"min 1.000000 0.00000 0.00000 \n",
"25% 8.000000 4.00000 0.00000 \n",
"50% 15.000000 7.00000 1.00000 \n",
"75% 22.000000 11.00000 1.00000 \n",
"max 29.000000 14.00000 1.00000 \n",
"\n",
" Loan_Approval \n",
"count 1000.000000 \n",
"mean 0.514000 \n",
"std 0.500054 \n",
"min 0.000000 \n",
"25% 0.000000 \n",
"50% 1.000000 \n",
"75% 1.000000 \n",
"max 1.000000 "
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"dataframe.drop(columns=[\"Unnamed: 0\"], inplace=True)\n",
"dataframe.fillna(0, inplace=True)\n",
"dataframe.describe()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The preprocessed dataset is split (80% train, 20% test)."
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(800, 7)"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"target_variable = \"Loan_Approval\"\n",
"X_train, X_test, y_train, y_test = train_test_split(dataframe.drop(columns=[target_variable]), dataframe[target_variable], test_size=0.2, shuffle=True, random_state=1337)\n",
"X_train.shape"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"A simple hyperparameter search is run over a gradient boosting classifier."
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Best parameters: {'classifier__n_estimators': np.int64(168), 'classifier__max_depth': np.int64(6), 'classifier__learning_rate': np.float64(0.001)}\n",
"Best score: 0.5349999999999999\n"
]
}
],
"source": [
"categorical_feature = \"Had_Past_Default\"\n",
"numerical_features = [category for category in X_train.columns if category != categorical_feature]\n",
"preprocessor = ColumnTransformer(\n",
" transformers=[\n",
" ('numerical', StandardScaler(), numerical_features),\n",
" ('categorical', 'passthrough', [categorical_feature])\n",
" ])\n",
"classifier = GradientBoostingClassifier()\n",
"pipeline = Pipeline(steps=[('preprocessor', preprocessor), ('classifier', classifier)])\n",
"\n",
"param_distributions = {\n",
" 'classifier__learning_rate': np.logspace(-3, 0, num=20),\n",
" 'classifier__n_estimators': np.linspace(50, 300, num=20, dtype=int),\n",
" 'classifier__max_depth': np.linspace(3, 10, num=20, dtype=int),\n",
"}\n",
"search = RandomizedSearchCV(pipeline, param_distributions, n_iter=40, cv=5, verbose=0, random_state=1337, n_jobs=-1)\n",
"search.fit(X_train, y_train)\n",
"\n",
"best_params = search.best_params_\n",
"print(f\"Best parameters: {best_params}\")\n",
"print(f\"Best score: {search.best_score_}\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The final model is trained with the hyperparameters and tested."
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" precision recall f1-score support\n",
"\n",
" 0 0.45 0.18 0.25 102\n",
" 1 0.47 0.78 0.59 98\n",
"\n",
" accuracy 0.47 200\n",
" macro avg 0.46 0.48 0.42 200\n",
"weighted avg 0.46 0.47 0.42 200\n",
"\n"
]
}
],
"source": [
"pipeline.set_params(**best_params)\n",
"pipeline.fit(X_train, y_train)\n",
"y_pred = pipeline.predict(X_test)\n",
"print(classification_report(y_test, y_pred))"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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WrBggTZt2qQRI0Y4rElJSdH48eO1YMECbdu2TUlJSerRo4f9/vXr1+uJJ57QkCFDdPDgQc2ePVvz58+3BxkoEBZwB+rTp4/VtWtX++1du3ZZZcqUsR5//HHLsixrzJgxlru7u3XmzBn7mo0bN1o+Pj7WlStXHPZVrVo1a/bs2ZZlWVZERIQ1cOBAh/ubN29uNWrUKMfPnZSUZHl6elpz587Ncc6jR49akqyYmBiH7UFBQdbixYsdtr3xxhtWRESEZVmWNXv2bMvPz89KTk623z9z5swc9/VHlStXtt59991c71+6dKlVpkwZ++158+ZZkqydO3fat8XGxlqSrF27dlmWZVmtWrWyJkyY4LCfhQsXWgEBAfbbkqyVK1fm+nmBv8JrVrhjffHFFypRooQyMjKUnp6url27avr06fb7K1eurHLlytlvR0dH69KlSypTpozDfi5fvqyff/5ZkhQbG5vtDScjIiK0efPmHGeIjY1Vamqq2rVrl+e5ExISFBcXp8jISA0YMMC+PSMjw/56WGxsrBo1aqRixYo5zJFfmzdv1oQJE3Tw4EElJSUpIyNDV65cUXJysooXLy5JcnNzU3h4uP0xtWvXVqlSpRQbG6tmzZopOjpa33//vcORVGZmpq5cuaKUlBSHGYEbRaxwx2rbtq1mzpwpd3d3BQYGZruA4to342uysrIUEBCgLVu2ZNvXjV6+7e3tne/HZGVlSbp6KrB58+YO97m6ukqSrAJ4G7pff/1VDzzwgAYOHKg33nhDfn5++u677xQZGelwulS6eun59a5ty8rK0rhx4/Twww9nW+Pl5XXTcwISscIdrHjx4qpevXqe1zdp0kTx8fFyc3NTlSpVclxTp04d7dy5U08++aR9286dO3PdZ40aNeTt7a2NGzeqf//+2e738PCQdPVI5Bp/f39VrFhRv/zyi3r16pXjfuvWrauFCxfq8uXL9iD+2Rw5iYqKUkZGht555x25uFx9+Xrp0qXZ1mVkZCgqKkrNmjWTJB0+fFi///67ateuLenqn9vhw4fz9WcN5BexAv7rvvvuU0REhLp166bJkyerVq1aOnnypNasWaNu3bopPDxczz//vPr06aPw8HDdfffdWrRokQ4cOKCqVavmuE8vLy+9/PLLGjFihDw8PNSyZUslJCTowIEDioyMVPny5eXt7a1169apUqVK8vLykq+vr8aOHashQ4bIx8dHnTp1UmpqqqKionThwgUNGzZMPXv21KhRoxQZGalXX31Vx44d09tvv52v51utWjVlZGRo+vTp6tKli7Zt26ZZs2ZlW+fu7q7Bgwfrvffek7u7u5577jnddddd9ni99tprevDBBxUUFKTHHntMLi4u+uGHH/Tjjz/qzTffzP9fBJATZ79oBhSG6y+wuN6YMWMcLoq4JikpyRo8eLAVGBhoubu7W0FBQVavXr2s48eP29eMHz/eKlu2rFWiRAmrT58+1ogRI3K9wMKyLCszM9N68803rcqVK1vu7u5WcHCwwwUJc+fOtYKCgiwXFxerdevW9u2LFi2yGjdubHl4eFilS5e27rnnHmvFihX2+3fs2GE1atTI8vDwsBo3bmwtX7483xdYTJkyxQoICLC8vb2tDh06WB9//LElybpw4YJlWVcvsPD19bWWL19uVa1a1fLw8LDuvfde69ixYw77XbdundWiRQvL29vb8vHxsZo1a2bNmTPHfr+4wAI3yWZZBXDyGwCAQsS/swIAGI9YAQCMR6wAAMYjVgAA4xErAIDxiBUAwHjECgBgPGIFADAesQIAGI9YAQCMR6wAAMb7/9R4rdTH9Pd3AAAAAElFTkSuQmCC",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"ConfusionMatrixDisplay.from_predictions(y_test, y_pred, normalize='true', cmap='Blues', colorbar=False);"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"With the model trained, we can also run various interpretability tests in case we wish to change the training procedure."
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAABv0AAAQFCAYAAACSDgTYAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdd3QUhf7+8WdDQhIICQRBAoaEIhEMIEUUECkWehGQJr0YwIgQukgJXVBARcpFIIBIkQ4iyBVBKV5AinJBriJNCKK0SIsJmd8f/tgva0LJkGUyy/t1zp7Lzs7uPJN9zNm5n8yswzAMQwAAAAAAAAAAAABsy8vqAAAAAAAAAAAAAADuDUM/AAAAAAAAAAAAwOYY+gEAAAAAAAAAAAA2x9APAAAAAAAAAAAAsDmGfgAAAAAAAAAAAIDNMfQDAAAAAAAAAAAAbI6hHwAAAAAAAAAAAGBzDP0AAAAAAAAAAAAAm2PoBwAAAAAAAAAAANgcQz8AADxEXFycHA5Hmrc+ffq4ZZsHDhzQsGHDdPToUbe8/r04evSoHA6H4uLirI5i2tq1azVs2DCrYwAAAAAuvv/+e3Xo0EGFChWSn5+fAgICVLZsWY0bN07nzp2zOt5tDRs2TA6Hw9Rzb/f5PDw8XO3btzcfzKS//vpLXbt2VUhIiLJkyaInnnjCLdvZtm2bhg0bpgsXLrjl9e/Fpk2b5HA4tGnTJqujmPbJJ59o0qRJVscA4AG8rQ4AAAAy1uzZs/XYY4+5LMufP79btnXgwAHFxsaqWrVqCg8Pd8s2zAoJCdH27dtVpEgRq6OYtnbtWn344YcM/gAAAJBpzJgxQ927d1dERIT69u2rEiVKKCkpSbt27dK0adO0fft2LV++3OqYbnG7z+fLly9XYGDgfc80depUTZ8+XR988IHKlSungIAAt2xn27Ztio2NVfv27ZUzZ063bMOssmXLavv27SpRooTVUUz75JNPtH//fvXs2dPqKABsjqEfAAAeJjIyUuXLl7c6xj1JSkqSw+GQt7f5jyq+vr56+umnMzDV/XPlyhVly5bN6hgAAACAi+3bt6tbt2564YUXtGLFCvn6+jofe+GFF9S7d2+tW7fOwoTWKVOmjCXb3b9/v/z9/RUdHW3J9u/V1atX5efnZ/rsS0kKDAzk2A8A/j8u7wkAwANm0aJFqlixorJnz66AgADVrFlTe/bscVln165datGihcLDw+Xv76/w8HC1bNlSx44dc64TFxenl19+WZJUvXp156VEb1xO81aXt6lWrZqqVavmvH/jUizz5s1T7969VaBAAfn6+urnn3+WJP373//Wc889p8DAQGXLlk2VK1fWl19+ecf9TOvynjcu5fP999/r5ZdfVlBQkIKDgxUTE6Pk5GQdOnRItWrVUo4cORQeHq5x48a5vOaNrB9//LFiYmKUL18++fv7q2rVqql+hpK0atUqVaxYUdmyZVOOHDn0wgsvaPv27S7r3Mi0e/duNW3aVLly5VKRIkXUvn17ffjhh5LkcqnWG5dS/fDDD/Xss88qb968yp49u0qWLKlx48YpKSkp1c87MjJSO3fuVJUqVZQtWzYVLlxYY8eOVUpKisu6Fy5cUO/evVW4cGH5+voqb968qlOnjn788UfnOn/99ZdGjhypxx57TL6+vsqTJ486dOig33///Y7vCQAAAOxt9OjRcjgc+te//uUy8Lsha9asatCggfO+w+FI86y4fx4r3Piqgo0bN6pLly7KnTu3AgMD1bZtW12+fFmnT59Ws2bNlDNnToWEhKhPnz4un3tvdXnHu73k/6JFi/Tiiy8qJCRE/v7+Kl68uAYMGKDLly8717nT5/Ob9+n3339X1qxZNXjw4FTb+vHHH+VwOPT+++87l50+fVpRUVF65JFHlDVrVhUqVEixsbFKTk6+bW6Hw6GPPvpIV69eTXU8ZhiGpkyZoieeeEL+/v7KlSuXmjZtql9++cXlNTZs2KCGDRvqkUcekZ+fn4oWLaqoqCj98ccfznWGDRumvn37SpIKFSrk3NaNn3d63+cvvvhCHTt2VJ48eZQtWzYlJiY634c7HaumJa33v3379goICNCPP/6omjVrKnv27AoJCdHYsWMlSd9++62eeeYZZc+eXcWKFdOcOXNcXvNG1g0bNqhDhw4KDg5W9uzZVb9+/VQ/Q0maNWuWSpcuLT8/PwUHB+ull17SwYMHXda5kemHH37Qiy++qBw5cui5555TtWrV9Nlnn+nYsWMu3bohNjZWTz31lIKDgxUYGKiyZctq5syZMgwj1c+7Xr16WrduncqWLSt/f3899thjmjVrVqq8J0+e1KuvvqrQ0FBlzZpV+fPnV9OmTfXbb78510lISFCfPn1UqFAhZc2aVQUKFFDPnj1d/rsAkPkw9AMAwMNcv35dycnJLrcbRo8erZYtW6pEiRJavHix5s2bpz///FNVqlTRgQMHnOsdPXpUERERmjRpktavX6+3335b8fHxevLJJ50Hf3Xr1tXo0aMl/T2A2r59u7Zv3666deuayj1w4EAdP35c06ZN0+rVq5U3b159/PHHevHFFxUYGKg5c+Zo8eLFCg4OVs2aNe9q8HcrzZo1U+nSpbV06VJ16dJFEydOVK9evdSoUSPVrVtXy5cvV40aNdS/f38tW7Ys1fPffPNN/fLLL/roo4/00Ucf6dSpU6pWrZrLwd8nn3yihg0bKjAwUAsWLNDMmTN1/vx5VatWTVu2bEn1mo0bN1bRokX16aefatq0aRo8eLCaNm0qSc6f7fbt2xUSEiJJOnz4sFq1aqV58+ZpzZo16tSpk8aPH6+oqKhUr3369Gm98sorat26tVatWqXatWtr4MCB+vjjj53r/Pnnn3rmmWc0ffp0dejQQatXr9a0adNUrFgxxcfHS5JSUlLUsGFDjR07Vq1atdJnn32msWPHasOGDapWrZquXr1q+j0BAABA5nb9+nVt3LhR5cqVU2hoqFu20blzZwUFBWnhwoV666239Mknn6hLly6qW7euSpcurSVLlqhdu3Z699139cEHH2TYdn/66SfVqVNHM2fO1Lp169SzZ08tXrxY9evXd65zp8/nN8uTJ4/q1aunOXPmpPpDu9mzZytr1qx65ZVXJP39Wb1ChQpav369hgwZos8//1ydOnXSmDFj1KVLl9vm3r59u+rUqSN/f/9Ux2NRUVHq2bOnnn/+ea1YsUJTpkzRf//7X1WqVMllsHP48GFVrFhRU6dO1RdffKEhQ4boP//5j5555hnnYLVz5856/fXXJUnLli1zbqts2bLp/VFLkjp27CgfHx/NmzdPS5YskY+Pz10fq6ZHUlKSGjdurLp162rlypXO46A333xT7dq1U8eOHbV8+XJFRESoffv2+u6771K9RqdOneTl5eX8zr0dO3aoWrVqLt9tOGbMGHXq1EmPP/64li1bpvfee0/ff/+9KlasqJ9++snl9f766y81aNBANWrU0MqVKxUbG6spU6aocuXKypcvn0u3bjh69KiioqK0ePFiLVu2TI0bN9brr7+uESNGpMq7b98+9e7dW7169dLKlStVqlQpderUSV9//bVznZMnT+rJJ5/U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h2vz5s2aOXOmcubM6fKakZGRkqR//etfypEjh/z8/FSoUCHlzp1bbdq0UevWrdW9e3c1adJEx44d07hx45QnT567yhsQEKAPPvhA7dq107lz59S0aVPlzZtXv//+u/bt26fff/9dU6dOzegf0105c+aMXnrpJXXp0kUXL17U0KFD5efnp4EDB0r6+/Iz48aN0yuvvKJ69eopKipKiYmJGj9+vC5cuKCxY8fe1XZKliwpSXr77bdVu3ZtZcmSRaVKldILL7ygrFmzqmXLlurXr5+uXbumqVOn6vz586b3qWfPnlq0aJEaNmyoAQMGqEKFCrp69ao2b96sevXqqXr16mrRooXmz5+vOnXq6I033lCFChXk4+OjX3/9VV999ZUaNmyol156yXQGAAAAZG4VK1bU1KlT1b17d5UrV07dunXT448/rqSkJO3Zs0f/+te/FBkZ6Rz6tWnTRoMHD9aQIUNUtWpVHThwQJMnT1ZQUFCG5sqXL5+ef/55jRkzRrly5VJYWJi+/PJLLVu27I7PrVSpknLlyqWuXbtq6NCh8vHx0fz5852X7r/ZrT6f3+ry95LUsWNHRUVF6dSpU6pUqVKqIcvw4cO1YcMGVapUST169FBERISuXbumo0ePau3atZo2bdpdnVV5s8qVK+vVV19Vhw4dtGvXLj377LPKnj274uPjtWXLFpUsWVLdunXTY489piJFimjAgAEyDEPBwcFavXp1qktS3rzv7733ntq1aycfHx9FREQoR44c9/w+3+2xqhV27dqlzp076+WXX9aJEyc0aNAgFShQQN27d5ck5cyZU4MHD9abb76ptm3bqmXLljp79qxiY2Pl5+enoUOH3tV2SpYsqWXLlmnq1KkqV66cvLy8VL58edWtW1cTJkxQq1at9Oqrr+rs2bN655130jyD824NHz5cn3/+uZ599lm9+eabKlmypC5cuKB169YpJiZGjz32mHr27KmlS5fq2WefVa9evVSqVCmlpKTo+PHj+uKLL9S7d2/+EBTIrAwAAOARZs+ebUgydu7cedv1VqxYYVSvXt0IDAw0fH19jbCwMKNp06bGv//9b+c6v/76q9GkSRMjV65cRo4cOYxatWoZ+/fvN8LCwox27dq5vN6kSZOMQoUKGVmyZDEkGbNnzzYMwzBSUlKMcePGGYULFzb8/PyM8uXLGxs3bjSqVq1q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qKZOnZrm+t9++63Cw8PVo0cPFSpUSM8884yioqK0a9euW24jMTFRCQkJLjcAAAAAqXG+KO67jz76SFevXk3zseDg4PucBgAAAABgxl9//aXvvvtOAwYMcFn+4osvatu2bWk+p1KlSho0aJDWrl2r2rVr68yZM1qyZInq1r315WfHjBmj2NjYVMubN28uHx8fzZ8/X2+++aaOHTumyMhIRUdHq2vXrpKkLl26KCkpSXFxcZKkWbNm6e2339ahQ4dUtGhRvfXWW87veG/Tpo2yZcum6dOnS/r7sqXTp0/Xvn37FBoaqvHjx6tFixaSpGbNmikkJETvvfeeJGnixIlasGCBduzYobx582r69OnO76pv2LChIiIinN/1PnbsWH322Wf65ptvFBgYqI8//liNGzdWcnKyatasqQoVKmjEiBGSpGHDhmnr1q3asGGDfH199emnn6pVq1a6dOmSqlatqhdffFGDBg2SJA0YMED79+/XmjVrJEmrVq1Shw4ddPbsWVWsWFFNmzZV7969JUkxMTE6fvy4lixZIklavHixevXqpZMnT6pMmTLq1KmToqOjJUndu3fXxYsXNX/+fEnSvHnzNHToUP3yyy8qXry4YmJi1KVLF0lSx44dnT9nSZoxY4YmTJiggwcPqnDhwoqNjVWbNm0kSa+88oqCgoI0ZcoUSdLkyZM1c+ZM7dmzRwUKFNDEiRPVrFkzSVLTpk1VsGBBTZgwQZL07rvvasmSJdq+fbty586t2bNnq0GDBpKkevXqKTIyUmPHjpUkjRo1Sl988YU2b96sgIAAffLJJ3r55ZeVmJioF154QZUrV9awYcMkSYMHD9aOHTu0fv16eXt7a9myZWrdurUSEhJUpUoV1a1b19n3fv366dChQ1q5cqUkafny5YqKitKZM2dUoUIFtWzZUr169ZIkvfHGG4qPj9fixYslSQsXLlTfvn114sQJlS5dWlFRUerevbskKSoqSleuXNG8efMkSXFxcRo5cqR+/vlnRUREqH///s6fc/v27eXj46MZM2ZIkqZNm6bJkydr//79CgsL0+jRo/XKK69Iklq2bKncuXNr8uTJkqT3339fc+fO1a5duxQSEqLJkyerSZMmkqSXXnpJRYoU0TvvvCNJGjdunFauXKmtW7cqV65cmjNnjho1aqSUlBTVqVNHZcqU0ahRoyRJw4cP16ZN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/PCD1q9fr7x580qSYmJiFB0d7Vh/9uzZunPnjt5++235+/s7Lj179jTrJQAAAABug6GfAUFBQWrZsqXZMRK1detW2Ww22Ww2eXh4yM/PT+XKldOAAQMUExPz1HKMGDFCZcuWTbA8JiZGjRo1cvnz37x5UyVKlNBbb72V4LYBAwYob968io2NdXkOAADc0eLFi82OAIuiO4B76tGjh06ePKmbN28qIiJCNWvWdNwWFhamrVu3Oq5v3bpVdrs9wSUsLOzpBwcAAADcDEM/NxUVFaW//vpLe/bs0XvvvafvvvtOJUuW1MGDB5/ocW/duvVE98+ZM6e8vb2f6DEeh7e3txYsWKCwsDB9++23juU//vijpk2bprCwMPn6+ibrc9rtdt25cydZHxMAgJRo9+7dZkeARdEdAAAAAABch6FfMtu2bZsqV64sb29v+fv7a+DAgU6DoG+//VbPP/+8MmbMqCxZsqhp06Y6duyY4/aTJ0/KZrNp5cqVqlOnjtKlS6cyZcpo165dScqRPXt25cyZU0WKFNFrr72m8PBwZcuWTf/9738d69SuXVu9evVyul/Lli0VFBTkuJ4vXz6NHj1aQUFB8vPz05tvvilJeu+991SkSBGlS5dOBQoU0LBhw3T79m1Jd7/JGRISogMHDjj2Orz3rc0HD+958OBB1a1bV2nTplWWLFn01ltv6cqVK47b7+1VOXnyZPn7+ytLlix6++23Hc/1KBUqVNCQIUP0xhtv6J9//tGNGzf0+uuv6+2331adOnW0c+dO1axZU2nTplVAQIDeffddXb161XH/zz//XBUrVlSGDBmUM2dOtWvXTmfPnnXcfm+vyg0bNqhixYry9vbW9u3bdeDAAdWpU0cZMmSQr6+vKlSooL179z40582bNxUbG+t0AQAgJcuePbvZEWBRdAcAAAAAANdh6JeMTp8+rcaNG6tSpUo6cOCAZs2apblz52r06NGOda5evao+ffpoz5492rx5szw8PNSqVSvFx8c7PdaQIUPUr18/RUZGqkiRImrbtu0T7UWWNm1ade/eXeHh4U6Dq8cxadIklSxZUhERERo2bJgkKUOGDAoLC9Phw4f1wQcfaM6cOY5ztLRp00Z9+/ZViRIlFBMTo5iYGLVp0ybB4167dk0NGzZUpkyZtGfPHi1btkzfffedgoODndb7/vvvdezYMX3//fea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Q29jb+eUJ3/+/NqzZ4+yZs1qdhQ8wrZt2x55e61atZ5SEvybTJkyOV2/ffu2rl27ptSpUytdunS6cOGCSckejqEfAAAAAADAQwwYMECZM2fWwIEDzY6Cx5DY3pj39nxh74mUI126dDpw4IAKFy7stPzo0aMqU6aMrl27phMnTqhEiRK6du2aSSkBAEjo6NGj+u9//6v+/furQYMGZsdJgKEfAAAAAADAQ8TFxalp06a6fv16onuOTZ061aRkSMypU6ceeXvevHmfUhI8SpEiRfTSSy9p/PjxTssHDhyoVatWKSoqSnv37lWLFi10+vRpk1LiQff+jPyo8zHCfJs3b9bmzZt19uxZxcfHO902b948k1IhMdeuXVN0dLRu3brltJy90lO+vXv3qkOHDilyb3QvswMAAAAAAACkVGPHjtWGDRtUtGhRSc5/7OYP3ykPQz1rmDx5sl599VV98803qlSpkmw2m/bs2aMjR45oxYoVkqQ9e/aoTZs2JieFdPecVpMmTdLRo0cl3R3a9u/fXx07djQ5GR4UEhKikSNHqmLFivL39+ffqRTq3Llzev311/XNN98kejt7pad8np6e+uuvv8yOkSj29AMAAAAAAHiITJkyadq0aQoKCjI7Ch7DggULHnl7p06dnlIS/JtTp05p1qxZ+u2332S321WsWDF169ZN//zzj8qWLWt2PPx/U6dO1bBhwxQcHKzq1avLbrcrPDxcH330kUaPHq3evXubHRH38ff318SJExnIpnDt27fXyZMnNX36dNWpU0erVq3S//73P40ePVpTpkxRkyZNzI6I/2/t2rVO1+12u2JiYhQaGqqAgICHDm7NxNAPAAAAAADgIXLmzKnt27cnOPcYUqZMmTI5Xb99+7auXbum1KlTK126dLpw4YJJyfAo//zzjxYtWqR58+YpMjKSvVxSkPz58yskJCTBwHz+/PkaMWKETpw4YVIyJCZLlizavXu3ChYsaHYUPIK/v7/WrFmjypUry9fXV3v37lWRIkW0du1aTZw4UTt27DA7Iv6/B88VbLPZlC1bNtWtW1dTpkyRv7+/SckeLuHZjQEAAAAAACBJ6tmzpz788EOzY+AxXbx40ely5coVRUVF6fnnn9fixYvNjocHbNmyRR06dFCuXLkUGhqqRo0aae/evWbHwn1iYmJUrVq1BMurVaummJgYExLhUd544w198cUXZsfAv7h69aqyZ88uScqcObPOnTsnSSpVqpT27dtnZjQ8ID4+3ukSFxenM2fO6IsvvkiRAz+Jc/oBAICnLCgoSP/8849Wr15tdpQETp48qfz582v//v0cUggAAEiSdu/erS1btujrr79WiRIllCpVKqfbV65caVIyPK7ChQtr/Pjx6tChg3799Vez4zzz/vzzT4WFhWnevHm6evWqWrdurdu3b2vFihUKDAw0Ox4eUKhQIS1dulSDBw92Wr5kyRL2gE6Bbty4oU8++UTfffedSpcuneDfrKlTp5qUDPcrWrSooqKilC9fPpUtW1azZ89Wvnz59PHHH6fYQRKsg6EfAACApFu3bpkdAQAApEAZM2bUSy+9ZHYMPCFPT0/99ddfZsd45jVu3Fg7duxQ06ZN9eGHH6phw4by9PTUxx9/bHY0PERISIjatGmjH374QdWrV5fNZtOOHTu0efNmLV261Ox4eMDPP//s+ALroUOHnG6z2WwmJEJievXq5dhTdvjw4WrQoIEWLVqk1KlTKywszNxwSODPP//U2rVrFR0dneBvRylxkM45/QAAwFN1/55+tWvXVqlSpeTp6an58+crderUGjVqlNq3b6/g4GAtX75c2bNndxzqR5K2bt2qOnXq6Ouvv9bgwYMVFRWlMmXK6NNPP1WpUqUcz7NixQq9//77+v333+Xv76933nlHffv2ddyeL18+vfHGG/r999+1atUqtWzZUgsWLHDKWqtWLW3dulV79uzR4MGDtX//ft2+fVtly5bVtGnTVL58ece6NptNc+bM0bp167Rhwwblzp1bU6ZMUfPmzR3r/PLLLxowYIC2b98uu92usmXLKiwszHG+hc8++0wTJ07UiRMnlC9fPr377rvq0aOHS7YDAACAO1q7dq3TdbvdrpiYGIWGhiogIEDffPONSckgSV5eXnr33Xf13//+12kvsVSpUunAgQPs6ZdCRUREaNq0aTpy5IjsdrsCAwPVt29flStXzuxogFu4du2afv31V+XJk0dZs2Y1Ow7us3nzZjVv3lz58+dXVFSUSpYsqZMnT8put6t8+fLasmWL2RET4Jx+AADAVPPnz1fWrFm1e/duvfPOO/rvf/+rV199VdWqVdO+ffvUoEEDdezYUdeuXXO6X//+/TV58mTt2bNH2bNnV/PmzXX79m1Jd38pbd26tV577TUdPHhQI0aM0LBhwxJ8Y27SpEkqWbKkIiIiNGzYMO3evVuS9N133ykmJsZxuK7Lly+rc+fO2r59u3788UcVLlxYjRs31uXLl50eLyQkRK1bt9bPP/+sxo0bq3379rpw4YIk6fTp06pZs6bSpEmjLVu2KCIiQl26dNGdO3ckSXPmzNGQIUM0ZswYHTlyRGPHjtWwYcM0f/78ZH/PAQBA0p07d047duxQeHi449w7SHlatmzpdHnppZc0YsQIlS5dWvPmzTM73jNv+/btunz5sipWrKj//Oc/Cg0N5f8nC6hQoYI+//xzRUREaN++ffr8888Z+AHJ4NatW4qKilLq1KlVvnx5Bn4p0KBBg9S3b18dOnRIadKk0YoVK/THH3+oVq1aevXVV82Olyj29AMAAE/Vg3v6xcXFafv27ZKkuLg4+fn56aWXXnLsdXfmzBn5+/tr165dqlKlimNPvy+//FJt2rSRJF24cEHPPfecwsLC1Lp1a7Vv317nzp3Txo0bHc87YMAArVu3Tr/88ouku3v6lStXTqtWrXKs87jn9IuLi1OmTJn0xRdfqGnTppLu7uk3dOhQjRo1StLdE3NnyJBB69evV8OGDTV48GB9+eWXioqKSnBeBUnKkyePJkyYoLZt2zqWjR49WuvXr9fOnTuNvNUAACAZXL16Ve+8844WLFig+Ph4SXcPFdmpUyd9+OGHSpcunckJAeu5du2avvzyS82bN0+7d+9WXFycpk6dqi5duihDhgxmx8N91q9fL09PTzVo0MBp+YYNGxQfH+84IgtShjp16jzyMJ4pca+kZ9G1a9f0zjvvOL7k+9tvv6lAgQJ69913lStXLg0cONDkhLgnQ4YMioyMVMGCBZUpUybt2LFDJUqU0IEDB9SiRQudPHnS7IgJsKcfAAAwVenSpR3/7enpqSxZsjgdpjNHjhySpLNnzzrdr2rVqo7/zpw5s4oWLaojR45Iko4cOaLq1as7rV+9enUdPXpUcXFxjmUVK1Z8rIxnz55V9+7dVaRIEfn5+cnPz09XrlxRdHT0Q19L+vTplSFDBkfuyMhI1ahRI9GB37lz5/THH3+oa9eu8vHxcVxGjx6tY8eOPVZGAADgGn369NG2bdv01Vdf6Z9//tE///yjNWvWaNu2bU6HDkfKY7fbxXfdU6Z06dKpS5cu2rFjhw4ePKi+fftq/PjxjiN4IOUYOHCg0+9Q99jtdgYTKVDZsmVVpkwZxyUwMFC3bt3Svn37nH7PhrkGDRqkAwcOaOvWrUqTJo1jeb169bRkyRITk+FB6dOn182bNyVJuXLlcvobzd9//21WrEfyMjsAAAB4tj04BLPZbE7L7n1L8d436x/l3rp2uz3BtxsT+4NP+vTpHytjUFCQzp07p+nTpytv3rzy9vZW1apVE5zAObHXci932rRpH/r499aZM2eO/vOf/zjd5unp+VgZAQCAa6xYsULLly9X7dq1HcsaN26stGnTqnXr1po1a5Z54ZCoBQsWaNKkSTp69KgkqUiRIurfv786duxocjIkpmjRopo4caLGjRunr776isOwpjBHjx5N9FyLxYoV0++//25CIjzKtGnTEl0+YsQIXbly5SmnwcOsXr1aS5YsUZUqVZz+dhEYGMgXf1OYKlWqKDw8XIGBgWrSpIn69u2rgwcPauXKlapSpYrZ8RLF0A8AAFjSjz/+qDx58kiSLl68qN9++03FihWTdPcH5R07djitv3PnThUpUuSRQ7TUqVNLUoJvsm7fvl0zZ85U48aNJUl//PFHkr/RVbp0ac2fP1+3b99OMBzMkSOHcufOrePHj6t9+/ZJelwAAOBa165dcxx54H7Zs2dPcM5hmG/q1KkaNmyYgoODVb16ddntdoWHh6t79+76+++/1bt3b7Mj4iE8PT0d52JEyuHn56fjx48rX758Tst///33x/4SJczXoUMHVa5cWZMnTzY7CnT3aD/Zs2dPsPzq1auPPDwrnr6pU6c6Bub3hudLlixRoUKFHjpkNxuH9wQAAJY0cuRIbd68WYcOHVJQUJCyZs3q+ANB3759tXnzZo0aNUq//fab5s+fr9DQUPXr1++Rj5k9e3alTZtW3377rf73v//p0qVLkqRChQpp4cKFOnLkiH766Se1b9/+/7V339FRV/n/x1+fSQIhkBDAgCGSRqREAhhRRJoUERAj4K4gLNWGSGcFWaSJVBdY6VJC00VRooJSBAJRQFTAhN57EzA0A4FkZn5/uORHSEKRL7kz8Hyck3OYe0d8HjxCDu+593PDk3vZ6dSpk86fP6/mzZtr/fr12r17t+bMmaOdO3dK+vObx2HDhunDDz/Url27tHnzZs2YMUOjR4++/V8cAADwf6ZKlSoaMGCAUlNTM9YuXbqkQYMGZbpuHK5h3LhxmjRpkkaMGKGYmBi98MILGjlypCZOnKixY8eazgPcTkxMjLp165bp9NGePXvUs2dPrmJ1Iz/++GOmayRh1uOPP65vv/024/XVQd/UqVP53sIFjB07NuP7Pk9Pz4yrcX18fDRx4kRt2rRJcXFxCgkJMZmZI076AQAAtzR8+HB17dpVu3fvVoUKFbRgwYKMk3rR0dGaN2+e+vfvr8GDByswMFDvvfee2rZte8Of09PTU2PHjtV7772n/v37q3r16lq1apViY2P1+uuv69FHH1VwcLCGDh160wHi9YoUKaL4+Hi9/fbbqlmzpjw8PFSxYsWMZw+++uqr8vHx0QcffKBevXopf/78ioqKUrdu3f7KLw8AAPg/8uGHH6p+/fp66KGHVKFCBVmWpcTERHl7e2vp0qWm83Cd48eP66mnnsqy/tRTT+n48eMGigD39sEHH6h+/foqU6aMHnroIUnSkSNHVL16dU6NuaCmTZtmeu10OnX8+HGtX79e/fr1M1SFq/744w8VKFBAw4YNU/369bVt2zalp6frww8/1NatW/Xjjz8qISHBdOZ9r0ePHmrevLm8vb0VFham48ePZ3sy01VZTp5oDAAA3MiqVatUq1YtnTlzRv7+/qZzAADAfeDSpUv6+OOPtWPHDjmdTkVGRv6lk/+4+8qVK6cWLVroX//6V6b1999/X5999pk2b95sqAxwX06nU8uWLVNSUpLy5cun8uXLq0aNGqazkI127dplem2z2RQQEKDatWurXr16hqpwVVhYmGbNmqUaNWpo8+bN+ve//60NGzbI4XAoOjpavXv3zjhVBnOCg4PVp08fNWzYUGFhYVq/fr0eeOCBHN/rahj6AQAAt8LQDwAAADmZP3++mjVrprp166pq1aqyLEurV6/WihUrNG/ePDVp0sR0IgDgPtWrVy/95z//UefOnTV06FDlzZvXdBKyMWXKFHXu3Fnp6ek5vsfpdMqyLNnt9lwsuzUM/QAAgFth6AcAAHLTsGHDVKxYMbVv3z7TemxsrE6dOqXevXsbKkNONmzYoDFjxmj79u0ZJzN79uypRx991HQa4DZ++uknJScnq0GDBhlrs2fP1oABA5SSkqLGjRtr3LhxDC1c1IYNG7R9+3ZZlqXIyEh+/3Mh69atU/v27WVZlubMmaPo6GjTScjGhQsXdPDgQZUvX17Lly9XkSJFsn1fhQoVcrns5hj6AQAAAAAA5CA0NFT//e9/szwn7qefflLz5s21f/9+Q2UAcPc0aNBATz/9dMYHGzZv3qzo6Gi1bdtWZcuW1QcffKA33nhDAwcONBuKTE6ePKnmzZtr1apV8vf3l9Pp1Llz51SrVi19+umnCggIMJ0ISZcvX9a7776r8ePH65lnnpGnp2em/bi4OENluN6sWbPUvHlzt/qAg810AAAAAAAAgKs6ceKEAgMDs6wHBATo+PHjBopwK06ePKktW7Zo06ZNmb4A3JrExETVqVMn4/Wnn36qypUra+rUqerRo4fGjh2refPmGSxEdjp37qzz589r69atSk5O1pkzZ7RlyxadP39eXbp0MZ2H/7l8+bJOnjwpy7JUsGDBLF9wHW3atNGlS5c0bdo09enTR8nJyZKkjRs36ujRo4brsud587cAAAAAAADcn0qUKKE1a9YoLCws0/qaNWtUvHhxQ1XIyYYNG9SmTZuMqz2v5arP3gFc0ZkzZ1SsWLGM1wkJCapfv37G68cff1yHDx82kYYbWLJkiZYvX66yZctmrEVGRmrChAmqV6+ewTJc9d133+mVV15R8eLFtXHjRpUpU8Z0Em5g06ZNqlu3rgoWLKgDBw7otddeU+HChfXll1/q4MGDmj17tunELDjpBwAAAAAAkINXX31V3bp104wZM3Tw4EEdPHhQsbGx6t69u1577TXTebhOu3btVKpUKa1du1b79u3T/v37M7727dtnOg9wG8WKFcu4vvjKlSvauHGjqlSpkrF/4cIFeXl5mcpDDhwOR7b/Xby8vORwOAwU4VpvvPGGYmJi9Nprr2nt2rUM/NxA9+7d1bZtW+3evVve3t4Z6w0aNND3339vsCxnnPQDAAAAAADIQa9evZScnKyOHTvqypUrkiRvb2/17t1bffr0MVyH6+3fv19xcXGKiIgwnQK4tfr16+udd97RiBEj9NVXX8nHx0fVq1fP2N+0aZNKlixpsBDZqV27trp27aq5c+dmnEY/evSounfvnum6VpixZs0arV27VtHR0aZTcIvWr1+vKVOmZFkPCgrSiRMnDBTdHCf9AAAAAAAAcmBZlkaMGKFTp05p3bp1SkpKUnJysvr37286DdmoU6eOkpKSTGcAbu/999+Xh4eHatasqalTp2rq1KnKkydPxn5sbCzXRbqg8ePH68KFCwoNDVXJkiUVERGhsLAwXbhwQePGjTOdd9/buHHjbQ38/Pz8OKVumLe3t86fP59lfefOnQoICDBQdHOW8/oLzgEAAAAAAAA3dPr0abVp00ZPPPGEypUrl+Wau5iYGENlgHs6d+6cChQoIA8Pj0zrycnJKlCgQMYg8MiRIypevLhsNs6YuIJly5Zpx44dcjqdioyMVN26dU0n4S/w9fVVUlKSwsPDTafct15//XWdOnVK8+bNU+HChbVp0yZ5eHiocePGqlGjhv7zn/+YTsyCoR8AAAAAAEAOUlJSNHz4cK1YsUInT57M8kwkPoHvWhYsWKBWrVrpwoULWfYsy5LdbjdQBdz7/Pz8lJiYyHAC+D/E0M+88+fPq2HDhtq6dasuXLig4sWL68SJE6pSpYoWLVqk/Pnzm07Mgmf6AQAAAAAA5ODVV19VQkKCWrVqpcDAQFmWZToJN9ClSxe1atVK/fr1U7FixUznAPcNzpW4hi5duigiIkJdunTJtD5+/Hjt2bPHJU8lAa7Mz89Pq1evVnx8vDZu3CiHw6Ho6GiXPj3LST8AAAAAAIAc+Pv769tvv1XVqlVNp+AW+Pr6KjExUSVLljSdAtxXOJHkGoKCgrRgwQI99thjmdY3btyomJgYHTlyxFAZ/gr+v8JfwSXLAAAAAAAAOShUqJAKFy5sOgO3qGnTplq5cqXpDAAw4vfff1fBggWzrPv5+en06dMGinAnuF3ALIfDodjYWDVq1EjlypVTVFSUYmJiNHv2bJc+3cz1ngAAAAAAADkYPHiw+vfvr1mzZsnHx8d0Dm6iVKlS6tOnj1avXq2oqCh5eXll2r/+yjsAuJdERERoyZIl6tSpU6b1xYsXc1rMDbnyYOle53Q6FRMTo0WLFqlChQqKioqS0+nU9u3b1bZtW8XFxemrr74ynZkthn4AAAAAAAA5GDVqlPbu3atixYopNDQ0yxBp48aNhsqQnWnTpqlAgQJKSEhQQkJCpj3Lshj6AXcJJ5JcQ48ePdSpUyedOnVKtWvXliStWLFCo0aN4nl+bmjx4sUKCgoynXFfmjlzpr7//nutWLFCtWrVyrQXHx+vxo0ba/bs2WrdurWhwpzxTD8AAAAAAIAcDBo06Ib7AwYMyKUSAHBdPHvMdUyaNElDhgzRsWPHJEmhoaEaOHCgSw4n7ld2u10zZ87UihUrdPLkSTkcjkz78fHxhspwVb169VS7dm2988472e4PHTpUCQkJWrp0aS6X3RxDPwAAAAAAANzTNm/erOnTp3PSBbhN7du314cffihfX99M6ykpKercubNiY2MlSYcPH1bx4sXl4eFhIhPZOHXqlPLly6cCBQqYTsF1OnXqpJkzZ+q5555TYGBglpOyY8aMMVSGqx588EEtWbJEFStWzHb/119/VYMGDXTixIncDbsFDP0AAAAAAABwzzl//rzmzp2r6dOna/369SpfvrwSExNNZwFuxcPDQ8ePH1fRokUzrZ8+fVoPPvig0tPTDZUhO/v371d6eroefvjhTOu7d++Wl5eXQkNDzYQhkwceeECzZ89Ww4YNTacgB3ny5NHBgwcVGBiY7f6xY8cUFhamy5cv53LZzfFMPwAAAAAAgOsUKlTolp5RlZycnAs1uB0JCQmaPn265s+fr9TUVL399tv673//q4iICNNpgNs4f/68nE6nnE6nLly4IG9v74w9u92uRYsWZRkEwry2bduqffv2WYZ+P/30k6ZNm6ZVq1aZCUMmefLk4c8kF2e32+XpmfP4zMPDw2U/9MDQDwAAAAAA4DpcA+lejh8/rhkzZig2NlYpKSl6+eWXlZCQoCpVqqh169b85Spwm/z9/WVZlizLUqlSpbLsW5Z102eeIvf9+uuvqlq1apb1J598Up06dTJQhOz07NlTH374ocaPH39LHzBC7nM6nWrbtq3y5s2b7b4rnvC7iqEfAAAAAADAddq0aXNb7587d65iYmKUP3/+u1SEGwkLC9Pf//53TZgwQc8884xsNpvpJMCtrVy5Uk6nU7Vr19b8+fNVuHDhjL08efIoJCRExYsXN1iI7FiWpQsXLmRZP3funOx2u4EiZGf16tVauXKlFi9erEceeUReXl6Z9uPi4gyV4apb+T6wdevWuVBy+3imHwAAAAAAwB3y8/NTYmKiwsPDTafcl0qXLq0rV66oRYsWatWqlcqUKSNJ8vLyUlJSkiIjIw0XAu7p4MGDCg4O5jSSm2jUqJF8fHw0d+5ceXh4SPrzmsJmzZopJSVFixcvNlwISWrXrt0N92fMmJFLJfi/cuTIERUvXtwlPnTEST8AAAAAAIA7xGeqzdq5c6fWrFmj6dOn6/HHH1epUqX0j3/8Q5IYVgC3adOmTSpXrpxsNpvOnTunzZs35/je8uXL52IZbmbkyJGqUaOGSpcurerVq0uSfvjhB50/f17x8fGG63AVQ717T2RkpMt8+IuTfgAAAAAAAHfI19dXSUlJLvGXPfe7P/74Q3PnzlVsbKx++ukn1axZUy1atFDjxo0VEBBgOg9weTabTSdOnFDRokVls9lkWVa2H2ywLIsrI13QsWPHNH78eCUlJSlfvnwqX768OnXqlOmKVriGU6dOaefOnRnPzuTPKPflSt8HMvQDAAAAAAC4Q670lz34/7Zv367p06drzpw5Sk5OVlpamukkwOVde6XnwYMHb/jekJCQXKrCnfj99981Z84cdevWzXQKJKWkpKhz586aPXu2HA6HJMnDw0OtW7fWuHHj5OPjY7gQt8uVvg80f8EoAAAAAAAAcBeULVtW//73v3X06FF99tlnGevDhw/X2bNnzYUBLiwkJCTjWtyQkJAbfsF1OZ1OLV26VC+99JKKFy+uIUOGmE7C//To0UMJCQlauHChzp49q7Nnz+rrr79WQkKCevbsaToPbo6TfgAAAAAAAHfIlT7hjZvz8/NzmWfvAK5mwYIFt/zemJiYu1iCv+LAgQOKjY3VzJkzdfToUbVo0UJt2rRRrVq15OHhYToPkh544AF98cUXevrppzOtr1y5Ui+99JJOnTplJgx/mSt9H+hpOgAAAAAAAMDdhYSEyMvLy3QGbhGfgQdy1rhx40yvr3+m39VTgJJ4pp+LuHz5suLi4jRt2jStXbtWDRo00OjRo/Xyyy+rT58+ioyMNJ2Ia1y8eFHFihXLsl60aFFdvHjRQBHu1LW/L5rG9Z4AAAAAAAB3aMuWLSpRooTpDAC4Yw6HI+Pru+++U8WKFbV48WKdPXtW586d06JFixQdHa0lS5aYTsX/BAUFadKkSWrWrJmOHTumuLg4/e1vfzOdhRxUqVJFAwYMUGpqasbapUuXNGjQIFWpUsVgGf4qV/owESf9AAAAAAAArlGoUKFb/sR2cnLyXa4BAHO6deumyZMnq1q1ahlrzz77rHx8fPT6669r+/btButwld1ul2VZsiyLKzzdwIcffqj69evroYceUoUKFWRZlhITE+Xt7a2lS5eazsM12rdvrw8//FC+vr6Z1lNSUtS5c2fFxsZKkrZt26bixYubSMyCZ/oBAAAAAABcXYE1SwAAKiZJREFUY9asWbf83jZt2tzFEtwtrvTsHcCV5cuXTz///LOioqIyrW/atEmVK1fWpUuXDJXhWqmpqZo/f76mT5+udevWqUGDBvrHP/6hZs2aKTExkes9XdClS5f08ccfa8eOHXI6nYqMjFTLli2VL18+02m4hoeHh44fP66iRYtmWj99+rQefPBBpaenGyrLGUM/AAAAAAAA3FcY+gG3pkaNGvLy8tLHH3+swMBASdKJEyfUqlUrXblyRQkJCYYLcb29e/dqxowZmjVrlo4ePaqXX35Zbdu2Ve3atTkFCNyi8+fPy+l0qlChQtq9e7cCAgIy9ux2uxYuXKh33nlHx44dM1iZPYZ+AAAAAAAAt+DSpUtKS0vLtObn52eoBneiYcOGmj59esYQA0D29uzZoyZNmmjnzp0KDg6WJB06dEilSpXSV199pYiICMOFyInD4dDSpUs1ffp0LVy4UL6+vjp9+rTprPvWggUL1KBBA3l5eWnBggU3fG9MTEwuVSEnNpvthle9W5alQYMGqW/fvrlYdWsY+gEAAAAAAOQgJSVFvXv31rx58/T7779n2bfb7QaqcCMOh0N79uzRyZMn5XA4Mu3VqFHDUBXgvpxOp5YtW5bpGsK6deve8rNPYd6pU6c0Z84c9ejRQ5I0d+5cxcTEKH/+/IbL7h82m00nTpxQ0aJFZbPZcnyfZVl8b+ECEhIS5HQ6Vbt2bc2fP1+FCxfO2MuTJ49CQkJc5hl+12PoBwAAAAAAkIO33npLK1eu1HvvvafWrVtrwoQJOnr0qD766CMNHz5cLVu2NJ2Ia6xbt04tWrTQwYMHdf1fefEXqcCdSU1NVd68eRn23QP8/PyUmJjIFcfATRw8eFDBwcFu9fteziNlAAAAAACA+9zChQs1ceJE/e1vf5Onp6eqV6+ud999V0OHDtUnn3xiOg/X6dChgypVqqQtW7YoOTlZZ86cyfhKTk42nQe4HYfDocGDBysoKEgFChTQ/v37JUn9+vXT9OnTDdfhr+IckFmzZ8/W5cuXs6xfuXJFs2fPNlCEnGzfvl1r1qzJeD1hwgRVrFhRLVq00JkzZwyW5YyhHwAAAAAAQA6Sk5MVFhYm6c+TEVcHR9WqVdP3339vMg3Z2L17t4YOHaqyZcvK399fBQsWzPQF4Pa8//77mjlzpkaOHKk8efJkrEdFRWnatGkGywD31a5dO507dy7L+oULF9SuXTsDRcjJ22+/rfPnz0uSNm/erB49eqhhw4bat29fxnW5roahHwAAAAAAQA7Cw8N14MABSVJkZKTmzZsn6c8TgP7+/ubCkK3KlStrz549pjOAe8bs2bM1ZcoUtWzZUh4eHhnr5cuX144dOwyWAe7L6XRme13kkSNH+ICKi9m/f78iIyMlSfPnz9fzzz+voUOHauLEiVq8eLHhuux5mg4AAAAAAABwVe3atVNSUpJq1qypPn366LnnntO4ceOUnp6u0aNHm87DdTp37qyePXvqxIkTioqKkpeXV6b98uXLGyoD3NPRo0cVERGRZd3hcCgtLc1AEeC+Hn30UVmWJcuyVKdOHXl6/v/xjN1u1/79+1W/fn2Dhbhenjx5dPHiRUnS8uXL1bp1a0lS4cKFM04AuhqGfgAAAAAAADno3r17xo9r1aqlHTt2aP369SpZsqQqVKhgsAzZefHFFyVJ7du3z1izLCvjVIXdbjeVBrilRx55RD/88INCQkIyrX/++ed69NFHDVUB7qlx48aSpMTERD377LMqUKBAxl6ePHkUGhqa8ecYXEO1atXUo0cPVa1aVT///LM+++wzSdKuXbv00EMPGa7LHkM/AAAAAACAWxQcHKzg4GDTGcjB/v37TScA95QBAwaoVatWOnr0qBwOh+Li4rRz507Nnj1b33zzjek8/EUhISFZTkLj7hswYIAkKTQ0VM2aNZO3t7fhItzM+PHj1bFjR33xxReaNGmSgoKCJEmLFy922VOZltPpdJqOAAAAAAAAcEXvvffeDff79++fSyUAYMbSpUs1dOhQbdiwQQ6HQ9HR0erfv7/q1atnOg05uHLlik6ePCmHw5FpnQ+tAPc+hn4AAAAAAAA5uP76urS0NO3fv1+enp4qWbKkNm7caKgMN7Jt2zYdOnRIV65cybQeExNjqAhwP+np6RoyZIjat2+vEiVKmM7BLdi9e7fat2+vtWvXZlrnimPXYrfbNWbMGM2bNy/bP6uSk5MNleFGLl26lOVZpn5+foZqcsb1ngAAAAAAADn49ddfs6ydP39ebdu2VZMmTQwU4Ub27dunJk2aaPPmzRnP8pP+fK6fJP7CG7gNnp6e+uCDD9SmTRvTKbhFbdu2laenp7755hsFBgZm/N4H1zJo0CBNmzZNPXr0UL9+/dS3b18dOHBAX331FTcIuJiUlBT17t1b8+bN0++//55l3xW/r+CkHwAAAAAAwG3asmWLGjVqpAMHDphOwTWef/55eXh4aOrUqQoPD9fPP/+s33//XT179tS///1vVa9e3XQi4FYaN26sxo0bq23btqZTcAvy58+vDRs2qEyZMqZTcAMlS5bU2LFj9dxzz8nX11eJiYkZa+vWrdN///tf04n4n7feeksrV67Ue++9p9atW2vChAk6evSoPvroIw0fPlwtW7Y0nZgFJ/0AAAAAAABu09mzZ3Xu3DnTGbjOjz/+qPj4eAUEBMhms8lms6latWoaNmyYunTpku3JTQA5a9Cggfr06aMtW7boscceU/78+TPtc2Wua4mMjNTp06dNZ+AmTpw4oaioKElSgQIFMr6faNSokfr162cyDddZuHChZs+eraefflrt27dX9erVFRERoZCQEH3yyScM/QAAAAAAANzJ2LFjM712Op06fvy45syZo/r16xuqQk7sdrsKFCggSXrggQd07NgxlS5dWiEhIdq5c6fhOsD9vPnmm5Kk0aNHZ9njGXGuZ8SIEerVq5eGDh2qqKgoeXl5Zdp3xeeP3Y8eeughHT9+XMHBwYqIiNB3332n6Oho/fLLL8qbN6/pPFwjOTlZYWFhkv78/+fq8xarVauW8fujq2HoBwAAAAAAkIMxY8Zkem2z2RQQEKA2bdqoT58+hqqQk3LlymnTpk0KDw9X5cqVNXLkSOXJk0dTpkxReHi46TzA7TgcDtMJuA1169aVJNWpUyfTutPpZEjrQpo0aaIVK1aocuXK6tq1q15++WVNnz5dhw4dUvfu3U3n4Rrh4eE6cOCAQkJCFBkZqXnz5umJJ57QwoUL5e/vbzovWzzTDwAAAAAAAPeEpUuXKiUlRU2bNtW+ffvUqFEj7dixQ0WKFNFnn32m2rVrm04E3EJ8fLw6deqkdevWZTkddu7cOT311FOaPHkyz8l0MQkJCTfcr1mzZi6V4Hb89NNPWrNmjSIiIrgy18WMGTNGHh4e6tKli1auXKnnnntOdrtd6enpGj16tLp27Wo6MQuGfgAAAAAAALhnJScnq1ChQrIsy3QK4DZiYmJUq1atHE8djR07VitXrtSXX36Zy2WAe0tLS9Prr7+ufv36cQLdDR06dEjr169XyZIlVaFCBdM52WLoBwAAAAAAkIOUlBQNHz5cK1as0MmTJ7Ncdbdv3z5DZbiZI0eOyLIsBQUFmU4B3E5ISIiWLFmismXLZru/Y8cO1atXT4cOHcrlMtzMDz/8oI8++kj79u3T559/rqCgIM2ZM0dhYWGqVq2a6TxI8vf318aNGxn6uTCHw6FRo0bpq6++UlpamurWrav+/fvL29vbdNpN8Uw/AAAAAACAHLz66qtKSEhQq1atFBgYyGkxF+dwOPT+++9r1KhR+uOPPyRJvr6+6tmzp/r27SubzWa4EHAPv/32m7y8vHLc9/T01KlTp3KxCLdi/vz5atWqlVq2bKmNGzfq8uXLkqQLFy5o6NChWrRokeFCSH8+0++rr75Sjx49TKcgByNGjNC7776rOnXqKF++fBo9erROnz6tKVOmmE67KYZ+AAAAAAAAOVi8eLG+/fZbVa1a1XQKbkHfvn01ffp0DR8+XFWrVpXT6dSaNWs0cOBApaamasiQIaYTAbcQFBSkzZs3KyIiItv9TZs2KTAwMJercDPvv/++Jk+erNatW+vTTz/NWH/qqaf03nvvGSzDtSIiIjR48GCtXbtWjz32mPLnz59pv0uXLobKcNXMmTM1btw4dezYUZK0ZMkSNW7cWB999JHLfwCM6z0BAAAAAAByEBYWpkWLFuV4xR1cS/HixTV58mTFxMRkWv/666/VsWNHHT161FAZ4F46d+6sVatW6Zdffslynd2lS5f0xBNPqFatWho7dqyhQmTHx8dH27ZtU2hoqHx9fZWUlKTw8HDt27dPkZGRSk1NNZ0I/fm9RU4sy+LqcBfg7e2tXbt2KTg4WJLkdDrl7e2tffv2ufy14Zz0AwAAAAAAyMHgwYPVv39/zZo1Sz4+PqZzcBPJyckqU6ZMlvUyZcooOTnZQBHgnt59913FxcWpVKlS6tSpk0qXLi3LsrR9+3ZNmDBBdrtdffv2NZ2J6wQGBmrPnj0KDQ3NtL569WqeH+dC9u/fbzoBN3HlyhXly5cv47VlWcqTJ0/GlbmujKEfAAAAAABADkaNGqW9e/eqWLFiCg0NzfKMq40bNxoqQ3YqVKig8ePHZzl9NH78eJUvX95QFeB+ihUrprVr1+rNN99Unz59dPWyOMuy9Oyzz2rixIkqVqyY4Upc74033lDXrl0VGxsry7J07Ngx/fjjj/rnP/+p/v37m84D3Eq/fv0yfeDrypUrGjJkiAoWLJixNnr0aBNpN8T1ngAAAAAAADkYNGjQDfcHDBiQSyW4FQkJCXruuecUHBysKlWqyLIsrV27VocPH9aiRYtUvXp104mA2zlz5oz27Nkjp9Ophx9+WIUKFTKdhBvo27evxowZk3GVZ968efXPf/5TgwcPNlyGq9q3b3/D/djY2FwqQU6efvrpmz67z7IsxcfH51LRrWPoBwAAAAAAgHvGsWPHNGHCBO3YsUNOp1ORkZF6/fXXNXDgQP4iFcB94eLFi9q2bZscDociIyNVoEAB00m4RpMmTTK9TktL05YtW3T27FnVrl1bcXFxhspwL2DoBwAAAAAAcBNXrlzRyZMn5XA4Mq0HBwcbKsLtSEpKUnR0tOx2u+kUAMgVhw8flmVZeuihh0yn4BY4HA517NhR4eHh6tWrl+kc3CY/Pz8lJia6xLMzbaYDAAAAAAAAXNWuXbtUvXp15cuXTyEhIQoLC1NYWJhCQ0MVFhZmOg8AgAzp6enq16+fChYsqNDQUIWEhKhgwYJ69913lZaWZjoPN2Cz2dS9e3eNGTPGdAr+Alc6W+dpOgAAAAAAAMBVtWvXTp6envrmm28UGBh40+e7AABgSqdOnfTll19q5MiRqlKliiTpxx9/1MCBA3X69GlNnjzZcCFuZO/evUpPTzedATfH0A8AAAAAACAHiYmJ2rBhg8qUKWM6BQCAG5o7d64+/fRTNWjQIGOtfPnyCg4OVvPmzRn6uYgePXpkeu10OnX8+HF9++23atOmjaEq3CsY+gEAAAAAAOQgMjJSp0+fNp2Bm2jatOkN98+ePZs7IQBgkLe3t0JDQ7Osh4aGKk+ePLkfhGz9+uuvmV7bbDYFBARo1KhRat++vaEq3CsY+gEAAAAAAORgxIgR6tWrl4YOHaqoqCh5eXll2vfz8zNUhmsVLFjwpvutW7fOpRoAMOOtt97S4MGDNWPGDOXNm1eSdPnyZQ0ZMkSdOnUyXIerVq5caToB/8dc6fp3y+lKTxgEAAAAAABwITabTVLWv8xxOp2yLEt2u91EFgAAWTRp0kQrVqxQ3rx5VaFCBUlSUlKSrly5ojp16mR6b1xcnIlE/M/p06d14MABWZal0NBQFSlSxHQS7oCvr6+SkpIUHh5uOoWTfgAAAAAAADm50afxr7+eCwAAk/z9/fXiiy9mWitRooShGmRn69atevPNN7VmzZpM6zVr1tSkSZNUunRpQ2W4E4sXL1ZQUJDpDEmc9AMAAAAAALhl586d0yeffKJp06YpKSmJk34AAOCWnDhxQuXKlVNAQIA6dOigMmXKyOl0atu2bZo6dap+//13bdmyRUWLFjWdel/r0aPHLb939OjRd7Hkr2HoBwAAAAAAcBPx8fGKjY1VXFycQkJC9OKLL+rFF1/Uo48+ajoNAIAMmzZt0q5du2RZlkqVKqWoqCjTSfif3r17a/ny5VqzZo28vb0z7V26dEnVqlVTvXr1NGzYMEOFkKRatWpler1hwwbZ7faMU5i7du2Sh4eHHnvsMcXHx5tIvCGu9wQAAAAAAMjGkSNHNHPmTMXGxiolJUUvvfSS0tLSNH/+fEVGRprOAwAgw88//6xXXnlF27Zt09VzPpZl6ZFHHtH06dP1+OOPGy7EsmXL9M4772QZ+ElSvnz59Pbbb2vkyJEM/Qy79mr30aNHy9fXV7NmzVKhQoUkSWfOnFG7du1UvXp1U4k3xEk/AAAAAACA6zRs2FCrV69Wo0aN1LJlS9WvX18eHh7y8vJSUlISQz8AgMvYtm2bKleurLJly6p79+4qW7asnE6ntm/frjFjxmjnzp1at24df3YZ5u/vr/Xr1ysiIiLb/T179qhSpUo6e/Zs7oYhR0FBQfruu+/0yCOPZFrfsmWL6tWrp2PHjhkqyxlDPwAAAAAAgOt4enqqS5cuevPNN/Xwww9nrDP0AwC4mr///e+y2+2aP3++LMvKtOd0OtW0aVN5eXlp3rx5hgohSR4eHjp+/HiOz+z77bffFBQUpPT09FwuQ058fX319ddfq3bt2pnW4+Pj9cILL+jChQuGynJmMx0AAAAAAADgan744QdduHBBlSpVUuXKlTV+/HidOnXKdBYAAFmsWrVK//rXv7IM/KQ/r/j817/+lenKQphz4cIFnT9/Pscvzmi5liZNmqhdu3b64osvdOTIER05ckRffPGFXnnlFTVt2tR0XrY46QcAAAAAAJCDixcv6tNPP1VsbKx+/vln2e12jR49Wu3bt5evr6/pPAAA5O3trd27d6tEiRLZ7h8+fFgPP/ywUlNTc7kM17LZbNkOZq9yOp2yLEt2uz0Xq3AjFy9e1D//+U/FxsYqLS1N0p+3Qbzyyiv64IMPlD9/fsOFWTH0AwAAAAAAuAU7d+7U9OnTNWfOHJ09e1bPPPOMFixYYDoLAHCfK1OmjIYMGaIXX3wx2/0vvvhCffv21c6dO3O5DNdKSEi4pffVrFnzLpfgdqWkpGjv3r1yOp2KiIhwyWHfVQz9AAAAAAAAboPdbtfChQsVGxvL0A8AYNyAAQM0c+ZMffvttypXrlymvc2bN+v5559XmzZtNGjQIEOF+CuGDx+uDh06yN/f33QK3AhDPwAAAAAAAAAA3FRqaqrq1Kmjn376Sc8884zKli0rSdq2bZuWL1+uJ554QvHx8fL29jZcitvh5+enxMREhYeHm065r/3yyy/6/PPPdejQIV25ciXTXlxcnKGqnNlMBwAAAAAAAAAAgL/G29tbK1eu1JAhQ3T8+HFNnjxZkydP1okTJ/T+++9r5cqVDPzcEOe1zPv0009VtWpVbdu2TV9++aXS0tK0bds2xcfHq2DBgqbzssVJPwAAAAAAAAAA7hNz585VTEyMSz+XDJKvr6+SkpI46WdQ+fLl9cYbb+itt97K+O8RFhamN954Q4GBgS55ZS4n/QAAAAAAAAAAuE+88cYb+u2330xnAC5v7969eu655yRJefPmVUpKiizLUvfu3TVlyhTDddlj6AcAAAAAAAAAwH2Cy/+AW1O4cGFduHBBkhQUFKQtW7ZIks6ePauLFy+aTMuRp+kAAAAAAAAAAAAAwJVUr15dy5YtU1RUlF566SV17dpV8fHxWrZsmerUqWM6L1sM/QAAAAAAAAAAAFxI9erVlS9fPtMZ97Xx48crNTVVktSnTx95eXlp9erVatq0qfr162e4LnuWk7O8AAAAAAAAAADcF3x9fZWUlKTw8HDTKfcth8OhPXv26OTJk3I4HJn2atSoYagKV50/f/6W3ufn53eXS24fJ/0AAAAAAAAAAABywbp169SiRQsdPHgwy/MVLcuS3W43VIar/P39ZVnWTd/niv+tGPoBAAAAAAAAAOCGxo4dq9dff13e3t46dOiQSpQocdNhRUhIiLy8vHKpENfr0KGDKlWqpG+//VaBgYG3NFxC7lq5cmXGj51Opxo2bKhp06YpKCjIYNWt4XpPAAAAAAAAAADckKenp44dO6aiRYvKw8NDx48fV9GiRU1n4Qby58+vpKQkRUREmE7BLXKnK3E56QcAAAAAAAAAgBsqXry45s+fr4YNG8rpdOrIkSNKTU3N9r3BwcG5XIfsVK5cWXv27GHoh7uCk34AAAAAAAAAALihKVOmqHPnzkpPT8/xPU6nk2fFuZAvv/xS7777rt5++21FRUVluWq1fPnyhsqQE3c66cfQDwAAAAAAAAAAN3XhwgUdPHhQ5cuX1/Lly1WkSJFs31ehQoVcLkN2bDZbljXLshjOujBfX19t2rRJYWFhplNuius9AQAAAAAAAABwU76+vipXrpxmzJihqlWrKm/evKaTcAP79+83nYCbaNq0aabXqamp6tChg/Lnz59pPS4uLjezbgkn/QAAAAAAAAAAuEds2LBB27dvl2VZKlu2rKKjo00nAW6lXbt2t/S+GTNm3OWS28fQDwAAAAAAAAAAN3fy5Ek1b95cq1atkr+/v5xOp86dO6datWrp008/VUBAgOlEXGPbtm06dOiQrly5kmk9JibGUBHuBQz9AAAAAAAAAABwc82aNdPevXs1Z84clS1bVtKfg6U2bdooIiJCc+fONVwISdq3b5+aNGmizZs3ZzzLT/rzuX6SeKYf7kjWJ0YCAAAAAAAAAAC3smTJEk2aNClj4CdJkZGRmjBhghYvXmywDNfq2rWrwsLC9Ntvv8nHx0dbt27V999/r0qVKmnVqlWm8+DmPE0HAAAAAAAAAACAO+NwOOTl5ZVl3cvLSw6Hw0ARsvPjjz8qPj5eAQEBstlsstlsqlatmoYNG6YuXbro119/NZ0IN8ZJPwAAAAAAAAAA3Fzt2rXVtWtXHTt2LGPt6NGj6t69u+rUqWOwDNey2+0qUKCAJOmBBx7I+O8VEhKinTt3mkzDPYCTfgAAAAAAAAAAuLnx48frhRdeUGhoqEqUKCHLsnTo0CFFRUXp448/Np2H/ylXrpw2bdqk8PBwVa5cWSNHjlSePHk0ZcoUhYeHm86Dm7OcV58SCQAAAAAAAAAA3NqyZcu0Y8cOOZ1ORUZGqm7duqaTcI2lS5cqJSVFTZs21b59+9SoUSPt2LFDRYoU0WeffabatWubToQbY+gHAAAAAAAAAMB9IioqSosWLVKJEiVMp+B/kpOTVahQIVmWZToFbo7rPQEAAAAAAAAAuE8cOHBAaWlppjMg6ciRI7IsS0FBQaZTcI+wmQ4AAAAAAAAAAAC4HzgcDr333nsqWLCgQkJCFBwcLH9/fw0ePFgOh8N0HtwcJ/0AAAAAAAAAAAByQd++fTV9+nQNHz5cVatWldPp1Jo1azRw4EClpqZqyJAhphPhxnimHwAAAAAAAAAA9wlfX18lJSUpPDzcdMp9qXjx4po8ebJiYmIyrX/99dfq2LGjjh49aqgM9wKu9wQAAAAAAAAAAMgFycnJKlOmTJb1MmXKKDk52UAR7iUM/QAAAAAAAAAAAHJBhQoVNH78+Czr48ePV/ny5Q0U4V7CM/0AAAAAAAAAAHBjaWlpqlevnj766COVKlXqhu/96KOPVKxYsVwqw/VGjhyp5557TsuXL1eVKlVkWZbWrl2rw4cPa9GiRabz4OY46QcAAAAAAAAAgBvz8vLSli1bZFnWTd/bokUL5c+fPxeqkJ2aNWtq165datKkic6ePavk5GQ1bdpUW7du1YwZM0znwc1ZTqfTaToCAAAAAAAAAAD8dT179pSXl5eGDx9uOgV/QVJSkqKjo2W3202nwI1xvScAAAAAAAAAAG7uypUrmjZtmpYtW6ZKlSplOc03evRoQ2UAcgtDPwAAAAAAAAAA3NyWLVsUHR0tSdq1a1emvVu59hOA+2PoBwAAAAAAAACAm1u5cqXpBACGMfQDAAAAAAAAAOAesWfPHu3du1c1atRQvnz55HQ6OennApo2bXrD/bNnz+ZOCO5pDP0AAAAAAAAAAHBzv//+u1566SWtXLlSlmVp9+7dCg8P16uvvip/f3+NGjXKdOJ9rWDBgjfdb926dS7V4F5lOZ1Op+kIAAAAAAAAAADw17Vu3VonT57UtGnTVLZsWSUlJSk8PFzfffedunfvrq1bt5pOBHCXcdIPAAAAAAAAAAA3991332np0qV66KGHMq0//PDDOnjwoKEqALnJZjoAAAAAAAAAAADcmZSUFPn4+GRZP336tPLmzWugCEBuY+gHAAAAAAAAAICbq1GjhmbPnp3x2rIsORwOffDBB6pVq5bBMgC5hWf6AQAAAAAAAADg5rZt26ann35ajz32mOLj4xUTE6OtW7cqOTlZa9asUcmSJU0nArjLGPoBAAAAAAAAAHAPOHHihCZNmqQNGzbI4XAoOjpab731lgIDA02nAcgFDP0AAAAAAAAAAAAAN+dpOgAAAAAAAAAAANy5M2fOaPr06dq+fbssy1LZsmXVrl07FS5c2HQagFzAST8AAAAAAAAAANxcQkKCXnjhBfn5+alSpUqSpA0bNujs2bNasGCBatasabgQwN3G0A8AAAAAAAAAADdXrlw5PfXUU5o0aZI8PDwkSXa7XR07dtSaNWu0ZcsWw4UA7jaGfgAAAAAAAAAAuLl8+fIpMTFRpUuXzrS+c+dOVaxYUZcuXTJUBiC32EwHAAAAAAAAAACAOxMdHa3t27dnWd++fbsqVqyY+0EAcp2n6QAAAAAAAAAAAHD7Nm3alPHjLl26qGvXrtqzZ4+efPJJSdK6des0YcIEDR8+3FQigFzE9Z4AAAAAAAAAALghm80my7J0s7/mtyxLdrs9l6oAmMJJPwAAAAAAAAAA3ND+/ftNJwBwIZz0AwAAAAAAAAAAANwcJ/0AAAAAAAAAALgHHD16VGvWrNHJkyflcDgy7XXp0sVQFYDcwkk/AAAAAAAAAADc3IwZM9ShQwflyZNHRYoUkWVZGXuWZWnfvn0G6wDkBoZ+AAAAAAAAAAC4uRIlSqhDhw7q06ePbDab6RwABvB/PgAAAAAAAAAAbu7ixYtq3rw5Az/gPsb//QAAAAAAAAAAuLlXXnlFn3/+uekMAAZxvScAAAAAAAAAAG7ObrerUaNGunTpkqKiouTl5ZVpf/To0YbKAOQWT9MBAAAAAAAAAADgzgwdOlRLly5V6dKlJUmWZWXsXftjAPcuTvoBAAAAAAAAAODmChUqpDFjxqht27amUwAYwjP9AAAAAAAAAABwc3nz5lXVqlVNZwAwiKEfAAAAAAAAAABurmvXrho3bpzpDAAGcb0nAAAAAAAAAABurkmTJoqPj1eRIkX0yCOPyMvLK9N+XFycoTIAucXTdAAAAAAAAAAAALgz/v7+atq0qekMAAZx0g8AAAAAAAAAAABwczzTDwAAAAAAAAAAAHBzXO8JAAAAAAAAAICbCwsLk2VZOe7v27cvF2sAmMDQDwAAAAAAAAAAN9etW7dMr9PS0vTrr79qyZIlevvtt81EAchVPNMPAAAAAAAAAIB71IQJE7R+/XrNmDHDdAqAu4yhHwAAAAAAAAAA96h9+/apYsWKOn/+vOkUAHeZzXQAAAAAAAAAAAC4O7744gsVLlzYdAaAXMAz/QAAAAAAAAAAcHOPPvqoLMvKeO10OnXixAmdOnVKEydONFgGILcw9AMAAAAAAAAAwM298MILmYZ+NptNAQEBevrpp1WmTBmDZQByC8/0AwAAAAAAAAAAANwcJ/0AAAAAAAAAAHBTNpst0wm/7FiWpfT09FwqAmAKQz8AAAAAAAAAANzUl19+mePe2rVrNW7cOHHhH3B/4HpPAAAAAAAAAADuITt27FCfPn20cOFCtWzZUoMHD1ZwcLDpLAB3mc10AAAAAAAAAAAAuHPHjh3Ta6+9pvLlyys9PV2JiYmaNWsWAz/gPsHQDwAAAAAAAAAAN3bu3Dn17t1bERER2rp1q1asWKGFCxeqXLlyptMA5CKe6QcAAAAAAAAAgJsaOXKkRowYoQcffFBz587VCy+8YDoJgCE80w8AAAAAAAAAADdls9mUL18+1a1bVx4eHjm+Ly4uLherAJjAST8AAAAAAAAAANxU69atZVmW6QwALoCTfgAAAAAAAAAAAICbs5kOAAAAAAAAAAAAAHBnGPoBAAAAAAAAAAAAbo6hHwAAAAAAAAAAAODmGPoBAAAAAAAAAAAAbo6hHwAAAAAAAAAAAODmGPoBAAAAAAAAgBtq27atLMvK8rVnz547/rlnzpwpf3//O48EAOQaT9MBAAAAAAAAAIC/pn79+poxY0amtYCAAEM12UtLS5OXl5fpDAC453HSDwAAAAAAAADcVN68efXggw9m+vLw8NDChQv12GOPydvbW+Hh4Ro0aJDS09Mz/rnRo0crKipK+fPnV4kSJdSxY0f98ccfkqRVq1apXbt2OnfuXMbpwYEDB0qSLMvSV199lanB399fM2fOlCQdOHBAlmVp3rx5evrpp+Xt7a2PP/5YkjRjxgyVLVtW3t7eKlOmjCZOnJjxc1y5ckWdOnVSYGCgvL29FRoaqmHDht29XzgAuAdx0g8AAAAAAAAA7iFLly7VP/7xD40dO1bVq1fX3r179frrr0uSBgwYIEmy2WwaO3asQkNDtX//fnXs2FG9evXSxIkT9dRTT+k///mP+vfvr507d0qSChQocFsNvXv31qhRozRjxgzlzZtXU6dO1YABAzR+/Hg9+uij+vXXX/Xaa68pf/78atOmjcaOHasFCxZo3rx5Cg4O1uHDh3X48OH/218YALjHMfQDAAAAAAAAADf1zTffZBrINWjQQL/99pveeecdtWnTRpIUHh6uwYMHq1evXhlDv27dumX8M2FhYRo8eLDefPNNTZw4UXny5FHBggVlWZYefPDBv9TVrVs3NW3aNOP14MGDNWrUqIy1sLAwbdu2TR999JHatGmjQ4cO6eGHH1a1atVkWZZCQkL+0r8XAO5nDP0AAAAAAAAAwE3VqlVLkyZNynidP39+RURE6JdfftGQIUMy1u12u1JTU3Xx4kX5+Pho5cqVGjp0qLZt26bz588rPT1dqampSklJUf78+e+4q1KlShk/PnXqlA4fPqxXXnlFr732WsZ6enq6ChYsKElq27atnnnmGZUuXVr169dXo0aNVK9evTvuAID7CUM/AAAAAAAAAHBTV4d813I4HBo0aFCmk3ZXeXt76+DBg2rYsKE6dOigwYMHq3Dhwlq9erVeeeUVpaWl3fDfZ1mWnE5nprXs/plrB4cOh0OSNHXqVFWuXDnT+zw8PCRJ0dHR2r9/vxYvXqzly5frpZdeUt26dfXFF1/csAcA8P8x9AMAAAAAAACAe0h0dLR27tyZZRh41fr165Wenq5Ro0bJZrNJkubNm5fpPXny5JHdbs/yzwYEBOj48eMZr3fv3q2LFy/esKdYsWIKCgrSvn371LJlyxzf5+fnp2bNmqlZs2b629/+pvr16ys5OVmFCxe+4c8PAPgTQz8AAAAAAAAAuIf0799fjRo1UokSJfT3v/9dNptNmzZt0ubNm/X++++rZMmSSk9P17hx4/T8889rzZo1mjx5cqafIzQ0VH/88YdWrFihChUqyMfHRz4+Pqpdu7bGjx+vJ598Ug6HQ71795aXl9dNmwYOHKguXbrIz89PDRo00OXLl7V+/XqdOXNGPXr00JgxYxQYGKiKFSvKZrPp888/14MPPih/f/+79KsEAPcem+kAAAAAAAAAAMD/nWeffVbffPONli1bpscff1xPPvmkRo8erZCQEElSxYoVNXr0aI0YMULlypXTJ598omHDhmX6OZ566il16NBBzZo1U0BAgEaOHClJGjVqlEqUKKEaNWqoRYsW+uc//ykfH5+bNr366quaNm2aZs6cqaioKNWsWVMzZ85UWFiYJKlAgQIaMWKEKlWqpMcff1wHDhzQokWLMk4iAgBuznJefwEzAAAAAAAAAAAAALfCxyQAAAAAAAAAAAAAN8fQDwAAAAAAAAAAAHBzDP0AAAAAAAAAAAAAN8fQDwAAAAAAAAAAAHBzDP0AAAAAAAAAAAAAN8fQDwAAAAAAAAAAAHBzDP0AAAAAAAAAAAAAN8fQDwAAAAAAAAAAAHBzDP0AAAAAAAAAAAAAN8fQDwAAAAAAAAAAAHBzDP0AAAAAAAAAAAAAN/f/ACd7/g2sDYFWAAAAAElFTkSuQmCC",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"best_features = pipeline.named_steps['classifier'].feature_importances_\n",
"best_features = pd.Series(best_features, index=X_train.columns)\n",
"best_features /= best_features.sum()\n",
"best_features_cumulative = best_features.sort_values(ascending=False).cumsum()\n",
"best_features.sort_values(inplace=True)\n",
"\n",
"fig, ax = plt.subplots(1, 2, figsize=(20, 10))\n",
"\n",
"best_features.plot(kind=\"barh\", ax=ax[0])\n",
"ax[0].set_title(\"Feature importance\")\n",
"ax[0].grid(axis=\"x\", which=\"both\", color=\"black\", linestyle=\"--\", linewidth=0.5)\n",
"ax[0].set_axisbelow(True)\n",
"ax[0].set_xlabel(\"Importance\")\n",
"ax[0].set_ylabel(\"Feature\")\n",
"\n",
"ax[1].stem(best_features_cumulative.index, best_features_cumulative)\n",
"ax[1].set_title(\"Cumulative feature importance\")\n",
"ax[1].grid(axis=\"y\", which=\"both\", color=\"black\", linestyle=\"--\", linewidth=0.5)\n",
"ax[1].set_axisbelow(True)\n",
"ax[1].set_xlabel(\"Features\")\n",
"ax[1].set_ylabel(\"Cumulative importance\")\n",
"ax[1].set_xticks(\n",
" rotation=\"vertical\",\n",
" ticks=range(len(best_features_cumulative)),\n",
" labels=best_features_cumulative.index,\n",
")\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Extra: Using MLflow\n",
"\n",
"Optionally, if you are using the JupyterLab interface included in the architecture ([localhost:8085](http://localhost:8085)), you can register the model above with mlflow experiments and runs, as presented bellow."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"import mlflow\n",
"\n",
"os.environ[\"MLFLOW_S3_ENDPOINT_URL\"] = \"http://minio:8081\"\n",
"os.environ[\"AWS_ACCESS_KEY_ID\"] = \"access2024minio\"\n",
"os.environ[\"AWS_SECRET_ACCESS_KEY\"] = \"supersecretaccess2024\"\n",
"mlflow.set_tracking_uri(\"http://mlflow:8083\")\n",
"mlflow.set_experiment(\"mlflow_tracking_model\")\n",
"mlflow.sklearn.autolog(\n",
" log_model_signatures=True,\n",
" log_input_examples=True,\n",
" registered_model_name=\"clients_model\",\n",
")\n",
"\n",
"with mlflow.start_run(run_name=\"autolog_pipe_model_reg\") as run:\n",
" pipeline.fit(X_train, y_train)\n",
" # ...\n",
" # mlflow.sklearn.log_model...\n",
" # mlflow.log_metric..."
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"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.12.6"
}
},
"nbformat": 4,
"nbformat_minor": 4
}