{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Основы программирования в Python\n", "\n", "*Семинар по классификации, Максим Першин*" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Правила игры и организационные моменты\n", "\n", "* В ходе курса мы выдадим несколько домашних заданий. Каждое задание будет представлять собой набор данных и тетрадку наподобие этой, в которой вам самим нужно будет выполнить некоторые задания. Тетрадка с решениями должна быть исполняемой, то есть, если запустить все ячейки от начала до конца, ошибок (из-за которых исполнение остановится) быть не должно.\n", " + Задачи, для решения которых предоставлен неработающий код (код, который невозможно запустить из-за наличия грубых ошибок/опечаток), не засчитываются, даже если при этом зафиксирован верный результат.\n", " + Если при проверке работ установлен факт нарушения академической этики, студент получает оценку «0» за данную работу. Работа студента, предоставившего свою работу для списывания, также аннулируется.\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Самостоятельный поиск информации\n", "\n", "Не у всех задач, которые вам встретятся, есть готовые решения и, тем более, не ко всем вас будут детально готовить. В течение курса вам придется искать много информации самостоятельно — это один из ключевых навыков любой современной профессии. Чтобы искать эффективно, не набирайте в поиске просто формулировку задачи. Подумайте, какое **конкретное** действие вам нужно сделать и какого именно знания вам для этого не хватает, и сформулируйте этот запрос. Лучше всего писать запрос сразу **на английском** — глобальное сообщество программистов и аналитиков (да и в любой другой области) **гораздо** шире, чем русскоязычное.\n", "\n", "**Пример:** Допустим, вам нужно, как в семинаре, показать студентов с оценкой по английскому выше 7 и по мат. анализу выше 6. Вы помните, как выбирать строки по условию, но не представляете, что делать, если условий несколько.\n", "\n", "*Очень плохой запрос:* «Сколько студентов имеют выше 7 по английскому языку и выше 6 по мат. анализу python»\n", "\n", "*Плохой запрос:* «pandas выбрать строки по нескольким условиям»\n", "\n", "*Хороший запрос:* «pandas select rows by multiple conditions»\n", "\n", "По хорошему запросу ответ находится с первой ссылки. Запрос на русском плохой, потому что первые результаты в этом случае — машинные переводы вопросов со StackOverflow, а не оригинальный русскоязычный контент.\n", "\n", "### Полезные ссылки\n", "\n", "* https://google.com/\n", "* https://stackoverflow.com/\n", "\n", "Если у вас не получилось найти гайд/туториал/разбор вашего вопроса, это не повод отчаиваться. Ответ может прятаться в документации к библиотеке. Читать документацию совсем не страшно, и там тоже бывают очень подробные примеры.\n", "\n", "* https://docs.python.org/3/\n", "* https://pandas.pydata.org/pandas-docs/stable/\n", "* https://docs.scipy.org/doc/numpy/reference/\n", "* https://matplotlib.org/contents.html\n", "* http://scikit-learn.org/stable/documentation.html" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Линейные методы классификации. Решающие деревья. Оценка качества моделей. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Для работы нам понадобятся некоторые библиотеки: \n", "* `pandas` — библиотека для удобной работы с таблицами;\n", "* `NumPy` — библиотека для работы с массивами;\n", "* `scikit-learn` — библиотека, которая содержит реализации множества алгоритмов машинного обучения;\n", "* `matplotlib` — библиотека для построения графиков." ] }, { "cell_type": "code", "execution_count": 405, "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "\n", "import numpy as np\n", "\n", "from sklearn.linear_model import LinearRegression\n", "from sklearn.linear_model import LogisticRegression\n", "from sklearn.tree import DecisionTreeClassifier\n", "from sklearn.ensemble import RandomForestClassifier\n", "\n", "from sklearn.datasets import make_classification\n", "from sklearn.datasets import make_regression\n", "\n", "from sklearn.model_selection import train_test_split\n", "\n", "from sklearn import metrics\n", "\n", "import matplotlib.pyplot as plt\n", "from mpl_toolkits.mplot3d import Axes3D\n", "%matplotlib inline" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Отличие задачи классификации от задачи регрессии:" ] }, { "cell_type": "code", "execution_count": 406, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(12, 5))\n", "\n", "plt.subplot(121)\n", "plt.title(\"Задача регрессии\")\n", "X1, Y1 = make_regression(n_samples=100, n_features=2)\n", "plt.scatter(X1[:, 0], Y1, marker='o', s=75)\n", "\n", "model_reg = LinearRegression().fit(X1[:, 0].reshape(-1, 1), Y1)\n", "y_pred = model_reg.predict(X1[:, 0].reshape(-1, 1))\n", "plt.plot(X1[:, 0], y_pred, color='red', linewidth=2)\n", "\n", "plt.subplot(122)\n", "plt.title(\"Задача классификации\")\n", "X1, Y1 = make_classification(n_features=2, n_redundant=0, n_informative=2, n_clusters_per_class=2)\n", "plt.scatter(X1[:, 0], X1[:, 1], marker='o', c=Y1, s=75)\n", "\n", "model_clf = LogisticRegression().fit(X1, Y1)\n", "xx = np.linspace(-5, 5, 2)\n", "yy = np.linspace(-5, 5, 2)\n", "YY, XX = np.meshgrid(yy, xx)\n", "xy = np.vstack([XX.ravel(), YY.ravel()]).T\n", "Z = model_clf.decision_function(xy).reshape(XX.shape)\n", "plt.gca().contour(XX, YY, Z, levels=[0])\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Примеры задач, котрые решаются при помощи классификации:

\n", "\n", "\n", "**Почему для классификации нельзя использовать обычную линейную регрессию?**" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Данные для задачи классификации:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Рассмотрим пример задачи классификации на примере очень популярного датасета: https://www.kaggle.com/c/titanic. Мы хотим построить модель, которая бы корректно предсказывала выживаемость пассажира при крушении в зависимости от известных о нем данных." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* `PassengerId` – id пассажира (int32)\n", "* `Survived` – выжил ли пассажир (bool) {1-да, 0-нет}\n", "* `Name` – имя пассижира (str) \n", "* `Pclass` – класс каюты (int32)\n", "* `Sex` – пол пассажира (int32) \t\n", "* `Age` – возраст\t\n", "* `Sibsp` – кол-во братьев/систер и супргов/жен на борту (int32)\n", "* `Parch` – кол-во родителей/детей на борту (int32)\n", "* `Ticket` – номер билета (int32)\n", "* `Fare` – стоимость билета (float32)\n", "* `Cabin` – номер каюты (str)\t\n", "* `Embarked` – порт посадки (str) {C - Cherbourg, S - Southampton, Q - Queenstown}" ] }, { "cell_type": "code", "execution_count": 407, "metadata": {}, "outputs": [], "source": [ "df = pd.read_csv('https://raw.githubusercontent.com/Skvidvardin/Fun/master/titanic.csv', index_col=['PassengerId'])" ] }, { "cell_type": "code", "execution_count": 408, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
SurvivedPclassNameSexAgeSibSpParchTicketFareCabinEmbarked
PassengerId
103Braund, Mr. Owen Harrismale22.010A/5 211717.2500NaNS
211Cumings, Mrs. John Bradley (Florence Briggs Th...female38.010PC 1759971.2833C85C
313Heikkinen, Miss. Lainafemale26.000STON/O2. 31012827.9250NaNS
411Futrelle, Mrs. Jacques Heath (Lily May Peel)female35.01011380353.1000C123S
503Allen, Mr. William Henrymale35.0003734508.0500NaNS
\n", "
" ], "text/plain": [ " Survived Pclass \\\n", "PassengerId \n", "1 0 3 \n", "2 1 1 \n", "3 1 3 \n", "4 1 1 \n", "5 0 3 \n", "\n", " Name Sex Age \\\n", "PassengerId \n", "1 Braund, Mr. Owen Harris male 22.0 \n", "2 Cumings, Mrs. John Bradley (Florence Briggs Th... female 38.0 \n", "3 Heikkinen, Miss. Laina female 26.0 \n", "4 Futrelle, Mrs. Jacques Heath (Lily May Peel) female 35.0 \n", "5 Allen, Mr. William Henry male 35.0 \n", "\n", " SibSp Parch Ticket Fare Cabin Embarked \n", "PassengerId \n", "1 1 0 A/5 21171 7.2500 NaN S \n", "2 1 0 PC 17599 71.2833 C85 C \n", "3 0 0 STON/O2. 3101282 7.9250 NaN S \n", "4 1 0 113803 53.1000 C123 S \n", "5 0 0 373450 8.0500 NaN S " ] }, "execution_count": 408, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Проверим наличие пропусков:" ] }, { "cell_type": "code", "execution_count": 409, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Survived False\n", "Pclass False\n", "Name False\n", "Sex False\n", "Age True\n", "SibSp False\n", "Parch False\n", "Ticket False\n", "Fare False\n", "Cabin True\n", "Embarked True\n", "dtype: bool" ] }, "execution_count": 409, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.isnull().any()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Далее мы заполним пропуски в `Age` при помощи линейной регрессии. Почему сначала нужно разбить данные на `test` и `train`, а уже потом заполнять пропуски регрессией отдельно? Почему нельзя использовать целевой признак как фичу для линейной регрессии?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Пока номер билета нам ничего не дает. Давайте попробуем преобразовать его в какой-то осмысленный признак: возьмем из него первую букву, хоть мы и не знаем, что она означает (будем надеяться, что это этаж или класс каюты)." ] }, { "cell_type": "code", "execution_count": 410, "metadata": {}, "outputs": [], "source": [ "df.Cabin = df.Cabin.str[0]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "К сожалению, преобразования имени пассажира и номера билета в осмысленные признаки слишком тяжелая задача и не факт, что это принесет нам пользу. Поэтому мы удалим даные признаки из выборки. Какие у вас есть идеи по поводу того как можно преобразовать имя и номера билета в признаки?" ] }, { "cell_type": "code", "execution_count": 411, "metadata": {}, "outputs": [], "source": [ "df = df.drop('Name', axis=1).drop('Ticket', axis=1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Преобразуем текстовые признаки Cabin, Sex и Embarked. Заметим, что пропуски были заменены на 0, то есть на отсутствие класса." ] }, { "cell_type": "code", "execution_count": 412, "metadata": {}, "outputs": [], "source": [ "df = pd.get_dummies(df, columns=['Sex'], drop_first=True)\n", "df = pd.get_dummies(df, columns=['Cabin', 'Embarked'])" ] }, { "cell_type": "code", "execution_count": 413, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
SurvivedPclassAgeSibSpParchFareSex_maleCabin_ACabin_BCabin_CCabin_DCabin_ECabin_FCabin_GCabin_TEmbarked_CEmbarked_QEmbarked_S
PassengerId
8870227.00013.00100000000001
8881119.00030.00001000000001
88903NaN1223.45000000000001
8901126.00030.00100100000100
8910332.0007.75100000000010
\n", "
" ], "text/plain": [ " Survived Pclass Age SibSp Parch Fare Sex_male Cabin_A \\\n", "PassengerId \n", "887 0 2 27.0 0 0 13.00 1 0 \n", "888 1 1 19.0 0 0 30.00 0 0 \n", "889 0 3 NaN 1 2 23.45 0 0 \n", "890 1 1 26.0 0 0 30.00 1 0 \n", "891 0 3 32.0 0 0 7.75 1 0 \n", "\n", " Cabin_B Cabin_C Cabin_D Cabin_E Cabin_F Cabin_G Cabin_T \\\n", "PassengerId \n", "887 0 0 0 0 0 0 0 \n", "888 1 0 0 0 0 0 0 \n", "889 0 0 0 0 0 0 0 \n", "890 0 1 0 0 0 0 0 \n", "891 0 0 0 0 0 0 0 \n", "\n", " Embarked_C Embarked_Q Embarked_S \n", "PassengerId \n", "887 0 0 1 \n", "888 0 0 1 \n", "889 0 0 1 \n", "890 1 0 0 \n", "891 0 1 0 " ] }, "execution_count": 413, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.tail()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Почему наличие пропусков в задаче классификации не так важно, как в задаче регрессии?" ] }, { "cell_type": "code", "execution_count": 414, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "_ = df.hist(figsize=(15, 15))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Как и на прошлом семинаре, для того чтобы у нас была возможность проверить модели, выборку нужно разбить на `train` и `test`. На `train` мы будем обучать модели, а на `test` проверять качество работы алгоритмов." ] }, { "cell_type": "code", "execution_count": 415, "metadata": {}, "outputs": [], "source": [ "X_train, X_test, y_train, y_test = train_test_split(df.drop('Survived', axis=1), df['Survived'], \n", " test_size=0.3, random_state=42)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Заполнияем пропуски регрессией для `X_train`:" ] }, { "cell_type": "code", "execution_count": 416, "metadata": {}, "outputs": [], "source": [ "lr = LinearRegression()" ] }, { "cell_type": "code", "execution_count": 417, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "LinearRegression(copy_X=True, fit_intercept=True, n_jobs=1, normalize=False)" ] }, "execution_count": 417, "metadata": {}, "output_type": "execute_result" } ], "source": [ "lr.fit(X_train.dropna().drop('Age', axis=1), X_train.dropna().Age)" ] }, { "cell_type": "code", "execution_count": 418, "metadata": {}, "outputs": [], "source": [ "Z = lr.predict(X_train.loc[X_train.Age.isnull()].drop('Age', axis=1))" ] }, { "cell_type": "code", "execution_count": 419, "metadata": {}, "outputs": [], "source": [ "X_train.Age = X_train.Age.fillna(dict(zip(X_train.loc[X_train.Age.isnull()].index, Z)))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Заполнияем пропуски регрессией для `X_test`:" ] }, { "cell_type": "code", "execution_count": 420, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "LinearRegression(copy_X=True, fit_intercept=True, n_jobs=1, normalize=False)" ] }, "execution_count": 420, "metadata": {}, "output_type": "execute_result" } ], "source": [ "lr.fit(X_test.dropna().drop('Age', axis=1), X_test.dropna().Age)" ] }, { "cell_type": "code", "execution_count": 421, "metadata": {}, "outputs": [], "source": [ "Z = lr.predict(X_test.loc[X_test.Age.isnull()].drop('Age', axis=1))" ] }, { "cell_type": "code", "execution_count": 422, "metadata": {}, "outputs": [], "source": [ "X_test.Age = X_test.Age.fillna(dict(zip(X_test.loc[X_test.Age.isnull()].index, Z)))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Метрики качества" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Все стандартные способы оценки качества классификации доступны в библиотеке sklearn." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Логистическая регрессия" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$P(y = 1\\ |\\ X, \\vec{w}) = \\frac{1}{1 + exp(-\\vec{w}^TX)}$$." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Задача состоит в том, что максимизировать следующую функцию:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\\sum_{i=1}^{n}log(P(y_{i}\\ |\\ \\vec{x}_i, \\vec{w})) - C\\times|\\vec{w}^{2}|_{j}, \\textsf{где С-коэффициент регуляризации, j-вид нормы}$$ " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Обучим стандартную логистическую регрессию (заметим, что логистическая регрессия \"из коробки\" использует регуляризацию):" ] }, { "cell_type": "code", "execution_count": 542, "metadata": {}, "outputs": [], "source": [ "LR = LogisticRegression()" ] }, { "cell_type": "code", "execution_count": 543, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "LogisticRegression(C=1.0, class_weight=None, dual=False, fit_intercept=True,\n", " intercept_scaling=1, max_iter=100, multi_class='ovr', n_jobs=1,\n", " penalty='l2', random_state=None, solver='liblinear', tol=0.0001,\n", " verbose=0, warm_start=False)" ] }, "execution_count": 543, "metadata": {}, "output_type": "execute_result" } ], "source": [ "LR.fit(X_train, y_train)" ] }, { "cell_type": "code", "execution_count": 544, "metadata": {}, "outputs": [], "source": [ "pred_LR = LR.predict_proba(X_test)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Построим ROC-кривую:" ] }, { "cell_type": "code", "execution_count": 545, "metadata": {}, "outputs": [], "source": [ "fpr_LR, tpr_LR, _ = metrics.roc_curve(np.array(y_test), pred_LR[:, 1])" ] }, { "cell_type": "code", "execution_count": 546, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot(fpr_LR, tpr_LR)\n", "plt.title('ROC-curve')\n", "plt.xlabel('FPR')\n", "plt.ylabel('TPR')\n", "plt.plot([1, 0], [1, 0])\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Как изменится ROC-кривая, если мы \"завысим\" коэффициент и изменим l2-норму на l1? Почему так получается?" ] }, { "cell_type": "code", "execution_count": 547, "metadata": {}, "outputs": [], "source": [ "LR = LogisticRegression(penalty='l1', C=0.01)\n", "LR.fit(X_train, y_train)\n", "pred_LR_1 = LR.predict_proba(X_test)\n", "fpr_LR_1, tpr__LR_1, _ = metrics.roc_curve(np.array(y_test), pred_LR_1[:, 1])" ] }, { "cell_type": "code", "execution_count": 548, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot(fpr_LR, tpr_LR, label='l2, C=1')\n", "plt.plot(fpr_LR_1, tpr__LR_1, label='l1, C=0.01')\n", "plt.title('ROC-curve')\n", "plt.xlabel('FPR')\n", "plt.ylabel('TPR')\n", "plt.legend()\n", "plt.plot([1, 0], [1, 0])\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Упало или улучшилось качество классификации? почему так произошло?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Деревья решений" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "" ] }, { "cell_type": "code", "execution_count": 557, "metadata": {}, "outputs": [], "source": [ "DT = DecisionTreeClassifier()" ] }, { "cell_type": "code", "execution_count": 558, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "DecisionTreeClassifier(class_weight=None, criterion='gini', max_depth=None,\n", " max_features=None, max_leaf_nodes=None,\n", " min_impurity_decrease=0.0, min_impurity_split=None,\n", " min_samples_leaf=1, min_samples_split=2,\n", " min_weight_fraction_leaf=0.0, presort=False, random_state=None,\n", " splitter='best')" ] }, "execution_count": 558, "metadata": {}, "output_type": "execute_result" } ], "source": [ "DT.fit(X_train, y_train)" ] }, { "cell_type": "code", "execution_count": 559, "metadata": {}, "outputs": [], "source": [ "pred_DT = DT.predict_proba(X_test)" ] }, { "cell_type": "code", "execution_count": 560, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fpr_DT, tpr_DT, _ = metrics.roc_curve(np.array(y_test), pred_DT[:, 1])\n", "plt.plot(fpr_DT, tpr_DT)\n", "plt.title('ROC-curve')\n", "plt.xlabel('FPR')\n", "plt.ylabel('TPR')\n", "plt.plot([1, 0], [1, 0])\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Как и логистической регрессии, есть способы регуляризации дерева:\n", "* Максимальная глубина дерева\n", "* Минимальное кол-во элементов в листе\n", "* Максимально кол-во листов\n", "* Минимальное увеличения критерия информативности" ] }, { "cell_type": "code", "execution_count": 562, "metadata": {}, "outputs": [], "source": [ "DT_1 = DecisionTreeClassifier(max_depth=3)\n", "DT_1.fit(X_train, y_train)\n", "pred_DT_1 = DT_1.predict_proba(X_test)" ] }, { "cell_type": "code", "execution_count": 564, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYUAAAEWCAYAAACJ0YulAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvIxREBQAAIABJREFUeJzs3Xdc1dX/wPHXYe8NDkBwAO6JW1EzTds7Lcvq297LdiKmZWWpOUozs2HZ/n7t52inJaiouZGhoqDsvbnce35/fBARFRW5fC5wno+HD+He4+fzZvh5n8/5vM85QkqJoiiKogBY6R2AoiiKYjlUUlAURVFqqKSgKIqi1FBJQVEURamhkoKiKIpSQyUFRVEUpYZKCoqiKEoNlRSUFkcIkSyEKBNCFAsh0oUQK4UQLrXeHyaE+EMIUSSEKBBC/CSE6F7nGG5CiPlCiGPVxzlU/blP039FitJ0VFJQWqprpJQuQF+gH/ASgBBiKPAL8D+gPdAR2A1sFkJ0qm5jB/wO9AAmAG7AUCAHGGTOoIUQNuY8vqKcj0oKSosmpUwHfkZLDgBvA59JKRdIKYuklLlSyleBLcCM6jZ3AR2AG6SUB6SUJillppTydSnlurOdRwhhLYR4ufqOokgIsUMIESiECBZCyNoXeyHEX0KI+6o/vlsIsVkIMU8IkQO8LoTIF0L0rNXet/rOx6/686uFELuq20ULIXo36jdNadVUUlBaNCFEADARSBJCOAHDgG/P0vQbYFz1x5cDG6SUxRdxqmeAycCVaHcW9wKlF/hvBwOHgTbATOCH6mOddCuwUUqZKYToB6wAHgS8gaXAGiGE/UXEqijnpJKC0lL9VwhRBKQAmUAk4IX2O592lvZpwMnnBd7naFOf+4BXpZTxUrNbSplzgf/2hJRyoZSySkpZBnwJTKr1/u3VrwE8ACyVUm6VUhqllJ8CFcCQi4xXUc5KJQWlpbpeSukKjAa6ol3w8wAT0O4s7dsB2dUf55yjDQBCiDuqHz4XCyHWV78cCBxqYKwpdT7/E3ASQgwWQgSjDX39WP1eEPBs9dBRvhAiv/rc7Rt4bkU5jUoKSosmpdwIrATmSilLgBjglrM0vRXt4TLAb8AVQgjncxxzlZTSpfrPxOqXU4DOZ2leUv23U63X2tY9ZJ3jG9GGsyZX//k/KWVRrfPMllJ61PrjJKX86myxKsrFUklBaQ3mA+OEEH2AF4GpQognhBCuQghPIcQstOqiqOr2n6NdfL8XQnQVQlgJIbyrHyRfeY5zLEd7SBwiNL2FEN5SyizgODCl+mH0vZw9edT1JXAbcAenho4APgIeqr6LEEIIZyHEVUII14v8nijKWamkoLR41Rfmz4DpUsp/gCuAG9GeGxxFK1kdIaVMrG5fgfaw+SDwK1AIbEMbgtp6jtO8h9a7/6W6/ceAY/V79wPT0IalegDRFxDzVrS7jPbA+lqvb68+3iK04bAk4O7zfhMU5QIJtcmOoiiKcpK6U1AURVFqqKSgKIqi1FBJQVEURamhkoKiKIpSo9ktvuXj4yODg4P1DkNRFKVZ2bFjR7aU0vd87ZpdUggODmb79u16h6EoitKsCCGOXkg7NXykKIqi1FBJQVEURamhkoKiKIpSo9k9Uzgbg8FAamoq5eXleoeinIODgwMBAQHY2trqHYqiKPVoEUkhNTUVV1dXgoODEULoHY5Sh5SSnJwcUlNT6dixo97hKIpSD7MNHwkhVgghMoUQ+87xvhBCvC+ESBJC7BFC9G/oucrLy/H29lYJwUIJIfD29lZ3corSDJjzmcJKtE3Pz2UiEFL95wHgg0s5mUoIlk39fBSleTBbUpBSbgJy62lyHdoG6lJKuQXwEEKcc7crRVGU1shoqGTftrU898m1xGxfa/bz6Vl95M/p2xCmVr92BiHEA0KI7UKI7VlZWU0SXGOYP38+paUXunf7+QUHB5OdnX3+hmaMQVEUMzOZyD20g93fzGL/O1ew+d1OTNvzLD9bHWFjwg9mP32zeNAspVwGLAMIDw9vNhtAzJ8/nylTpuDk5HT+xmZgNBp1j0FRlPOrzDpMyo71VCT8Qfu8WLxkAbZCEOXlz89unvhZe/D+wNcYEzbe7LHomRSOo204flJA9WvNUklJCbfeeiupqakYjUZuueUWTpw4wZgxY/Dx8eHPP//k4YcfJjY2lrKyMm6++WaiorTdH4ODg5k6dSo//fQTBoOBb7/9lq5du5KTk8PkyZM5fvw4Q4cOpfaGSNdffz0pKSmUl5fz5JNP8sADDwDg4uLCgw8+yG+//cZNN910RgyKoliA4iyy9/5K3v5f8UiPwbcqjc5AhvRgj1M4/wYE8YPYSX5VPvf0mMojfR7BwcahSULTMymsAR4TQqwGBgMFUsq0Sz1o1E/7OXCi8JKDq617ezcir+lRb5sNGzbQvn171q7VxvwKCgr45JNP+PPPP/Hx8QFg9uzZeHl5YTQaGTt2LHv27KF3794A+Pj4sHPnTpYsWcLcuXNZvnw5UVFRjBgxgunTp7N27Vo+/vjjmvOtWLECLy8vysrKGDhwIDfddBPe3t6UlJQwePBg3n333Zp2tWNQFKUJSQn5xyBjP4YTe8g7vBPrrAN4V6TgA9hJJ3bZ9GKL/yS8e40joGsXfto9lw3JGwjxDGHJsCX08Kn/2tPYzJYUhBBfAaMBHyFEKhAJ2AJIKT8E1gFXou0xWwrcY65YmkKvXr149tlneeGFF7j66qsZOXLkGW2++eYbli1bRlVVFWlpaRw4cKAmKdx4440ADBgwgB9+0MYNN23aVPPxVVddhaenZ82x3n//fX788UcAUlJSSExMxNvbG2tra2666Sazfq2KopxFZQlkHoSMvZC+D5mxD1P6fqwrtU6qLVBiakOiCKLQcxwOoWPoET6Kkb5uAKw9spYXNtxMiaGEx/o+xr0978XWuukne5otKUgpJ5/nfQk82tjnPV+P3lxCQ0PZuXMn69at49VXX2Xs2LGnvX/kyBHmzp1LbGwsnp6e3H333afV7dvb2wNgbW1NVVVVvef666+/+O2334iJicHJyYnRo0fXHMvBwQFra+tG/uoURakhJRSkQMZ+SN8HGdV/cg4B2hBvhZUj8bIDuw2DiJNBlHiE4R82gGHdgokI9sTB9tT/0fSSdF7f8jqbUjfR27c3M4fNpLNHZ52+uGbyoLk5OHHiBF5eXkyZMgUPDw+WL1+Oq6srRUVF+Pj4UFhYiLOzM+7u7mRkZLB+/XpGjx5d7zEjIiL48ssvefXVV1m/fj15eXmANjTl6emJk5MTBw8eZMuWLec8Ru0YFEW5SJWlkBVX6+K/X/u7vKCmSYVrECl2ndjhPIS/8v3YZwqkwL4dI0L8GBXqy2MhvrT3cDzj0CZp4ruE73hvx3uYpIkXBr7A5K6TsbbSt1OnkkIj2bt3L9OmTcPKygpbW1s++OADYmJimDBhAu3bt+fPP/+kX79+dO3alcDAQIYPH37eY0ZGRjJ58mR69OjBsGHD6NChAwATJkzgww8/pFu3boSFhTFkyJBzHuOBBx44LQZFUc5CSig8Xn3x33vqLiD3EEiT1sbOBfy6Uxp2PQdNQWws8OP7VHdSs6wRAnr7uzOqjy/3hfnSJ8ADG+tzV/wfLTxKZHQkOzJ2MKTdECKHRhLgGtBEX2z9RO2KluYgPDxc1t1kJy4ujm7duukUkXKh1M9JsQiGMsiMO9XzP3kXUJ5/qo1nMLTpCW16UuXXg71VAfxywoFNiTnsry5k8XGxJyLUh1Ghvozo4oO3i/15T11lquKzA5+xZNcS7KzsmDZwGtd3ub5JZvwLIXZIKcPP107dKSiK0jJJCYUntAt++t5TQz85Sad6/7bO0KY79LgB2mpJAL/upJTasDEhi00JWUT/lUNxRRo2VoIBQZ48PyGMiBBfurdzw8rqwi/m8bnxTI+ezoGcA1wWeBmvDHkFPyc/M33xDaeSgqIozZ+hvNbY//5TD3/L8k618QjSLvo9boA2PbSPPTuClRXlBiNbDuewcXcWGxN2cjirBAB/D0eu69ueiFBfhnX2xtXh4quBKo2VLN2zlBV7V+Bm78bcUXMZHzTeYtcDU0lBUZTmQ0ooSjtz7D8nCaRRa2PrBH7doft1NUNAtOkODu61DiNJyixm4+ZkNiZksfVILpVVJuxtrBja2Zspg4MYFeZLJx/nS7p478rcRWR0JIcLDnNt52uZFj4NDwePS/0umJVKCoqiWCZDOWQdrDX2X50Eymqts+neQRv26X6d1vtv26um919XYbmB6KRsNiZksTE+ixMFWhl3Fz8X7hwSxKhQXwZ19DqtXLShSg2lLPx3IaviVtHWuS0fXP4BI/xHXPJxm4JKCoqi6EtKKEo/c+w/O/FU79/GUevtd7tG6/m37aklgVq9/7pMJsn+E4VsTMhkY0IWO4/lYzRJXO1tGN7Fh8fH+hIR6ov/WcpFL0XMiRiiYqI4XnycSWGTeGrAUzjbOjfqOcxJJQVFUZpOVYXW+68Z+9dm/57e+w/ULvzdrqke++8FXh3hAur3s4sr+DtRuxP4OzGbnJJKAHr5u/PwqM6MCvOlb6AHtvWUizZUQUUB725/lx+TfiTYLZiVE1YyoM2ARj+PuamkoChK45MSijPOHPvPTji99+/XDbpdXWvsvwc4XviYu8Fo4t9j+TV3A/uOa+Wi3s52RIT6auWiIT74XEC56KX4/ejvzNo6i7zyPP7T8z883Pdh7K3Ne05zUUmhmQsODmb79u0NmrG8cuVKxo8fT/v27S/pWOXl5URERFBRUUFVVdVpK8AqrUBVBWTF1xn73welOafauAVoQz5drzo19u/V6YJ6/3Wl5pWyKSGbjQmZRCflUFRRhbWVYEAHT6ZdEcao0IsvF22o7LJs3tz6Jr8c/YWuXl1ZPHYx3b27m/285qSSQiu2cuVKevbsWZMUGsre3p4//vgDFxcXDAYDI0aMYOLEifXOtFaaqaKM03v+GdW9f1P1el02DlrvP+zK08f+HT3rP249yg1Gth7JZWN8FpsSs0jKLAa0ctGr+7RnVKgvw7p449aActGGklLy0+GfeGvbW5RVlfFEvye4u+fd2Fo1/QJ2ja3lJYX1L2o9lcbUthdMnFNvk+TkZCZMmMCQIUOIjo5m4MCB3HPPPURGRpKZmcmqVasAePLJJykvL8fR0ZFPPvmEsLAw5s2bx969e1mxYgV79+5l8uTJbNu27awb49S3x8IXX3zB+++/T2VlJYMHD2bJkiVYW1vj4uLC/fffzy+//ELbtm1ZvXo1GzduZPv27dxxxx04OjoSExMDwMKFC8/Y1+F8hBC4uLgAYDAYMBgMFluDrVygqkrIjj99wbeM/VBSa+dDN3/twh828dTYv3fnBvX+a5NSciirpGby2JbDOVRUmbCzsWJIJ28mD+rAqFAfOvu66PJ7llacRtSWKDYf30xf375EDY+ik3unJo/DXFpeUtBRUlIS3377LStWrGDgwIF8+eWX/PPPP6xZs4Y33niDzz77jL///hsbGxt+++03Xn75Zb7//nuefPJJRo8ezY8//sjs2bNZunTpOXdKO9ceC3FxcXz99dds3rwZW1tbHnnkEVatWsVdd91FSUkJ4eHhzJs3j5kzZxIVFcWiRYtYtGgRc+fOJTz81Mz3s+3r8Oeff/L000+fEYuTkxPR0dGAtsvbgAEDSEpK4tFHH2Xw4MFm+A4rZlGceXrVT/o+LSGc7P1b22u9/9ArTh/7d/JqtBCKyg1sTsphU/VD4uP5ZQB09nXmjsFBRIT6MLijN452+i0WZ5Imvo7/mvk75iORvDToJSZ1nYSV0HNX48bX8pLCeXr05tSxY0d69eoFQI8ePRg7dixCCHr16kVycjIFBQVMnTqVxMREhBAYDAYArKysWLlyJb179+bBBx+sd7G8c+2x8Pvvv7Njxw4GDhwIQFlZGX5+fjXHv+222wCYMmVKzd4NZ3O2fR3GjBnDrl276v3ara2t2bVrF/n5+dxwww3s27ePnj171v8NU5pWVaU21FO76idjP5Rknmrj2l4b8gm9otbYf2ewbtxLhckkOZBWqM0ZSMhi59E8qkwSF3sbhnfx5pExnYkI8SXQyzK2kT1ScIQZ0TPYmbmTYe2HMX3odPxdzrqlfLPX8pKCjk7uiQDahfjk51ZWVlRVVfHaa68xZswYfvzxR5KTk09bOjsxMREXFxdOnDjRoHNLKZk6dSpvvvnmedvWd8t9tn0dLuRO4SQPDw/GjBnDhg0bVFLQU3HWmWP/WfFg0joiWu+/K4SMr774V98BNGLvv66c4gr+TsxmU4L2bCC7WCsX7envxgMRnRgV6kv/IE+zlIs2lMFk4NP9n/LBrg9wsHFg1vBZXNv52hY9PKqSQhMqKCjA31/rXaxcufK015944gk2bdrEY489xnfffcfNN9981mOca4+FsWPHct111/H000/j5+dHbm4uRUVFBAUFYTKZ+O6775g0aRJffvklI0ZoMytP7rVwPue7U8jKysLW1hYPDw/Kysr49ddfeeGFFy7026JcCqPhVO//ZNVPxn6tHPQk13baBb/L5VrPv01P8O7S6L3/uqqMJnal5NfcDew9XoCU4OVsx8gQbXXRkSG++LpaZulmXE4ckdGRxOXGMS5oHC8Pfhkfx5a/L4lKCk3o+eefZ+rUqcyaNYurrrqq5vWnn36aRx99lNDQUD7++GPGjBlDREREzfBPbefaY6F79+7MmjWL8ePHYzKZsLW1ZfHixQQFBeHs7My2bduYNWsWfn5+fP311wDcfffdPPTQQ6c9aG6ItLQ0pk6ditFoxGQyceutt3L11Vc3+HjKOZRknz72f7L3b9R63FjbgW9X7eJ/csG3Nj3B2bvJQjyRX8am6iTwT1I2ReVauWi/QA+euTyUUWG+9Gzv3iTlog1VYaxg6e6lrNi3Ag97D94b/R7jgsbpHVaTUfsptAIuLi4UFxfrHYb6OV0oo0Fb4qHu2H9x+qk2Lm1PlXu26aV97N0FmnhP33KDkdhkrVx0Y0IWidXlou3cHRhVPXlsWBcf3B2bR6nmv5n/Mn3zdJILk7m+y/U8F/4c7vbnXkqjOVH7KShKc1CSc6rXXzP2f7BO7z8MOl92+ti/sz7DGFJKjmSX1AwJbTmcQ7lBKxcd3NGL2wYGMirUly5++pSLNlSJoYQFOxew+uBq2jm3Y+nlSxnmP0zvsHShkoKF+uSTT1iwYMFprw0fPpzFixdf9LEs4S6h1TNWQU7i6at9ZuzTloE+yaWNdsHvNPrU2L9PSJP3/usqrqiqWV10U2IWKblauWgnH2cmDezAqDBfhuhcLnopNh/fTFRMFOkl6dze7Xae6PcETraWUfWkhxaTFKSUzapncj733HMP99xzj95hNJrmNkx5SUpzT+/5Z+yDzINgrNDet7LVxv47jT597N/FV8+oa0hZq1w0Posd1eWiznbWDOviw4MRnRkVajnlog1VUFHA27Fvs+bQGjq6d+TTiZ/Sz6+f3mHprkUkBQcHB3JycvD29m5RiaGlkFKSk5ODg4OD3qE0LmOVtrF77aqf9H1QVKus2NlPG/IZ/ECtsf8QsLHTL+6zyC2p1FYXTdBWF80q0hJY93Zu3B/RiYgQXwYEeWJnYznlopfi16O/MnvLbPIr8rm/1/082OfBZruAXWNrEUkhICCA1NRUsrKyzt9Y0YWDgwMBAQF6h9Fwpbmnz/g9OfZfpW3UovX+w6DjyFpr/vQEF8vbgxe0ctHdqfnaA+LEbPak5iMleDrZMjJEe0A8MtQHP9eWlcizSrN4Y+sb/HbsN7p5dePDcR/S1ev8S7m0Ji0iKdja2tKxY0e9w1BaApMRcg6dXvWTsQ8Kj59q4+yrXfAH3ldr7D/U4nr/daUVaOWimxKy+Tsxi8LyKqwE9OvgyVNjtXLRXv7uWFtwuWhDSSn536H/8Xbs21RUVfBU/6eY2mMqNlYt4hLYqNR3RGm9yvJOn/GbsQ8y42r1/m3AJwyChp/q+bfpCa5t9I37AlVUGYk9kleznlB8hjZRsa2bAxN7tiMi1JcRXXxwd2oe5aINdbz4OFHRUcSkxdDfrz9Rw6IIdg/WOyyLpZKC0vKZjJB7+Myx/8LUU22cfLQL/8D7Ti345hsGNs1nnFlKSXJOac3ksZhDOZQZjNhZWzGooxc3DfBnVKgfoW2aV7loQxlNRlbHr2bBzgUIBK8MfoVbw25tcQvYNTaVFJSWpSz/9Bm/6Sd7/1oZpdb7D4WgoXXG/ttAM7xQllRUEXMop2bewLHcUgA6+jhza3iAVi7ayRsnu9b1X/1w/mEioyPZlbWL4f7DiRwSSTuXdnqH1Sy0rt8UpeUwGSH3yJmLvhWknGrj5K1d8MPvPXXxb2a9/7qklMSlFdUMCW0/movBKHGys2ZYZ2/uH9mRiFBfgrybz0bxjclgMvDJvk/4cPeHONk68caIN7i609Wt4s6osaikoFi+8oKzj/0btF4xwlrr/QcOhoH/0Uo/2/QA17bNsvdfV15JJf+cnDyWkEVmdblo17au3DuiI6NCtXJRe5vmOXmssezP2U/k5kji8+K5IvgKXhz0YqtYwK6xqaSgWA6TCfKOnLnhS8GxU20cvbRe/4C7a439dwXbllM6aTTJU+WiCVnsSc3HJMHd0bZmddGIUF/auLWcr/lSlFeV88HuD/h0/6d4OXgxf8x8xnYYq3dYzZZZk4IQYgKwALAGlksp59R5vwPwKeBR3eZFKeU6c8akWIjywrOM/R+o0/sPgcCBEH5PdelnD20Z6BbQ+68ro7C85rnAP4nZFJQZsBLQJ9CDJ8aGMCrUl94BHi2yXPRSbE/fzoyYGRwtPMqNITfybPizuNm56R1Ws2a2pCCEsAYWA+OAVCBWCLFGSnmgVrNXgW+klB8IIboD64Bgc8Wk6OBk77921U/GXsiv1ft38NAu+v2nnlr507dbi+r911VRZWRHcl5NIjiYrpWL+rnaM757G0aFaeWiHk6WPfdBL8WVxczfOZ+v47/G38Wfj8Z/xJB2Q/QOq0Uw553CICBJSnkYQAixGrgOqJ0UJHAyrbsDDdt2TLEMFUVnzvrNOACGEu19YaUt8eAfXmv4pye4tW+Rvf+6juaU1KwnFHM4h9JKI7bWgoHBXrw0sSsRob50beuqHoqex9+pfzNzy0wySjKY0m0Kj/d7vFUvYNfYzJkU/IFapSCkAnV3c58B/CKEeBxwBi4/24GEEA8ADwA1m8ooOjKZID/59Bm/GfsgL/lUGwcP7YLf/85TY/9+3cDWUa+om1xp5aly0U0JWSTnaENjHbycuHlAABEhvgzt7I2zvXq0dyHyy/N5O/Ztfjr8E53dO/P5lZ/Tx7eP3mG1OHr/Nk4GVkop3xVCDAU+F0L0lFKaajeSUi4DloG2yY4OcbZeFUVab7/u2H9l9XLcwkrb3KV9P+h356mxfzf/VtH7r01KSXxGERvjtSWmY4/kUWk04WirlYveM1yrFAr2aZ3log0lpeTnoz/z5tY3Kawo5KE+D3F/r/uxs1ZDa+ZgzqRwHAis9XlA9Wu1/QeYACCljBFCOAA+QKYZ41LOxmSC/KO1hn+qK4Dyjpxq4+Cu9fr73nH62L9d6711zy/VykVPziLOKDxVLnr38GBGhfoSHqzKRRsqszSTWVtm8WfKn/Tw7sGyccsI8wrTO6wWzZxJIRYIEUJ0REsGk4Db67Q5BowFVgohugEOgFrq1NwqirXeft2x/8qi6gZC6/236wP97jg19u8e0Op6/3UZTZI9qflsSshmY0Imu1K0clE3B5ua1UUjQn1p695yH5I3BSklPyb9yNzYuVSaKnl2wLNM6T5FLWDXBMz2HZZSVgkhHgN+Ris3XSGl3C+EmAlsl1KuAZ4FPhJCPI320Plu2ap2YzEzKU/1/k9W/WTs12YCU/1ttnfXevx9J5+6+Pu17t5/XZmF5WxKzK7eayCL/FIDQkCfAA8eu0wrF+0T4I6NtVpTpzGkFKUQFR3F1vSthLcJJ2pYFB3c1LPEpiKa2zU4PDxcbt++Xe8wLI+UkLYLTuw6Vf6ZsR8qCqsbCPDqVD3s0+vUfr/uga2+919XZZWJ7Udzq+8GsohL076Hvq72RIT4MirMl5FdfPB0VmPajcloMvLlwS9Z+O9CrIQVzwx4hptDb1YL2DUSIcQOKWX4+dqpe7GWIDMO1r8ARzZqn9u7aRf93redWvPHrxvYqQec53Isp5SN1esJxRzKpqS6XHRAkCcvTOjKqFBfurVT5aLmkpSXRGR0JHuy9xAREMFrQ16jrXNbvcNqlVRSaM7K8uCvObDtI7B3hQlvQdhE8Oigev/nUVpZxdbDuTWTx45ka3MpAr0cuaG/tsT00M7euKhyUbMyGA0s37ecZXuW4WLrwpyRc7iy45Uq+epI/cY3RyYj7PwM/nhdSwwD7oExr4Czt96RWSwpJYmZxTXrCW07kkul0YSDrRVDO3kzdWgQo8L8CPZ2UhekJrIvex/To6eTmJfIxI4TeXHQi3g5eOkdVqunkkJzc2wLrJsG6XugwzCY+Ba06613VBapoMzA5qTsmnkDaQXajmqhbVyYOiyIiFBfBgZ74WCrykWbUllVGUt2LeGzA5/h4+jDwssWMjpwtN5hKdVUUmguCk/Ar9Nh77faxLCbV0CPG9UwUS0mk2Tv8YKaGcT/puRjNElcHWwYGeLDU6G+jAzxpb1H65lVbWli02OZET2DY0XHuDn0Zp4Z8Ayudq56h6XUopKCpTOUQ8wi+Ps9MFVBxDQY8bR6aFwts6icvxOy2ZSYxd+J2eSWVCIE9PZ359HRnYkI9aVvoIcqF9VZUWUR83bM49uEbwl0DeTj8R8zqN0gvcNSzkIlBUslJcSvh59f0tYU6no1XDEbPIP1jkxXBqOJHUfzau4G9p/QykV9XOwYHaZNHhvRxQdvl+a7u1pLszFlIzO3zCS7LJup3afyaL9HcbRRd2uWSiUFS5QVDxtehEN/gE8Y3PkjdL5M76h0k5JbWpMEog/lUFxRhY2VVi467YowRoX60r2dG1ZqrwGLkluey5xtc1h/ZD1dPLowf/R8evn20jss5TxUUrAk5QWfpAkjAAAgAElEQVTw11uwbSnYOsOEOTDwPrC21TuyJlVWaWTLkZya9YQOZ2nlov4ejlzbtz2jQn0Z1tkbV4fW9X1pLqSUrD+ynjnb5lBkKOKRvo9wX8/7sG1lv8fNlUoKlsBkgl2r4PcoKMnWlpu+bDq4+OodWZOQUpKUWVwzZ2DrkVwqq0zY21gxpJM3UwYHMSrMl04+zqpc1MKll6Qza8ssNqZupJdPL6KGRRHiGaJ3WMpFUElBbymxsP55OLETAgbBHd9qy1C3cIXlBqKrN6PfGJ/Fiepy0S5+Ltw5JIhRob4M6qjKRZsLkzTxfeL3vLf9PapMVUwLn8Yd3e7A2kr9/JoblRT0UpQOv82A3V+BS1u4YRn0vrXFlpiaTJL9JwrZmJDJxoQsdh6rLhe1t2F4Fx8eH6utLuqvykWbnWOFx5gRM4PY9FgGtR3EjKEzCHQLPP8/VCySSgp6OLgWfngAjJVaeenIZ7VlKlqY7OIK/q5eT+jvxGxySioB6OXvzsOjOjMqTCsXtVXlos1SlamKVXGrWPTvImysbJgxdAY3htyohviaOZUUmlp5Ifz0FHh2hFs/Be/OekfUaAxGE/8ey6+5G9h3XCsX9Xa2IyK0ulw0xAcfVS7a7CXkJRC5OZJ9OfsYHTiaVwe/ShvnNnqHpTQClRSa2j/vQUkmTF7dIhJCal5pzYYz0Uk5FFVUYW0lGNBBKxeNCPGlR3tVLtpSVBor+WjvRyzfsxw3ezfeiXiHK4KvUHcHLYhKCk0pLxliFkPvSRAwQO9oGqTcYGTrkdzqheUyOVSrXPTqPtXlol28cVPloi3Onqw9REZHkpSfxNWdrub5gc/j6eCpd1hKI1NJoSn9Oh2sbGDsdL0juWBSSg5lldRMHttyOIeKKhN21eWikwd1YHSYL519XVRvsYUqNZSyaNcivjjwBX5Ofiweu5iIgAi9w1LMRCWFppK8GQ78D0a/DO7+ekdzXrHJufz473E2xmdxPL8MgM6+ztwxOIiIUB8Gd/TG0U6VG7Z0W9O2MiN6BqnFqdwWdhtP9X8KFzsXvcNSzEglhaZgMmrLVrj5w7DH9Y7mvL6OPcZLP+zFyc6G4V28eWRMZyJCfAn0Uvs2txaFlYW8t/09vk/8niC3IFZcsYKBbQfqHZbSBFRSaAq7v9L2P7hxOdhZ9oX1k81HiPrpABGhvnw4pT9OdupXpLX549gfzNoyi5zyHO7peQ+P9HkEBxsHvcNSmoj6H29uFUXw+0wIGAi9btY7mnodzSnhzXUHubxbG5bc0R87GzV/oDXJKcthzrY5bEjeQKhnKAsvW0gPnx56h6U0MZUUzO2feVCcAbetsvjZym9tOIi1lWD2DT1VQmhFpJT83+H/463Ytyg1lPJY38e4t9e92FqpCrLWSCUFc8o7CtGLoNetEGjZ47Hbk3NZtzedJ8eG0MZNDRW0Fukl6cyMmcnfx/+mt29vZg6bSWeP5j9/Rmk4lRTM6bdIEFZweaTekdRLSsmstXH4udrz4KhOeoejNAGTNPFt/LfM2zkPkzTxwsAXmNx1slrATlFJwWyOxsD+H2HUi+AeoHc09fppTxq7UvJ5+6be6sFyK5BckExkdCQ7M3cypN0QIodGEuBq2b+jStNRVwBzMJm0ElTX9jD8Cb2jqVe5wchb6w/SrZ0bNw1QF4aWrMpUxWcHPmPJriXYWdsxc9hMru9yvZp0qJxGJQVz2LMa0nZpy2HbOesdTb1WRidzPL+Mt2/ujbVan6jFis+N57XNrxGXG8fYDmN5ZfAr+Dq1jk2clIujkkJjqyiG36LAfwD0ukXvaOqVU1zB4j+SuKyrH8O7+OgdjmIGlcZKlu5Zyoq9K3Czd+PdUe8yLmicujtQzkklhca2eQEUp8Ntn4OVZZd1Lvg9kVKDkZev7Kp3KIoZ7MrcRWR0JIcLDnNt52uZFj4NDwcPvcNSLJxKCo0pPwWi34eeN0PgIL2jqVdSZjGrth5j8qBAuvi1vA1+WrNSQynv//s+X8Z9SVvntnxw+QeM8B+hd1hKM2HWrqwQYoIQIl4IkSSEePEcbW4VQhwQQuwXQnxpznjM7rcZ2t+Xz9AxiAvz5ro4HG2teeryUL1DURpR9IloblxzI6viVjGp6yR+vO5HlRCUi2K2OwUhhDWwGBgHpAKxQog1UsoDtdqEAC8Bw6WUeUIIP3PFY3bHtsK+7yDiefCw7P1po5Oy+f1gJs9PCFO7oLUQBRUFzN0+l/8m/Zdgt2A+nfAp/dv01zsspRky5/DRICBJSnkYQAixGrgOOFCrzf3AYillHoCUMtOM8ZiPyQQ/vwSu7WD4k3pHUy+jSZuo5u/hyL3DO+odjtIIfj/6O7O2ziKvPI/7et3HQ30ewt5aJXulYcyZFPyBlFqfpwKD67QJBRBCbAasgRlSyg11DySEeAB4AKBDhw5mCfaS7P0Wju+A6z8Ee8tea/6HnakcSCtkwaS+ONiq2avNWXZZNm9sfYNfj/5KV6+uLB67mO7e3fUOS2nm9H7QbAOEAKOBAGCTEKKXlDK/diMp5TJgGUB4eLhs6iDrVVmiPUto3w9636Z3NPUqraxi7i/x9Alw55re7fUOR2kgKSVrDq3h7di3Ka8q58n+TzK1x1S1gJ3SKMyZFI4DtQfXA6pfqy0V2CqlNABHhBAJaEki1oxxNa7N70PRCbjlE4svQf1o0xEyCitYdHt/rNREtWbpRPEJZsbMZPOJzfTz68eMYTPo5K7Wq1IajzmTQiwQIoToiJYMJgG312nzX2Ay8IkQwgdtOOmwGWNqXAWp2ryEHjdChyF6R1OvzMJylm46xMSebRkY7KV3OMpFMkkTqw+uZv7O+QC8NOglJnWdhJWw7I6I0vyYLSlIKauEEI8BP6M9L1ghpdwvhJgJbJdSrql+b7wQ4gBgBKZJKXPMFVOj+y0KpAnGRekdyXm9+0sCBqOJFyeqiWrNzZGCI0RGR/Jv5r8Mbz+c6UOn095FDf8p5mHWZwpSynXAujqvTa/1sQSeqf7TvKTEwt5vYORz4GGBD79riUsr5JsdKdw7vCNB3pa9FpNyisFk4NP9n/LBrg9wsHFg1vBZXNv5WrVEhWJWej9obp6k1FZBdWkDI57WO5p6SSmZvTYONwdbHr+si97hKBcoLieO6dHTOZh7kHFB43h58Mv4OKr1qRTzU0mhIfZ+B8e3w3VLLL4E9a/4LP5Jyua1q7vj4WSndzjKeVQYK/hg1wes3L8SD3sP5o2ex+VBl+sdltKKqKRwsSpLtR3V2vWBPpP1jqZeVUYTs9fFEeztxJ1DgvQORzmPnRk7iYyOJLkwmeu7XM9z4c/hbu+ud1hKK6OSwsWKXgiFx+Gm5RZfgro6NoWkzGI+nNIfOxvLjrU1KzGUMH/HfFbHr8bfxZ+l45YyrP0wvcNSWimVFC5GwXHYPB+6Xw9Blv2ftqjcwLxfExgU7MUVPdrqHY5yDpuPbyYqJor0knTu6HYHT/R7AidbJ73DUloxlRQuxu8zwWRsFiWoH/x1iJySSlbc3U1Vq1iggooC3o59mzWH1tDRvSOfTfyMvn599Q5LUS4+KQghrIDJUspVZojHcqXu0LbZHPEMeAbrHU29jueX8fE/R7i+b3v6BKpNVSyJlJJfj/7K7K2zKawo5P5e9/NgnwfVAnaKxThnUhBCuAGPoi1stwb4FXgMeBbYDbSepHCyBNXZD0Za/pSKdzYcBGDaBDVRzZJklWYxe+tsfj/2O928urF03FK6eqmfkWJZ6rtT+BzIA2KA+4CXAQFcL6Xc1QSxWY5930PqNrh2Edhb9i5lu1Py+e+uEzwyujP+Ho56h6Og3R38N+m/vLP9HSqNlTw94Gnu6n4XNlZq9FaxPPX9VnaSUvYCEEIsB9KADlLK8iaJzFIYyuDXSGjbG/rWXbrJspycqObjYsfDozvrHY4CpBalEhUTxZa0LfT360/UsCiC3YP1DktRzqm+pGA4+YGU0iiESG11CQEgehEUpsKNS8HKsvcf+Hl/OtuSc5l1fU9cHdQyynoymoysjl/Ngp0LEAheHfwqt4TdohawUyxefUmhjxCiEG3ICMCx1udSSulm9ugswfYVEHIFBFv2PreVVSbmrD9IiJ8LkwZa9nagLd3h/MNMj57O7qzdjPAfwfQh02nn0k7vsBTlgpwzKUgpLbtb3BSMVVCcDu2m6B3JeX2+5SjJOaV8cvdAbKxVb1QPBpOBFXtXsHTPUpxsnXhjxBtc3elqVRKsNCv1VR85AA8BXYA9aEtfVzVVYBahJEtbGtu1jd6R1Cu/tJL3f09kRBcfRof56h1Oq7Q/Zz/TN08nIS+BCcETeHHQi3g7eusdlqJctPqGjz5Fe67wN3Al0AOw7F3pG1txuva3q2Xf+i/8I4nCcgOvXKUmqjW18qpyluxewqf7P8XbwZsFYxZwWYfL9A5LURqsvqTQvVb10cfAtqYJyYIUZWh/u1juMhHJ2SV8FpPMrQMC6daudTzmsRTb07czI2YGRwuPclPITTwT/gxudupnoDRvF1p9VNUqe6BFadrfFjx89NaGg9haW/Hs+FC9Q2k1iiuLmb9zPl/Hf42/iz8fjf+IIe0seztWRblQ9SWFvtXVRqBVHLW+6qPik3cKlpkUYpNzWb8vnacvD8XPzUHvcFqFTambmBkzk8zSTO7sfieP9X1MLWCntCj1JYXdUsp+TRaJJSpKBycfsLa8mn+TSTJrbRxt3Oy5P6Kj3uG0eHnlebwV+xZrD6+ls3tn3r3yXfr49tE7LEVpdPUlBdlkUViqonRwtcznCT/tOcHulHzeubk3TnZquQRzkVLyc/LPvLntTQorCnmoz0Pc3+t+7KzVLnZKy1Tf1cRPCHHO1d+klO+ZIR7LUmyZSaHcYOTtDfF0b+fGTf0D9A6nxcoszeT1La/zV8pf9PDuwUfjPyLUUz27UVq2+pKCNeDCqRnNrU9RBvj10DuKM6zYfITj+WW8c3NvrKxa74/HXKSU/JD4A+9uf5dKUyXPhT/HHd3uUAvYKa1Cfb/laVLKmU0WiaUxGbUHzRZWeZRdXMGSPw8xtqsfw7r46B1Oi5NSlEJUdBRb07cS3iacqGFRdHDroHdYitJk6ksKrbsLWpoD0mhxE9fm/5ZAmcHIS1d20zuUFsVoMrIqbhUL/12ItZU104dO56aQm9QCdkqrU19SGNtkUViiourZzBZUjpqUWcRX21K4Y3AHuvi56B1Oi5GYl0hkdCR7s/cSERDBa0Neo62z5T1LUpSmUN+CeLlNGYjFOZkULOhB8xvrDuJka82TY0P0DqVFMBgNLN+7nGV7l+Fq68pbI99iYseJaqkQpVVTT87OpdiyksLmpGz+OJjJixO74u2i9vO9VPuy9/Ha5tdIyk/iyo5X8sKgF/By8NI7LEXRnUoK51JkObOZjdUT1fw9HLl7WLDe4TRrZVVlLP53MZ/HfY6Pow8LL1vI6MDReoelKBZDJYVzKUoDR0+w0b9X/v3OVOLSCnl/cj8cbNU2Fw21LW0bM2JmkFKUwi2ht/D0gKdxtbPsPbcVpamppHAuxRkWUXlUUlHF3J/j6RvowTW99Y+nOSqqLOK9He/xXcJ3BLoG8vH4jxnUbpDeYSmKRVJJ4VyK0i1i6GjZpsNkFlXwwZT+6gFoA/yV8hevx7xOdnk2d/e4m0f6PoKjjaPeYSmKxTJrEbYQYoIQIl4IkSSEeLGedjcJIaQQItyc8VwUC1j3KKOwnGWbDnNlr7YMCFIPQS9Gbnkuz296nsf/eBx3B3dWXbmKZ8OfVQlBUc7DbHcKQghrYDEwDkgFYoUQa6SUB+q0c0Xb0W2ruWK5aFJWDx/pmxTm/hyP0SR5YUJXXeNoTqSUrDuyjjnb5lBsKOaRvo9wX8/7sLXAlW4VxRKZc/hoEJAkpTwMIIRYDVwHHKjT7nXgLWCaGWO5OKW5YDLouuPa/hMFfLczlftGdCTI21m3OJqT9JJ0Zm2ZxcbUjfT26U3UsCi6eHbROyxFaVbMmRT8gZRan6cCg2s3EEL0BwKllGuFEOdMCkKIB4AHADp0aIJ1aHTecU1KyRvr4nB3tOWxMWqi2vmYpInvEr7jvR3vYTQZmRY+jTu63YG1larUUpSLpduDZiGEFfAecPf52koplwHLAMLDw82/z0PNxDV9qn3+jM9kc1IOkdd0x91JDXvU52jhUWZEz2B7xnYGtx1M5LBIAl0D9Q5LUZotcyaF40Dt/50B1a+d5Ar0BP6qrqppC6wRQlwrpdxuxrjOT8eJa1VGE2+sO0hHH2fuGBzU5OdvLqpMVXxx4AsW7VqEnZUdUcOiuKHLDapCS1EukTmTQiwQIoToiJYMJgG3n3xTSlkA1Kz9LIT4C3hO94QAtYaPmv6ZwlexKSRlFrP0zgHY2agVOs8mPjeeyOhI9ufsZ0zgGF4d8ip+Tn56h6UoLYLZkoKUskoI8RjwM9qGPSuklPuFEDOB7VLKNeY69yUrzgAHd7Bt2vLFwnID835NYFBHL8Z313+OhKWpNFby0d6PWL5nOW72brwz6h2uCLpC3R0oSiMy6zMFKeU6YF2d16afo+1oc8ZyUYrSdak8WvLnIXJLKnn1qm7qQlfH7qzdRG6O5FDBIa7udDUvDHwBDwcPvcNSlBZHzWg+m6L0Jq88SsktZcXmI9zQz5/eAepid1KpoZSF/y5kVdwq/Jz8WDx2MREBEXqHpSgtlkoKZ1OcDh2GNukp3/k5HgFMuyKsSc9rybakbWFG9AyOFx/ntrDbeKr/U7jYqc2FFMWcVFKoS0qt+qgJK492peSzZvcJHhvThfYeahmGwspC3t3+Lj8k/kCQWxCfXPEJ4W0tZwUURWnJVFKoqywPjBVNVnkkpWTW/x3Ax8Weh0Z3bpJzWrI/jv3BrC2zyC3P5d6e9/Jwn4dxsHHQOyxFaTVUUqiruGnnKGzYl872o3m8cUMvXOxb748juyybOdvm8HPyz4R5hrFw7EJ6ePfQOyxFaXVa71XoXIqabjZzZZWJORsOEtrGhVvDA8x+PkskpeT/Dv8fb8W+RamhlMf7Pc49Pe/B1krN5FYUPaikUFdR0+3N/FlMMkdzSll5z0BsrFvfRLW04jRmbpnJP8f/oY9vH2YOm0knj056h6UorZpKCnWdXPfIzMNH+aWVLPwjiZEhPowOa12zcU3SxDfx3zBvxzwkkhcHvciksElqATtFsQAqKdRVlAF2rmBv3tLHBb8nUlRu4JWrupn1PJYmuSCZyOhIdmbuZGi7oUwfOp0A19Y5dKYolkglhbqK0sw+ce1Idgmfxxzl1vBAurZ1M+u5LEWVqYpP93/Kkl1LsLex5/Xhr3Nd5+vUzG1FsTAqKdRVnGH2JS7mrI/DzsaKZ8aHmvU8liI+N57XNr9GXG4cYzuM5ZXBr+Dr5Kt3WIqinIVKCnUVpYP/ALMdfuvhHH7en8Gz40Lxc23Z9fcVxgqW7l7KJ/s+wd3enfdGv8e4oHF6h6UoSj1UUqhNyup1j8xzp2AySWavi6OtmwP3jWzZVTa7MncxPXo6RwqOcG3na3l+4PO427vrHZaiKOehkkJtFYVQVWa2yqM1u0+wJ7WAd2/pg6Ndy6y0KTWUsmDnAr46+BVtndvy4eUfMtx/uN5hKYpygVRSqO3kjmtmmLhWbjDy9oaD9PR344Z+/o1+fEsQfTyaqJgo0krSmNR1Ek/2fxJnW2e9w1IU5SKopFBbzY5rjX+n8PE/RzhRUM67t/bFyqplVdwUVBTwTuw7/O/Q/wh2C2blhJX0b9Nf77AURWkAlRRqq1n3qHGfKWQVVfDBX4e4vFsbhnb2btRj6+23o78xe+ts8srzuK/XfTzU5yHsre31DktRlAZSSaE2My1xMe+3BMoNRl66smujHldP2WXZvLH1DX49+itdvbqyZOwSunm3rol4itISqaRQW1E62DqBvWujHTIho4jV245x55AgOvs2/w1ipJT879D/eCf2Hcqrynmy/5NM7TFVLWCnKC2ESgq1FadrlUeNOMv2jXVxONvb8OTlzX+i2vHi48yMmUn0iWj6+fVjxrAZdHJv2aW1itLaqKRQW1FGo1Ye/Z2YxV/xWbx8ZVe8nO0a7bhNzSRNfHXwKxbsXIBA8PLgl7kt7DasROtb2VVRWjqVFGorSoN2vRvlUEaTZPbaOAK9HJk6LLhRjqmHwwWHmRE9g38z/2V4++FMHzqd9i7t9Q5LURQzUUmhtkZc9+i7HSkcTC9i0e39sLdpfhPVDCYDK/et5IPdH+Bo48jsEbO5ptM1agE7RWnhVFI4qaIIKosbpfKopKKKub8k0L+DB1f1Mv8Obo3tQM4BIqMjOZh7kHFB43h58Mv4OProHZaiKE1AJYWTamYzX3pSWLrpMFlFFXw4ZUCz6lmXV5Xz4e4PWbl/JZ4OnswbPY/Lgy7XOyxFUZqQSgonNdKOa+kF5SzbdIirerdjQJBnIwTWNHZm7CQyOpLkwmRu6HIDz4Y/qxawU5RWSCWFk2omrl3acM/cX+IxmeDFCc1jolqJoYT5O+azOn41/i7+LBu3jKHth+odlqIoOlFJ4aSapNDwO4V9xwv4fmcq94/sRKCXUyMFZj5/p/7NzC0zySjJYEq3KTze73GcbC0/bkVRzEclhZOK08HaHhw8GvTPpdRKUD0cbXl0TJdGDq5x5Zfn83bs2/x0+Cc6uXfis4mf0devr95hKYpiAVRSOKkoQ3vI3MAHw7/HZRJzOIeoa3vg7miZSz5IKfnl6C+8sfUNCisKeaD3AzzY+0HsrJvvxDpFURqXWZOCEGICsACwBpZLKefUef8Z4D6gCsgC7pVSHjVnTOdUlNbgyiOD0cQb6+Po5OvM7YM7NHJgjSOrNItZW2bxR8ofdPfuzrJxywjzCtM7LEVRLIzZkoIQwhpYDIwDUoFYIcQaKeWBWs3+BcKllKVCiIeBt4HbzBVTvYozwLdhD4e/2naMw1klfHRXOLbWlrX0g5SS/yb9l3di36HSVMkzA57hzu53YmOlbhIVRTmTOa8Mg4AkKeVhACHEauA6oCYpSCn/rNV+CzDFjPHUrygDOo256H9WWG5g/m+JDOnkxeXd/MwQWMOlFqUSFRPFlrQtDGgzgBlDZxDsHqx3WIqiWDBzJgV/IKXW56nA4Hra/wdYf7Y3hBAPAA8AdOhghuGZylKoKGhQ5dHiP5PIK63k1au6W8xENaPJyFcHv+L9f9/HSljx2pDXuDn0ZrWAnaIo52URYwhCiClAODDqbO9LKZcBywDCw8NlowdQM3Ht4p4ppOSW8sk/ydzQz5+e/pYx0etQ/iGmR09nT9YeRviPIHJoJG2dG3fTIEVRWi5zJoXjQGCtzwOqXzuNEOJy4BVglJSywozxnFsDl7h4++d4rKxg2hX6P7A1GA18vO9jlu1ZhrOtM2+OfJOrOl5lMXcviqI0D+ZMCrFAiBCiI1oymATcXruBEKIfsBSYIKXMNGMs9StK0/6+iKSw81geP+0+weOXdaGdu6OZArsw+7P3Mz16Ogl5CUwMnsgLg17A27Fl7QWtKErTMFtSkFJWCSEeA35GK0ldIaXcL4SYCWyXUq4B3gFcgG+re7THpJTXmiumcyquvlO4wOEjKSWz/u8APi72PDiqsxkDq195VTlLdi3h0wOf4uPgw/tj3mdMh4t/WK4oinKSWZ8pSCnXAevqvDa91seWsQRnUTpY2YKT1wU1X7c3nZ3H8plzYy9c7PV5LBObHsuM6BkcKzrGTSE38Uz4M7jZuekSi6IoLYdFPGjWXVH6Bc9mrqgyMmdDHF3bunJLeOB52ze24spi5u2YxzcJ3xDgEsDy8csZ3K6+oi5FUZQLp5ICaNVHF7hk9mfRR0nJLeOzewdhbdW0D3E3pW5iZsxMssqyuKv7XTza91G1gJ2iKI1KJQXQqo+8z/9sIK+kkoV/JDIq1JeIUN8mCKz6vOV5vBX7FmsPr6Wze2feG/0evX0bZy9pRVGU2lRSAK36KHj4eZst+D2R4ooqXrmqWxMEpT3Q3pC8gTe3vkmRoYiH+zzMfb3uUwvYKYpiNiopGMqhPP+8lUeHs4r5YstRbhvYgdA2rmYPK6Mkg1lbZ/FXyl/09O5J1PAoQj1DzX5eRVFaN5UUii9s4tqc9Qext7HimXHmvTBLKfk+8Xve3f4uVaYqngt/jindpmBtZW3W8yqKooBKCrV2XDt3UthyOIdfDmTw3PhQfF3tzRZKSmEKM2JmsC19GwPbDmTG0Bl0cLPMpbgVRWmZVFKoWffo7NVHJpNk1toDtHN34D8jOpklBKPJyBdxX7Do30XYWNkwfeh0bgq5SS1gpyhKk1NJoWbdo3Znffu/u46z73gh827rg6Nd4w/hJOYlEhkdyd7svYwKGMWrQ15VC9gpiqIblRSK0sDKBpzOXCuorNLIOz/H0zvAnev6+DfqaQ1GA8v3LmfZ3mW42rrydsTbTAieoBawUxRFVyopFGeAsx9YnTlU8/E/h0krKGf+bX2xasSJanuz9jI9ejpJ+Ulc2fFKXhz0Ip4Ono12fEVRlIZSSeHkEhd1ZBaV88FfhxjfvQ2DOzXOiqNlVWUs+ncRX8R9gY+jD4suW8SowLNuIaEoiqILlRSK0sEz6IyX5/2aSEWViRcnNmzf5rq2pW0jMjqS1OJUbgm9hacHPI2rnfnnOyiKolwMlRSK0yFw0GkvxacX8XXsMe4aGkwnX5dLOnxRZRHvbn+X7xO/J9A1kBVXrGBg24GXdExFURRzad1JoaoSSnPOqDx6Y10cLvY2PDk25JIO/1fKX7we8zrZ5dnc3eNuHun7CI42+m7IoyiKUp/WnRRqZjOfmqOwMSGLjQlZvHJlNzydG7bGUG55LnO2zmF98npCPENYcNkCevr0bIyIFUVRzEolBahZ98hokryxNo4OXk7cNezM5wznI6Vk7ZG1vLXtLYoNxTza91H+0/M/2PHAaP0AAAleSURBVFrbNmbUiqIoZtO6k0KdJS6+2Z5CfEYRS+7oj73NxU1USy9J5/Utr7MpdRO9fXoTNSyKLp5dGjtiRVEUs2rlSSFN+9u1LcUVVbz7SwLhQZ5M7HnhM4pN0sR3Cd/x3o73MEkTzw98ntu73q4WsFMUpVlq3UmhOAOEFTj7svS3JLKLK/jorgEXPKv4aOFRZkTPYHvGdga3G0zk0EgCXZt+i05FUZTG0rqTQlE6OPuRVlTJR38f5po+7enX4fwzi6tMVXx+4HMW71qMnZUdUcOiuKHLDWqJCkVRmj2VFFzb8M7P8ZgkPH9F2Hn/SXxuPJHRkezP2c+YwDG8OuRV/Jz8miBYRVEU82vdSaE4nUJbX37YeZwHR3Ui0MvpnE0rjZUs27OMj/d+jJu9G3NHzWV80Hh1d6AoSovSqpOCLMogVgbg5WzHo2POXSm0K3MXkdGRHC44zDWdruH5gc/j4eDRhJEqiqI0jdabFIxVUJLFvipHnroqBDeHM+cSlBpKWfjvQlbFraKNcxuWjF3CyICROgSrKIrSNFptUjAUpmOLxOTsx+RBZ255GXMihqiYKI4XH+e2sNt4qv9TuNhd2jpIiqIolq7VJoUNMbu4BrhsYB9srU/tpVBYWcjc2Ln8mPQjQW5BfHLFJ4S3DdcvUEVRlCbUKpNCQZmB32N3cw3Qu+upiqPfj/3O7C2zyS3P5T89/8NDfR7CwcZBv0AVRVGaWKtMCov/TMKpMgdsQbi2Jbssmze3vskvR38hzDOMhWMX0sO7h95hKoqiNLlWlxRScktZuTmZRe2NyCzBT5nbeGv7XMqqynii3xPc3fNubK3UAnaKorROrS4pzNlwkJ5WyXQvW8vDgR3YHD2dPr59mDlsJp08OukdnqIoiq7O3K2+Ef1/e3cfY0dVxnH8+5PaLVio2MVgCrI1lEiDUZq1gT+sNYhpGtKFgLoqEUyjCQ3GoDE0MaEEEgIoRggkpYbGaqIUSmguEVMTiikhbtPFFqRVzFp5WYSwYt0/5M3C4x8zTG4u2+50d16Ye3+fZJOZM2f3Ps/OvXn2nDM7I2mVpGckjUlaP8XxPklb0+O7JQ2UGc8Tzx1i4s+PcMlHbuXS/nn8qa+P9cvXs2XVFhcEMzNKHClIOg64C7gQGAf2SGpFxIG2bmuBQxFxpqRh4Bbgq2XEExFs234bfQP3c+u8+Zx/yjI2rLiJRfMXlfFyZmaNVOb00XJgLCIOAki6FxgC2ovCEHB9ur0NuFOSIiKKDub2B77H70/ayVz6uPGz1zJ09td9iwozsw5lTh8tAl5o2x9P26bsExGHgUlgYecPkvQdSaOSRicmJmYUzKkLPsmn3zqB7Re3uHjpN1wQzMym0IiF5ojYBGwCGBwcnNEoYvjCdQyzrtC4zMy6TZkjhReB9ifOnJa2TdlH0hxgAfBqiTGZmdlRlFkU9gBLJC2WNBcYBlodfVrAFen2ZcDOMtYTzMwsn9KmjyLisKSrgR3AccDmiNgv6QZgNCJawD3ArySNAf8mKRxmZlaTUtcUIuJh4OGOtuvatt8AvlxmDGZmll+p/7xmZmbN4qJgZmYZFwUzM8u4KJiZWUZNuwJU0gTw3Ay/vR/4V4HhNIFz7g3OuTfMJuczIuKU6To1rijMhqTRiOipZ2s6597gnHtDFTl7+sjMzDIuCmZmlum1orCp7gBq4Jx7g3PuDaXn3FNrCmZmdnS9NlIwM7OjcFEwM7NMVxYFSaskPSNpTNL6KY73SdqaHt8taaD6KIuVI+fvSzog6SlJj0g6o444izRdzm39LpUUkhp/+WKenCV9JT3X+yX9uuoYi5bjvf1xSY9K2pu+v1fXEWdRJG2W9Iqkp49wXJLuSH8fT0laVmgAEdFVXyS36f478AlgLvAksLSjzzpgY7o9DGytO+4Kcv4CcEK6fVUv5Jz2OxHYBYwAg3XHXcF5XgLsBU5O9z9ad9wV5LwJuCrdXgo8W3fcs8x5BbAMePoIx1cDvwMEnAfsLvL1u3GksBwYi4iDEfEWcC8w1NFnCNiSbm8DLlCzH9o8bc4R8WhEvJbujpA8Ca/J8pxngBuBW4A3qgyuJHly/jZwV0QcAoiIVyqOsWh5cg7gpHR7AfDPCuMrXETsInm+zJEMAb+MxAjwYUkfK+r1u7EoLAJeaNsfT9um7BMRh4FJYGEl0ZUjT87t1pL8pdFk0+acDqtPj4jfVhlYifKc57OAsyQ9LmlE0qrKoitHnpyvBy6XNE7y/JbvVhNabY71835MSn3Ijr3/SLocGAQ+X3csZZL0AeCnwJU1h1K1OSRTSCtJRoO7JH0qIv5Ta1Tl+hrwi4i4TdL5JE9zPCci3qk7sCbqxpHCi8DpbfunpW1T9pE0h2TI+Wol0ZUjT85I+iLwI2BNRLxZUWxlmS7nE4FzgD9IepZk7rXV8MXmPOd5HGhFxP8i4h/A30iKRFPlyXktcB9ARPwRmEdy47hulevzPlPdWBT2AEskLZY0l2QhudXRpwVckW5fBuyMdAWnoabNWdK5wN0kBaHp88wwTc4RMRkR/RExEBEDJOsoayJitJ5wC5Hnvb2dZJSApH6S6aSDVQZZsDw5Pw9cACDpbJKiMFFplNVqAd9Mr0I6D5iMiJeK+uFdN30UEYclXQ3sILlyYXNE7Jd0AzAaES3gHpIh5hjJgs5wfRHPXs6cfwzMB+5P19Sfj4g1tQU9Szlz7io5c94BfEnSAeBt4IcR0dhRcM6cfwD8XNI1JIvOVzb5jzxJvyEp7P3pOskG4IMAEbGRZN1kNTAGvAZ8q9DXb/DvzszMCtaN00dmZjZDLgpmZpZxUTAzs4yLgpmZZVwUzMws46JglpOktyXta/sakLRS0mS6/xdJG9K+7e1/lfSTuuM3y6Pr/k/BrESvR8Rn2hvS264/FhEXSfoQsE/SQ+nhd9uPB/ZKejAiHq82ZLNj45GCWUEi4r/AE8CZHe2vA/so8KZlZmVxUTDL7/i2qaMHOw9KWkhyj6X9He0nk9x/aFc1YZrNnKePzPJ7z/RR6nOS9gLvADent2FYmbY/SVIQfhYRL1cYq9mMuCiYzd5jEXHRkdolLQZGJN0XEfuqDs7sWHj6yKxk6S2sbwaurTsWs+m4KJhVYyOwIr1ayex9y3dJNTOzjEcKZmaWcVEwM7OMi4KZmWVcFMzMLOOiYGZmGRcFMzPLuCiYmVnm/3C4ooH58/Q3AAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fpr_DT_1, tpr_DT_1, _ = metrics.roc_curve(np.array(y_test), pred_DT_1[:, 1])\n", "plt.plot(fpr_DT, tpr_DT, label='standart')\n", "plt.plot(fpr_DT_1, tpr_DT_1, label='max_depth=3')\n", "plt.title('ROC-curve')\n", "plt.xlabel('FPR')\n", "plt.ylabel('TPR')\n", "plt.legend()\n", "plt.plot([1, 0], [1, 0])\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Случайный лес" ] }, { "cell_type": "code", "execution_count": 594, "metadata": {}, "outputs": [], "source": [ "RF = RandomForestClassifier(random_state=42)" ] }, { "cell_type": "code", "execution_count": 595, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "RandomForestClassifier(bootstrap=True, class_weight=None, criterion='gini',\n", " max_depth=None, max_features='auto', max_leaf_nodes=None,\n", " min_impurity_decrease=0.0, min_impurity_split=None,\n", " min_samples_leaf=1, min_samples_split=2,\n", " min_weight_fraction_leaf=0.0, n_estimators=10, n_jobs=1,\n", " oob_score=False, random_state=42, verbose=0, warm_start=False)" ] }, "execution_count": 595, "metadata": {}, "output_type": "execute_result" } ], "source": [ "RF.fit(X_train, y_train)" ] }, { "cell_type": "code", "execution_count": 596, "metadata": {}, "outputs": [], "source": [ "pred_RF = RF.predict_proba(X_test)" ] }, { "cell_type": "code", "execution_count": 597, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fpr_RF, tpr_RF, _ = metrics.roc_curve(np.array(y_test), pred_RF[:, 1])\n", "plt.plot(fpr_RF, tpr_RF)\n", "plt.title('ROC-curve')\n", "plt.xlabel('FPR')\n", "plt.ylabel('TPR')\n", "plt.plot([1, 0], [1, 0])\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Способы регуляризации случайного леса:\n", "* Кол-во деревьев\n", "* Кол-во фичей для каждого дерева\n", "* Максимальная глубина дерева\n", "* Минимальное кол-во элементов в листе\n", "* Максимально кол-во листов\n", "* Минимальное увеличения критерия информативности" ] }, { "cell_type": "code", "execution_count": 610, "metadata": {}, "outputs": [], "source": [ "RF_1 = RandomForestClassifier(n_estimators=500, max_features=3, random_state=42)\n", "RF_1.fit(X_train, y_train)\n", "pred_RF_1 = RF_1.predict_proba(X_test)" ] }, { "cell_type": "code", "execution_count": 611, "metadata": {}, "outputs": [ { "data": { "image/png": "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vFCqz8jJyal40L+8vDxMJhMAiYmJZGRk0LFjR5RSPPDAA3z//fcA/PDDDzz44IMAPPjgg8XTr2bt2rV069aNQYMG0aBBAyZOnMjixYtp3749oaGhHDlyBIAff/yxeC//9ttv58yZMwA8++yzTJo0CYCff/6Zrl27FtdZ0o4dO3jxxRf54YcfCA8PJzc3l19++YVOnTrRpk0bhg4dSlZWFgCTJk2iXbt2hISEMGbMGLTWLFu2jC1btjBy5Mji95e8q96WLVvo3r07ANHR0dx///106dKF+++/n8LCQiZMmEC7du1o1aoVc+fOLf4cu3btSnh4OCEhIaU+evHy8ip+nJ2dbZnej1rrSvXVtm1bfTMKC0264csr9Pq5z2gdU0NrrbXJZNI/HP5Bd/6ys279WWs9b+c8nV+Yf1PLF6W3d+9eq67/2LFj2t7eXm/fvl1rrfXQoUP1559/ftX5b7vtNn3w4EGttdYbN27UPXr00FprHRISohMSErTWWqelpWmttf7000/1k08+Wfzeks8ffPBBPXz4cG0ymfT333+vPT099a5du3RhYaFu06ZNcT3nzp3TWmttNBp1t27d9M6dO7XWWterV08nJydrrbU+deqUDgoK0mfPntUFBQW6R48e+rvvvtNaaw3opUuXaq21TklJ0U2aNNEmk+miOr/44gsdFhZ22deQIUOKaz958qQODQ3Vrq6uetasWVprrePi4nTPnj2L51m3bp2+4447tNZae3t7F083mUwXPb+SNWvWaG9vb3369GltMBh0YGCgjoyM1FprPXPmTP3ss89qrbVOTU0trn/+/Pl63LhxWmuts7OzdYsWLfQff/yhmzRpog8fPnzVdZX8PSQnJ+tbb71VZ2Vlaa21njp1qo6Jibnos9da61GjRunly5drrbXu1q2bjouLK36t5O8iLi5Od+vWTWutdVRUlG7Tpo3OycnRWms9d+5cPXnyZK211gaDQbdt21YfPXpUv/3223rKlClaa/PvOSMjQ2ut9bBhw674e1m0aFHxumfNmqUbNGig69SpU/x3eakr/Y8BW3QptrE203yUkp1HPZ1AWOpq8PAjMSuRmI0xrD+1nrCaYUzqPIkG1RpYu0xRTurXr094eDhgvifC8ePHrzhfVlYWsbGxDB06tHhaXl4eAF26dGH06NEMGzas+P4K13PnnXeilCI0NBQ/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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fpr_RF_1 , tpr_RF_1 , _ = metrics.roc_curve(np.array(y_test), pred_RF_1[:, 1])\n", "plt.plot(fpr_RF, tpr_RF, label='standart')\n", "plt.plot(fpr_RF_1 , tpr_RF_1 , label='n_estimators=300, max_features=3')\n", "plt.title('ROC-curve')\n", "plt.xlabel('FPR')\n", "plt.ylabel('TPR')\n", "plt.legend()\n", "plt.plot([1, 0], [1, 0])\n", "plt.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.6.8" } }, "nbformat": 4, "nbformat_minor": 2 }