diff --git a/.gitignore b/.gitignore index a6aef76..63c1aa9 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ venv/ __pycache__ -*.pyc" +*.pyc +*.csv \ No newline at end of file diff --git a/week4_scikit_learn.ipynb b/week4_scikit_learn.ipynb new file mode 100644 index 0000000..a80a8a0 --- /dev/null +++ b/week4_scikit_learn.ipynb @@ -0,0 +1,747 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "65d1e2b6-3d91-4ce9-b9b4-61bf253a6c09", + "metadata": { + "jp-MarkdownHeadingCollapsed": true + }, + "source": [ + "## **Базовая нейросеть:**" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "07e658f8-fe51-4e41-b587-c2ece2797238", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " precision recall f1-score support\n", + "\n", + " 0 1.00 1.00 1.00 9\n", + " 1 1.00 1.00 1.00 11\n", + " 2 1.00 1.00 1.00 10\n", + "\n", + " accuracy 1.00 30\n", + " macro avg 1.00 1.00 1.00 30\n", + "weighted avg 1.00 1.00 1.00 30\n", + "\n" + ] + } + ], + "source": [ + "from sklearn.datasets import load_iris\n", + "from sklearn.model_selection import train_test_split\n", + "from sklearn.neural_network import MLPClassifier\n", + "from sklearn.metrics import classification_report\n", + "\n", + "# Загрузка и разбиение данных\n", + "X, y = load_iris(return_X_y=True)\n", + "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)\n", + "\n", + "# Модель MLP — многослойный перцептрон\n", + "clf = MLPClassifier(hidden_layer_sizes=(10,), activation='relu', max_iter=1600)\n", + "clf.fit(X_train, y_train)\n", + "\n", + "# Отчёт о точности\n", + "print(classification_report(y_test, clf.predict(X_test)))" + ] + }, + { + "cell_type": "markdown", + "id": "3f3ce604-cdd2-457f-8156-90475125aa50", + "metadata": { + "jp-MarkdownHeadingCollapsed": true + }, + "source": [ + "## **1.1 Самостоятельное задание:**" + ] + }, + { + "cell_type": "markdown", + "id": "69b1aa34-9ffc-482c-87f3-bc832496f4b0", + "metadata": {}, + "source": [ + "**Цель задачи:**\n", + "**Продемонстрировать** применение метода **Support Vector Machine (SVM)** для классификации рукописных цифр на основе признаков, извлеченных из изображений размером 8x8 пикселей.\n", + "\n", + "**План исследования:**\n", + "- **Использовать** алгоритм SVM из scikit-learn (sklearn.svm.SVC) с параметром gamma=0.001.\n", + "\n", + "- **Протестировать** на двух типах данных:\n", + "\n", + " - **Встроенный датасет:** load_digits() (рукописные цифры из scikit-learn).\n", + "\n", + " - **Внешний датасет:** загрузить собственный датасет с изображениями цифр (например, из CSV-файла или через pandas.read_csv).\n", + "\n", + "- **Сравнить** результаты классификации, визуализировать правильные и ошибочные предсказания, интерпретировать качество модели с помощью метрик (classification report, confusion matrix).\n", + "\n", + "**Запланированные этапы анализа:**\n", + "1. Загрузить датасет рукописных цифр, отобразить несколько примеров изображений с их истинными метками.\n", + "2. Преобразовать изображения (8x8) в одномерные векторы (64 признака) для подачи в SVM. Масштабирование признаков (при необходимости).\n", + "3. Разделить данные на обучающую и тестовую выборки (50% / 50%). Обучить SVM-классификатор (SVC, gamma=0.001) на обучающей выборке.\n", + "4. Предсказать цифры на тестовой выборке. Вывести classification report (precision, recall, f1-score) и confusion matrix. Визуализировать примеры предсказаний.\n", + "5. Проанализировать, какие цифры классифицируются лучше всего, какие часто путаются, и почему SVM с gamma=0.001 показывает такие результаты." + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "2533ea07-7cba-410f-934f-ed2d051ca96b", + "metadata": {}, + "outputs": [], + "source": [ + "# Authors: The scikit-learn developers\n", + "# SPDX-License-Identifier: BSD-3-Clause\n", + "\n", + "# Standard scientific Python imports\n", + "import matplotlib.pyplot as plt\n", + "\n", + "# Import datasets, classifiers and performance metrics\n", + "from sklearn import datasets, metrics, svm\n", + "from sklearn.model_selection import train_test_split" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "aeeca49a-8c6d-4029-ae71-9ad4059bf8a3", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAxsAAADSCAYAAAAi0d0oAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjksIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvJkbTWQAAAAlwSFlzAAAPYQAAD2EBqD+naQAAEIpJREFUeJzt3X9sXWX9B/BnUvmlspUJAiLbCktUDJQNExH5FTpgwlgBN/3DQMnMpmBwoEkXQBmIyAQSfo/JP6DAso0fGzPya3GVGP5hhQ5BTTZXIOgWUbqp/Bx4v3lOvl3YOmhXzie3997XK2m6e27vp6fn3GfnvO/znOeMqlQqlQQAAFCyj5VdEAAAQNgAAADC6NkAAABCCBsAAEAIYQMAAAghbAAAACGEDQAAIISwAQAAhBA2AACAEMLGMHR0dKTx48cPa4PPnz8/jRo1alivhVqinYB2Ao4n1FXYyCfxQ/nq6uqq9qqOOE899VT62te+lvbee+90wAEHpIsuuij997//rfZqEUA7GZ7HH388zZo1K33pS19Ku+2227A/cKA2aCe77o033ki33XZbOuWUU9KBBx6YPvWpT6WjjjoqLVy4ML333nsBe4lq006G55prrklf+cpX0n777Zf23HPPNHHixDR37tz06quvpno0qlKpVFKduOeee7Z7/Ktf/So98cQT6de//vV2y6dMmZI+85nPDPv3bN26Nf3vf/9Le+yxxy6/9t133y2+8ptrpOjp6UnHHHNM+sIXvpBmz56dXnnllXT99denk046KT3yyCPVXj1Kpp0Mv6dmyZIladKkSenll18uAseLL75Y8t5hpNBOdt3zzz+fjjjiiHTyyScXgWOfffZJjz32WHrooYfSueeem+6+++6APUU1aSfDc8455xRB4/Of/3wRyv/85z+nO++8M+2///7FOdknPvGJVFcqdezCCy/MQWrQn3v99dcrjWzq1KmVAw88sLJly5Zty+68885i2z322GNVXTfiaSdD87e//a3yzjvvFP8+/fTTK+PGjQvdL4ws2sngXn311crzzz8/YPn5559fHE/WrVsXsm8YObST4bv//vuLdrJ48eJKvamrYVRDceKJJxbDILq7u9Pxxx9fDBu69NJLi+dWrFiRTj/99HTQQQcVvRaHHnpo+ulPfzqg+3fHsej5083clZh7A375y18Wr8uv//KXv5yefvrpQa/ZyI+///3vp+XLlxfrll97+OGHp0cffXTA+uchYEcffXTRM5J/z6JFi3Za85///Gf6y1/+UnRrf5h///vfRe/Pt7/97eJTqH75U6hPfvKTaenSpUPartQX7WSg/P/Cxz/+8SrsDUYq7WR7n/70p4tj147OOuus4nv+9JbGo50MTf955ebNm1O9aUoN6F//+leaOnVq+ta3vlWcZPcPqbrrrruKE+xLLrmk+P673/0u/eQnPylOyK+77rpB6953333pP//5T5ozZ05x8v+LX/winX322WnDhg2DnqT84Q9/SA8++GC64IILii61m2++uehmy8M1xo4dW/zMs88+m0477bRiLOyVV15ZhKCrrrqq6Irb0a233lr8zOrVq4uG/kH++Mc/FsO6coB5v9133z21trYWv5PGpJ2AdrIrx5MPsmnTpm1hhMbkeDJQvoohb5d8DrZu3bo0b968YnjucNrYiFdpsO68E044oVh2xx13DPj5N954Y8CyOXPmVPbee+/KW2+9tW3Zeeedt90Qit7e3qLm2LFjK6+99tq25StWrCiWr1y5ctuyK664YsA65ce77757Zf369duWrV27tlh+yy23bFs2bdq0Yl3ycI5+uVu6qalpQM3+37N69eoP3UbLli0rfu7JJ58c8NyMGTMqBxxwwIe+ntqnnQzeTnZkGFXj0U52vZ1kb7/9duWLX/xiZcKECZWtW7eG7BtGDu1k6O1k48aNxflX/9fBBx9cWbJkSaUeNdwwqiwPUzr//PMHLN9rr722/Tv3UOShSMcdd1wxFCkPSRrMN7/5zdTc3LztcX5tlns2BtPW1lYMi+qXL7LLw5r6X5t7MVatWpXa29uL4Rz9DjvssKKXZkd5aFXOMYMl5DfffLP4vrOL3fNQrf7naTzaCWgnu3I82Zk8RPhPf/pT0TvS1NSQgylwPNmpfffdtxjGvnLlymKUSu75q9dZQBuy5X/2s58thgnt6IUXXkiXX355MXwqD516vy1btgxa95BDDtnucX/w6Ovr2+XX9r++/7X/+Mc/ihP/HC52tLNlQ9UfsN5+++0Bz7311lvbBTAai3YC2slHkYcf5xl28rWPX//6172dGpjjyUD5PDR/0JydccYZxSxuxx57bDEjVX5cTxoybOzsBDpfkHPCCScUvQk5YeZehvzJ/jPPPJM6OzuLqW4H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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "digits = datasets.load_digits() # встроенная база данных из scikit-learn\n", + "\n", + "_, axes = plt.subplots(nrows=1, ncols=4, figsize=(10, 3))\n", + "for ax, image, label in zip(axes, digits.images, digits.target):\n", + " ax.set_axis_off()\n", + " ax.imshow(image, cmap=plt.cm.gray_r, interpolation=\"nearest\")\n", + " ax.set_title(\"Training: %i\" % label)" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "0b917b8c-087c-4f02-bb69-80124bcf1e53", + "metadata": {}, + "outputs": [], + "source": [ + "# flatten the images\n", + "n_samples = len(digits.images)\n", + "data = digits.images.reshape((n_samples, -1))\n", + "\n", + "# Create a classifier: a support vector classifier\n", + "clf = svm.SVC(gamma=0.001)\n", + "\n", + "# Split data into 50% train and 50% test subsets\n", + "X_train, X_test, y_train, y_test = train_test_split(\n", + " data, digits.target, test_size=0.5, shuffle=False\n", + ")\n", + "\n", + "# Learn the digits on the train subset\n", + "clf.fit(X_train, y_train)\n", + "\n", + "# Predict the value of the digit on the test subset\n", + "predicted = clf.predict(X_test)" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "e20fad7e-e92c-4680-b026-cbf4bf0aeae1", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAxsAAADSCAYAAAAi0d0oAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjksIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvJkbTWQAAAAlwSFlzAAAPYQAAD2EBqD+naQAAEfBJREFUeJzt3QlsZVUZB/AzMKJsThVQcZviGjd4iqKJyhQBiaLxadxwybTGuKPVKKImThXjHjMGl0iMUzUYXAiduKESZxpwD9BG3KI4HSEoYEJH48pyzXfNq+3QYTp4v77ezu+XdN709b7v3b6+8+7933PPuWuqqqoKAABAww5ouiAAAICwAQAApNGzAQAApBA2AACAFMIGAACQQtgAAABSCBsAAEAKYQMAAEghbAAAACmEjX00ODhYhoeH577fvn17WbNmTX3blKg3NjbWWD1YbtoJaCtgm0Lrwsb4+Hi9I977utvd7lYe9rCHlTe84Q3l+uuvL23yrW99q1WB4itf+Up50pOeVAYGBsoRRxxRNmzYUL75zW/2e7VYhHbSP9pJu2gr/XfzzTeXRz7ykfU2/aMf/Wi/V4dFaCf984lPfKI84hGPKHe9613L/e53v/KWt7yl/O1vfytts7a00Hvf+95yzDHHlH/+85/lsssuK5/+9KfrnferrrqqHHLIIcu6LieeeGL5xz/+UQ466KB9elys7yc/+clFA0fUW7t25fxpzj333PLGN76xnH766eWDH/xg/brHh8+znvWscuGFF5bnPe95/V5FFqGdLC/tpL20lf62mz/84Q99XAOWSjtZXm9/+9vLhz/84fL85z+/vOlNbyq//OUv6/byi1/8onznO98pbbJy9mj3wTOe8Yzy+Mc/vv7/K1/5yvpI+8c+9rGydevWcsYZZyz6mEiChx56aOPrcsABB9Q9LE1qut7/K97cT3jCE8rXv/71+uhTeMUrXlGn7M9//vPCxgqlnSwv7aS9tJX+uOGGG+od2Nipeve7392ntWCptJPl88c//rHer335y19evvCFL8zdH2fznHnmmfX+2LOf/ezSFq06jWpPnva0p9W3O3bsqG9jTMVhhx1Wrr766vLMZz6zHH744eWlL31p/bPbbrutbN68uTzqUY+qd+rvfe97l1e/+tXlpptuWlCzqqryvve9r9z//veve0tOOumkOk3ubk9jNn7y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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "_, axes = plt.subplots(nrows=1, ncols=4, figsize=(10, 3))\n", + "for ax, image, prediction in zip(axes, X_test, predicted):\n", + " ax.set_axis_off()\n", + " image = image.reshape(8, 8)\n", + " ax.imshow(image, cmap=plt.cm.gray_r, interpolation=\"nearest\")\n", + " ax.set_title(f\"Prediction: {prediction}\")" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "a130ac80-9e64-496a-86a4-0f710ce6180d", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Classification report for classifier SVC(gamma=0.001):\n", + " precision recall f1-score support\n", + "\n", + " 0 1.00 0.99 0.99 88\n", + " 1 0.99 0.97 0.98 91\n", + " 2 0.99 0.99 0.99 86\n", + " 3 0.98 0.87 0.92 91\n", + " 4 0.99 0.96 0.97 92\n", + " 5 0.95 0.97 0.96 91\n", + " 6 0.99 0.99 0.99 91\n", + " 7 0.96 0.99 0.97 89\n", + " 8 0.94 1.00 0.97 88\n", + " 9 0.93 0.98 0.95 92\n", + "\n", + " accuracy 0.97 899\n", + " macro avg 0.97 0.97 0.97 899\n", + "weighted avg 0.97 0.97 0.97 899\n", + "\n", + "\n" + ] + } + ], + "source": [ + "print(\n", + " f\"Classification report for classifier {clf}:\\n\"\n", + " f\"{metrics.classification_report(y_test, predicted)}\\n\"\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "6ed6af02-5576-4878-ac4f-0e4d3bee343c", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Confusion matrix:\n", + "[[87 0 0 0 1 0 0 0 0 0]\n", + " [ 0 88 1 0 0 0 0 0 1 1]\n", + " [ 0 0 85 1 0 0 0 0 0 0]\n", + " [ 0 0 0 79 0 3 0 4 5 0]\n", + " [ 0 0 0 0 88 0 0 0 0 4]\n", + " [ 0 0 0 0 0 88 1 0 0 2]\n", + " [ 0 1 0 0 0 0 90 0 0 0]\n", + " [ 0 0 0 0 0 1 0 88 0 0]\n", + " [ 0 0 0 0 0 0 0 0 88 0]\n", + " [ 0 0 0 1 0 1 0 0 0 90]]\n" + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "disp = metrics.ConfusionMatrixDisplay.from_predictions(y_test, predicted)\n", + "disp.figure_.suptitle(\"Confusion Matrix\")\n", + "print(f\"Confusion matrix:\\n{disp.confusion_matrix}\")\n", + "\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "id": "fab022ac-c81c-445c-b15c-faaf6206dd2b", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Classification report rebuilt from confusion matrix:\n", + " precision recall f1-score support\n", + "\n", + " 0 1.00 0.99 0.99 88\n", + " 1 0.99 0.97 0.98 91\n", + " 2 0.99 0.99 0.99 86\n", + " 3 0.98 0.87 0.92 91\n", + " 4 0.99 0.96 0.97 92\n", + " 5 0.95 0.97 0.96 91\n", + " 6 0.99 0.99 0.99 91\n", + " 7 0.96 0.99 0.97 89\n", + " 8 0.94 1.00 0.97 88\n", + " 9 0.93 0.98 0.95 92\n", + "\n", + " accuracy 0.97 899\n", + " macro avg 0.97 0.97 0.97 899\n", + "weighted avg 0.97 0.97 0.97 899\n", + "\n", + "\n" + ] + } + ], + "source": [ + "# The ground truth and predicted lists\n", + "y_true = []\n", + "y_pred = []\n", + "cm = disp.confusion_matrix\n", + "\n", + "# For each cell in the confusion matrix, add the corresponding ground truths\n", + "# and predictions to the lists\n", + "for gt in range(len(cm)):\n", + " for pred in range(len(cm)):\n", + " y_true += [gt] * cm[gt][pred]\n", + " y_pred += [pred] * cm[gt][pred]\n", + "\n", + "print(\n", + " \"Classification report rebuilt from confusion matrix:\\n\"\n", + " f\"{metrics.classification_report(y_true, y_pred)}\\n\"\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "845cde40-9910-42e5-a744-1a5a8bf19c47", + "metadata": {}, + "source": [ + "**Вывод:**\n", + "- Лучше всего классифицируются цифры: 0, 1, 6;\n", + "- Часто путающиеся цифры: 3, 8;\n", + "- Низкая gamma (=0,001) позволяет модели быть точнее и чувствительнее к отдельным точкам, что в свою очередь позволяет быть обобщенной и иметь низкий риск переобучения;" + ] + }, + { + "cell_type": "markdown", + "id": "e1fee126-c16c-484f-9ff2-871aa9829f12", + "metadata": {}, + "source": [ + "## **1.2 Самостоятельное задание:**" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "752af355-8c72-4509-ae03-7326f8f92089", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Библиотеки импортированы\n", + "Загрузка датасета Wine из OpenML...\n", + "Датасет сохранен в wine_dataset.csv\n", + "Данные загружены из CSV файла\n", + "Размер датасета: (178, 14)\n", + "Классы: [1 2 3]\n", + "Файл сохранен: wine_dataset.csv\n", + "Количество признаков: 13\n" + ] + } + ], + "source": [ + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "import os\n", + "from sklearn.datasets import fetch_openml\n", + "from sklearn.model_selection import train_test_split\n", + "from sklearn.linear_model import LogisticRegression\n", + "from sklearn.metrics import classification_report, confusion_matrix, accuracy_score\n", + "from sklearn.preprocessing import StandardScaler\n", + "\n", + "print(\"Библиотеки импортированы\")\n", + "\n", + "print(\"Загрузка датасета Wine из OpenML...\")\n", + "wine = fetch_openml(name='wine', version=1, as_frame=True)\n", + "\n", + "wine.frame.to_csv('wine_dataset.csv', index=False)\n", + "print(\"Датасет сохранен в wine_dataset.csv\")\n", + "\n", + "data = pd.read_csv('wine_dataset.csv')\n", + "print(\"Данные загружены из CSV файла\")\n", + "\n", + "X = data.drop('class', axis=1)\n", + "y = data['class']\n", + "\n", + "print(f\"Размер датасета: {data.shape}\")\n", + "print(f\"Классы: {y.unique()}\")\n", + "print(f\"Файл сохранен: wine_dataset.csv\")\n", + "print(f\"Количество признаков: {X.shape[1]}\")" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "3d8ba665-2bbe-44ac-9f7c-c8bb231b7423", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Загрузка датасета Wine из OpenML...\n", + "Размер датасета: (178, 14)\n", + "Классы вин: ['1', '2', '3']\n", + "Categories (3, str): ['1', '2', '3']\n", + "Количество признаков: 13\n" + ] + } + ], + "source": [ + "print(\"Загрузка датасета Wine из OpenML...\")\n", + "wine = fetch_openml(name='wine', version=1, as_frame=True)\n", + "data = wine.frame\n", + "\n", + "X = data.drop('class', axis=1)\n", + "y = data['class']\n", + "\n", + "print(f\"Размер датасета: {data.shape}\")\n", + "print(f\"Классы вин: {y.unique()}\")\n" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "600a62d2-d8ac-4432-a4d6-2985daf340e8", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Пропуски в данных: 0\n", + "Данные масштабированы (StandardScaler)\n" + ] + }, + { + "data": { + "image/png": "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QQPThlq1asnLL7/ssr26Hns7NGi3atVKli9f7rI3+fTp0+YxIyIisue98MIL5u9yWrNmjVlnYmJi9t/dfffdUr16ddNufY4ffvgh+xOAYkNwBYB8aDiLiYmRkiVLmtCaM9zZ2Ww2ueWWW+T48eNmioqKcvyPNjBQpk+fLj///LO8++678u2338qoUaOy79+5c6cJxk2bNpVNmzbJhg0bpEePHnLx4kVz/+jRo2XixIkyZswY2bNnjyxcuFAqV66c7+v2yCOPmLbs3r3blDf079/f5bJxcXFy4cIFt/eDtLQ0ad26tSxbtsw8zsCBA+W+++6TLVu2uL0uACiIkgVaCgD8kPZ4amjVsKgBLSwszOlymZmZUrZsWalSpYq5HRwc7HB/zt7XOnXqyPjx4+Wxxx6T2bNnm3nam9qmTZvs26pZs2bmZ0pKikybNk1mzpyZHT7r168vHTp0yLft2gOq7dFAGhkZ6bK04ZdffpF33nlHRo4cacK1O7Sn9amnnsq+PWTIEFmxYoV88skncsMNN7i1LgAoCHpcAcCFdevWmcP02iN68OBBEzCdSU5ONmUArqxatcr0qGrQK1eunOmV1J7cv//+26HH1Zm9e/dKenq6y/td0RCsYVpLBf71r3+Znl5ntOf30UcflXr16uW5b9euXWYd9qlbt24O92uP8EsvvWRKBCpUqGCW0eB65MgRt9oKAAVFcAUAFzTMxcfHm0P4GgS17vOnn37Ks9yxY8ekWrVqTtfx22+/Sffu3aVly5by2Wefyfbt22XWrFnmvoyMDPNTw6Ur+d2Xn379+plA/MMPP5ia1jvvvNME7JzWrl0r69evl+eff97pOho1amTWYZ/efvtth/tfffVV0xv8zDPPyOrVq80yWptrf14AUNQIrgDggvYkXnXVVeZ3DX69e/eW+++/3yGYnTt3zvSKXnvttU7XoUFVe21fe+01adeunVx99dUm6OakoVYDsjMNGzY04dXV/a5oaYCezKX1rePGjZOjR4861J5qXe6TTz5p6mb1xCxntORB12GftMc49wllPXv2lHvvvVeuueYaE/S19AAAigvBFQAKSHtKExISzMlMat++feasej1hK/dhdDsNfFoDO2PGDDl06JA5bD937lyHZfTkq61bt5rRBrRHV9c7Z84cM5pBqVKlTI+mHtJ/77335Ndff5XNmzfLvHnz8m2rliGcOHFCfv/9dzOqgZ5cpm2x0yCsY9EOGjSo0K+/hmo9Ye27774z4V1LDk6ePFno9QHApRBcAaCAtI7zrbfekkmTJsn3339vSgf05CetYdX6Tme0J1KDo/6N9n5+8MEHMmHCBIdltBdWx4b98ccfzUlNOirB0qVLTdhU2iuqvaNjx46VJk2aSN++fU2Azo+2s2rVqmbderKUPq6eGJazp1hHKggKCir0668lBtddd50pD9AhuPRksNwXbQCAohRg0+NFAAAAgJejxxUAAACWQHAFAACAJRBcAQAAYAkEVwAAAFgCwRUAAACWQHAFAACAJRBcAQAAYAkEVwAAAFgCwRUAAACWQHAFAACAJRBcAQAAIFbw/wDRN5ED8mp5JwAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "print(f\"Пропуски в данных: {X.isnull().sum().sum()}\")\n", + "\n", + "scaler = StandardScaler() # Масштабирование\n", + "X_scaled = scaler.fit_transform(X)\n", + "\n", + "print(\"Данные масштабированы (StandardScaler)\")\n", + "\n", + "plt.figure(figsize=(8, 5))\n", + "y.value_counts().sort_index().plot(kind='bar', color=['skyblue', 'lightgreen', 'salmon'])\n", + "plt.title('Распределение классов вин', fontsize=14)\n", + "plt.xlabel('Класс вина')\n", + "plt.ylabel('Количество образцов')\n", + "plt.xticks(rotation=0)\n", + "plt.grid(axis='y', alpha=0.3)\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "6f924de3-6531-4f61-b3a1-beab8a1994c8", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Обучающая выборка: (142, 13)\n", + "Тестовая выборка: (36, 13)\n", + "\n", + "Распределение классов в обучающей выборке:\n", + "class\n", + "1 47\n", + "2 57\n", + "3 38\n", + "Name: count, dtype: int64\n", + "\n", + "Распределение классов в тестовой выборке:\n", + "class\n", + "1 12\n", + "2 14\n", + "3 10\n", + "Name: count, dtype: int64\n" + ] + } + ], + "source": [ + "X_train, X_test, y_train, y_test = train_test_split( # разделение на обучающуюся и тестовую выборки\n", + " X_scaled, y, test_size=0.2, random_state=42, stratify=y\n", + ")\n", + "\n", + "print(f\"Обучающая выборка: {X_train.shape}\")\n", + "print(f\"Тестовая выборка: {X_test.shape}\")\n", + "print(f\"\\nРаспределение классов в обучающей выборке:\")\n", + "print(pd.Series(y_train).value_counts().sort_index())\n", + "print(f\"\\nРаспределение классов в тестовой выборке:\")\n", + "print(pd.Series(y_test).value_counts().sort_index())" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "8780995c-f616-489d-85ac-226f11923317", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Модель Logistic Regression обучена!\n", + "Количество итераций: 15\n", + "Точность на обучающей выборке: 1.0000\n" + ] + } + ], + "source": [ + "model = LogisticRegression(max_iter=1000, random_state=42) # Создаем и обучаем модель\n", + "model.fit(X_train, y_train)\n", + "\n", + "print(\"Модель Logistic Regression обучена!\")\n", + "print(f\"Количество итераций: {model.n_iter_[0]}\")\n", + "print(f\"Точность на обучающей выборке: {model.score(X_train, y_train):.4f}\")" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "08dadf81-f34a-48fd-8637-3a63c24186b7", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "ТОЧНОСТЬ МОДЕЛИ (ACCURACY): 0.9722 (97.22%)\n", + "\n", + "============================================================\n", + "CLASSIFICATION REPORT\n", + "============================================================\n", + " precision recall f1-score support\n", + "\n", + " Class 0 1.00 1.00 1.00 12\n", + " Class 1 0.93 1.00 0.97 14\n", + " Class 2 1.00 0.90 0.95 10\n", + "\n", + " accuracy 0.97 36\n", + " macro avg 0.98 0.97 0.97 36\n", + "weighted avg 0.97 0.97 0.97 36\n", + "\n" + ] + } + ], + "source": [ + "y_pred = model.predict(X_test)\n", + "accuracy = accuracy_score(y_test, y_pred)\n", + "\n", + "print(f\"ТОЧНОСТЬ МОДЕЛИ (ACCURACY): {accuracy:.4f} ({accuracy*100:.2f}%)\\n\")\n", + "print(\"=\"*60)\n", + "print(\"CLASSIFICATION REPORT\")\n", + "print(\"=\"*60)\n", + "print(classification_report(y_test, y_pred, target_names=['Class 0', 'Class 1', 'Class 2'])) # отчет о точности модели" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "fcbda51b-0cff-45b4-ba9e-c9a3832ef5cd", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAArIAAAJOCAYAAABLKeTiAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjksIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvJkbTWQAAAAlwSFlzAAAPYQAAD2EBqD+naQAAZbxJREFUeJzt3Qd4FOX2x/EzobfQpVyRoihFmjQVpSiKoCBXBVEU7HoFESsWEMSC7VpQxHIV7HIteL12lKZXpEixICgdpIn0Dsn+n9+Lk/8m2YRsspvsbr4fnzVsm52dmZ09e+bMeb1AIBAwAAAAIM4kFfQMAAAAALlBIAsAAIC4RCALAACAuEQgCwAAgLhEIAsAAIC4RCALAACAuEQgCwAAgLhEIAsAAIC4RCALAACAuEQgWwhs377dbrzxRqtbt64VK1bMPM+z+fPnR/U169Sp4y7InREjRrj1NHXqVBZhCFo2HTt2jMqy0XQ1fRQ8bf9aF/o8xJLdu3fb3/72N7vmmmui9hrsQ+PXgQMHrF69eta7d++CnpVCgUA2Cr7//nu78sorrX79+lamTBkrVaqUHX300XbppZfapEmTLL/dfvvtNnr0aDv++OPtjjvusOHDh1v16tWtMNGXgr4Qdfnpp59CPiYlJcV9OfmPW7FiRa5fb/z48W4a+ptIy7BkyZIW7wrqR4IflAVfSpQo4Zbr5Zdfbr/99lu+zg9y79FHH7VNmzbZ0KFD025r0KCBW6fr16/P9HglDvx1/t1332W6f/PmzZaUlGRHHXVUXOxD/W23atWq1qZNGxswYIB98803Cf3jJaPLLrssy+8JJYzuvvtue+edd0Kub0RW0QhPr1BLTU21W2+91Z544gkrWrSonXbaadajRw+3US9btsw+/vhje/31123kyJE2bNiwfJuvjz76yI499lj773//m2+v+dVXX1ms0ReFvPzyy/b4449nuv/TTz+1tWvXunV38OBBK0gDBw60Pn36xPQXW0H65ZdfrHTp0lGZ9quvvuoybtHSsmVLO+ecc9y/t23bZv/73//cD57333/fZs2aZccdd1zUXjveKEjSuq5SpYrF0hGuxx57zC688MJ0n89OnTrZ4sWLXSCmz26wKVOmuL/+D6gTTzwx3f3Tpk2zQCDgphHL+9AiRYqkBe/aR27ZssV+/PFHe/755+3ZZ5+17t272yuvvGIVK1a0wq5///521113ue/6gkhgFSYEshGkD7iC2ObNm9u7777rsrDB9uzZY88884z9+eeflp8UnLVv3z5fXzPje48F+kGh5aAfEw8//LC7HkwBbvny5a1Zs2Y2ffp0K0j64o6lL+9Yo+xXtET7x0OrVq0yZZuuu+46Fww8+OCDLhDAIfqxEs11nRuvvfaa7dy50/r165fudgWhzz33nAtaQwWyKu3S/kX/1pGxYP7RgeBANhb3ofqRHypTunLlSncUUsmSv//97zZ58uS0xEFhpWWl7eDpp5+2JUuW2DHHHFPQs5S4AoiI3377LVCkSJFA5cqVA+vXr8/2sXv37k13/Y8//gjceOONgTp16gSKFy8eqFq1aqBXr16BH3/8MdNz+/fvH9BqW7ZsWeCpp54KHHfcce45Rx11VGDEiBGBlJSUTI/NeOnQoYO7f/jw4e76lClTMr3OuHHj3H36G2zy5MmBs846K1CjRg33ukcccUTglFNOCTz//PPpHle7dm13yWjnzp2Be+65x813iRIlAhUrVgx069Yt8M0332R6bPD8vfHGG4FmzZoFSpYsGahevXpg0KBBgd27d2e7nDPOj17vrbfectN877330t2/cePGQLFixQLXXXddoEuXLu4xy5cvT7t/3759gdGjRwfOPPPMwJFHHpm2nv7+978H5s6dm25aWS334I+b1oGu79mzJ3D33XcH6tWrFyhatKh7zxnfu+/aa691t40aNSrT+/Pve+ihhwLR4i/DnAhnPfufgauvvtot01KlSgVatWoVeP/997PcDoO3Y9/WrVsDw4YNCzRs2DBQpkyZQLly5QJHH310oF+/foEVK1akW+4ZL8Hbqv+YUD744IPAGWecEahUqZJ7X3reJZdcEvKzmpHWpaardZXRrFmz3H2NGzfOdN/27dvdsmzUqJHb/suXL++2w6+//jrk6yxYsCDQtWvXQNmyZQPJycnu35o/f7sM3q6Dl++HH34YOPnkk93zgpeHtv1//vOfgRYtWgRKly7t7tdn/j//+U+m187JOhBt94899ligadOmbh41Xb2m9nvz58/PtMz8z0UwvSc9XtuMPo/af2o/umnTpkyP9fdHO3bscPsOf//VpEmTwDvvvBMIR8uWLd36D97XyoYNG9y8Hnvsselu1+MqVKgQuPzyywODBw92y2X//v3pHqPloOcGL6NQ+9Dc7hOnTZsWOOecc9z3k973Mccc4/Y7u3btitjnX6+t9a75mzBhQrr7XnrppUCPHj3SpqH9gbZhfZ+Een+hLv52u3jx4sBtt93mtkf/c1i/fv3AkCFD3PrNaO3atW7Z6D37n58GDRq4z6G212A53db1PrL7bvVpf6fbhw4dmuPljPCRkY0QHRpUjeW1115r1apVy/axqi3y/fHHH3bSSSfZ0qVL3Ukm+gW3fPlyl9FVKcLnn39up5xySqZp3Hbbbe5wlA5RdunSxT744AP3S3n//v32wAMPuMf07NnT1TXde++9Vrt2bVfTI7k9CUvzo0NHFSpUsHPPPddq1Kjh5n/BggUuS3G4Ex/27t3ryi10+PSEE06wwYMH24YNG2zChAnufb711lvWq1evTM9TFvuzzz5zr6nn69+q+VWN2htvvBHWe1C2QIe9xo0bZ+edd17a7Zp/FehfccUVIcs+VMOm+T311FOtW7dubhoqF/nwww9dSYIyuK1bt05b7lu3brX//Oc/bp6Voc/K+eef75bfWWed5ZarsjZZUbZfr3PPPffY6aefnvZ6EydOdNk8LRttFwUt3PWs7FaHDh1s4cKFdvLJJ7us+Zo1a9xnQdt2Tii21WNnzpxp7dq1c8tTGSFlirSOVJ8e/BnQZ0eH/vzPgpb94dxyyy2uJKVSpUpuHR9xxBG2evVq+/LLL125gGrQI5HFybjdaXn8/PPP7n0pc6tD29q2lL1TDZ7mxadtSdvorl273PatOv05c+a4fYiONGRF0/niiy/c/uT66693ryH79u1zy1IZQ23Hyrrpc6J9gbZtZZtUBhPOOhAt+3//+9/WtGlTVx+sfaKWpbKVs2fPznZeRfWYei3t7y644AK3HmfMmGFPPfWUK6VSXWLGIxqa7zPPPNMdDtfnTuUjb7/9tjshR/sU3Xc4eu68efPcYzNmHLU9NG7c2K0rHQWrWbOmu12P1/5A+/fk5GR78skn3WdDy0h0hE6H5/XZ95fP4YSzTxw7dqyrYdU2rv235lPbhL4ntLx1KV68uOWVzgVRaZ22EX3Wg0900utrnXbu3NnV1f7+++/uO0vXVVKj9yFaRqo51VEJ7ROCT+j0P6N6/EsvveS2f92vkj6tbx1l0+da+0j/aJvWsZazpql1pv2/thl9x2qfr/lVljzcbV37NH3n6/OmE6n9ecv43ar9guZFZSL33XdfnpcxspCL4BchdOzY0f3y+vLLL8NaPvqVrufdeeed6W7/+OOP3e36FRkqy1q3bl33SzM4o6Vf/cqA6FdlsFC/FHOTkT3vvPPcbcEZE1/GLEiobMK9997rnt+3b99Aampq2u3KaCpLoPlX9inj/OkX9KJFi9L98lfWIykpKfD7778Hws0mDBw40GU/161bl3a/MmHKzkiojKyy6GvWrMk03Z9++sn9au/cuXO627PKJGbM+jVv3jzw559/5njdaNnrfSjLpezD6tWrXVZCmZacLotoZ2TDXc/KVujx11xzTbrp6LPkZzoOl5H94Ycf3G09e/bMND9ad8GZmuy2+6wysv/973/dbdpGMm7rBw4cOOxRmMNlZP2M+oABA9LdfvHFF7vbX3zxxUzZv1q1arlspLKbPmWP9Hhl64IpS5oxsxW8neqzNGnSpEzzddddd7n79fzgdan1p6y51qe/3eV0HSgL5nmey2wePHgw3eN0fcuWLdlmZLU/1Pav2z/77LN0z1emTrdfccUVITNo5557brr9o7+N6TOfE/5+WdnMULRvybj8lXnWbStXrnTbjt77fffdl3a/jg5lNc9ZZWRzuk/8+eef3b5OmduM262O7Ghamr9Iff6XLl3qpqltM5iOIGak76+aNWu6bGqw7LLwov1wxu+44P3O66+/nnabjjLoNmXCM9L2GHx0NJxtXUId4QhF2V0d7ct4JBaRU7iLWCLIP1P1yCOPzPFz9MtQ2anKlSunO/tVlPU744wzXG2NTgbJSFlDZUR9yj7oV+OOHTvcCQfRpF/eGek9HI5+ZevX6UMPPZSuvVGLFi1chkZZC/1Kz0i/eINPgNHrX3TRRe6XuDpEhEtZV52o4NciKoOkLIpuz4oyRupokJEyMMoMKAugX+/hUrZcGb6cUlZDmQdl8P/xj3+4LJeydqrv9TNABS3c9ayaZWWEdBJkMGWdc5IlO9y2qXVXtmxZywudyCLK+GXc1pVFPdxRmGDKhunoiS4333yzO6FJGXWdkBm8H1B2TZktZdyuuuqqdNNQVk3Zdx0RUUZYlPlUplLbyMUXX5zu8UOGDMn2BBztO5QdC6bPl7J5qtXUdhq8LsuVK+eODGgfpgxZOOtA09FvEXXAyJjV1MlEh8uOa3+o7b9r166ZMvaaJ32e3nzzTTdvoY5qBGcftY0pC6oscE7oSIFktb79Glf/5C7/38q2qvZa244y98H3h6qPPZyc7hO1XWlfp2xixu1W3WyUHdV3UKT4+yBtu8FCHWnS95cy4+rWoW03p7QfDpVB9rOl/ufhcNuktkf/6Ghut/Wc0Lai74aNGzeG/VzkDKUFBWjRokXuMKx2YKHOwNbtOttRrVt0uDDjIYuM/CBagUI06FCvPsg641ZflPoS0Hzl5KQkHarUofiGDRuGDPb1Xl988UX3XhWcRfO9KqDSoSOVF+gLXkGgdoyXXHJJts/TvD3yyCMuWNAPl4yBq3bewT8uckJBTLgGDRrkDtErABQFtOqOkRNaXjq0mVGkWt2Eu571eB32a9SoUcjgQIcFdcj7cPR6OkytL2UFGzrcrsOOWs+ROOlEh4L1pafDnXmlQCPjDzAFJdqugj9LCq5UrqRDnqHWj9+uS/sRlQToMKf4h6yDqQ2glkVwAHW47VA/iHUoXcGJvtwzUhDtv34460CH1/VD/ZNPPnGlJyoz0eNUKpPxBMxQdKheQvURVnCik+m0zWj+mzRpknZfVqU72k5VlpAT/om6WQXb2j4UBPnLWevv66+/dgFb8GP+9a9/ufWqbSo3gWxO94l+6yftL0J1QdDy9tdfNGmfMGrUKHcSmMoK9N6DqRQjp2UV+hGkfbcO7auVojp/KBANnpZPZTnaJ+tHtT4f+pxo+WtbDQ5Ww93Ww+EnKvT9UKtWrbCfj8MjkI0Q9WXVRq4PaU7b5/h1aFn9uveDIv9xwfRlkFV9nXae0aAvHGXSVCeos3PHjBnjdgbaAf/zn//MthY01t6rsq8KCPXrXXVyqh3LLiD/9ttvXWZMlCVU7aG+NPX+tUy0k8y4c86JcDJ5Pr2mggTV5soNN9yQ4+fqSy7UjjqSgWw469n/qwxjXpaPtgd9Sep9vPfee66eVZRxUqZGPR2V7cstfVkqExSJoFh19Pr86At53bp1Lkuodk76fGl79OdTmXY/AxnqqIxP9bB5XZah7vNfX0crdDnc64ezDlSTqw4Nypzqdv9zrnpZ3Z5da7Xc7kv8WsiMNN/BgVB2/MyeEhChKOup4PmHH35wwbzWr+Yj+AeQ/q0aVwWZOqKjYEzZ+FBHfLKS032ivw798yaizQ8itc59OqqoH0paDvqu0L5W86/PkoJ41bWGs+/UflvLT0GhfsBrffuZVe3bgqelda7lrIyqOirox5PoueocoXrw3Gzr4VC3IolWu0AQyEaMsiD6UOpXrx/w5HRnpBNhsitXCLXTigT/SzlUz1R9cWd1CNIvYdCXq194ryJ5BfJZZSoK+r1m1LdvX3doVif/aAerwv7s6ItAO0hlVzKefKcdpZ8NC1duRpDSiQqad/3SVxZBh51V2pCTQE0nIxwqMY2OcNez/zerw25ZTSerIEKHUHXSi7ZFBVW6rgFAlHm68847Lbe0XWveFfBEqq2Q1r0yQGqur2krw6751YkkwctGAaEC3cPJy7IMtR3601M2USefRnId6Ev9/vvvdxdtz8pgKrhX6Ya++HVI/HDvsyD2JX6A5gc+oShYUyCr96RANmP22A9qdb+ydBn7x0aSvwy0j9Mh8mjzs8v+iaiiH2raT+nkqoxHvXTyogLZnNK2rQSKMv/KogcHh1rvoX6kq6RD2Vt9drVelK3X9qkT0FRuo5KM3GzrOeVvK8HBPSKLGtkIUUCkQOKFF15IOwyRFf8Xo/ojqk5MhxBDNWD3dwrZZTrzwq+ZUxY5q8N3WdFOUcGr3q/eu75UVGuaFe0oNGSffp2Her1ov9eM/DPPNS/KhBzu7HjV5Ok5GYNYrbe5c+dmerwfVEY6O64fHQrC9UNC9ZOqsVS2ONQOvCCEu571eAXXenyoAEzvLVwKynToUF9UfiNynTWfl3WjjJI+t+F86YZDJSvK9imw07r1gwG9l5we9vbP9A+1zLSdhvtjS8tQ60c1veHWfx9uHQTT4X4dIdGy1VGOrB4XXBokoUZmU8ZM86tlGY2BJfxShezOQ/CDUs2fLtq+gw+bK6BRKY0C2dyUFYSjbdu27m9+jC6lHyA6MicKDoP3neJ3JvApgA91pCG7z6dKFPQ81XNnzHAqyZAd/QDVfke1wX5dsL+t5WZbz+l+RNuKvmPCORcC4SGQjRA1O9YHRL+wdRKCsgwZ6XCUDsv7h3FVl6kPvJ6j+qFgaqeiuiZNN1TNWyT4v5o1klHwoTV9cYZqa6WsX6gPrR+AHG74Up3oo52EsjLBWUH9StYvZh0GCm4lFG2qm1LrKpUGHC7Lpi8iZRWCDztpWah9S6gfLv5OSy2FIkkBq9aPsnTameswrOoM9fdwO/L8Eu56VmCuEymUtQumL3l9BnJCdbahhor0s3bB22Zu1o0CMv8km4zZOP24CCdzHIoOjyo7pRpMv4ZZ5UpqYaTAVFnbUJl0/Xj0fwRrG9W+QvXH+pETTM/PLosYig5Vq/5aJ+JoOw/1Ba/D4v7nP6frQJ+XUMNE6/OlHwuH24/oPeqkHJXWZDyxRz8EtAy1X41ES6lQgay2n+x+tKsuU/sTHZ1T3XOoWl5lZRVc+tt3qMdEgg6daz2q/GjVqlUhS40Ol7TICU1bJQNqoaegPLi1oR/EZxzCVvvfUNtBdp9Pf1r6TAR/Z6mMI9QRF+2vQ302M26T4W7rh5vP4OWiTHF+D0hU2FAjG0HaiSpY1aEUZQNUYqAzVHVITYGtdrrayepxPr/3nW7Th1O/oPVloBoy/eJUUXu0RkjRSVv6UtDhP/Wy1YdNH2T1qNROSUFextok1UApK+mPu62dk06E0bRC9bsNpkBfPfl0iEnDTupkMe0Y9KWrYEAnAeXH4S+f3kNOe+rqi0CHpPQeFVxoB6hAS1lHfQllzA5peSorpKBEX9D+YaWM3SnCoR8SfuDq17zpy1p1hjr5Q4ftlHXLSU/U3NIO3u/FGooC1XDXs064U02lDi3ry0InEOqLSX1GtR2qtu1wnwEFb/ryVOZU2S4FgX6vSj33pptuSnusvmi17Wr4SH3RKbDWMvPPeg5FJyfpC06H+FUfrX6UqkXVayhg0X1+SUBuaTnokLp+7Gp70zypW4IyOlqmWp7arnS7vjyVPdIJXzp87WendBhfn2P9ONAy1Q9hHTFQ0KTbtQ2Fsz/RDyc9X4ditU41Df99q/eptjf9sNJtOV0Huk1ZVWWQdYhY2SrtF7Xf0falZZkdTUvbmY6iaL2otlgBjuZDn0MFuQqSokHbjTKLen1to6FOaNSRLmX+/CM1WQWyOkte6y+rEx0jQd8/2oYUpOk7SctLy0dZf2U39d2jz7M+ezmhz6+fiNEPeQXC+oGqzKqu+8smuFRFP9D0PabD9tp3qvxE26OWz9lnn+22q2A6UqmSG527oNpXLWNNT58Jv9OBtm2d1Kd9i4JS9Q7Wv/3sr09HA1SGpe851SHrtf3+39qH+z9Qw93WRd/v2h+of7rmSSdUajsMPlnZPxqRnwmaQimCrbzwl9mzZ7uegOoBq1GK1HtPo86oJ2SoXo3qAauRR9SnT/3mqlSpErjggguyHdkrVO+6rPpjZtVHVtRbUKPuqBep5vXEE08MfP755yH7oL799tuB3r17ux6OGvVEvQzVn/Dhhx/ONKJKdiN7qU+feh76PUU18lCoUYpyM/JYJEalCtVHVt59993ACSec4N671pGWhfomZrVO1HOydevWbrlmNbJXVjK+982bN7vejBoVSCPbZKQ+o3q8tptoyWo0m1Ajl4Wznv2R1a688kq3XDX6jnqMamQvvwfnxIkTs92m1U/3jjvucNuvRpvzR7tT7+MZM2Zker3x48e7nrDaJsIZ2Us9Pzt16uS2ff9zfemll7p+wnnpI+u75ZZb0npZBvcIfeSRR9wy0frX9qQ+0urX+uqrr7o+tsHmzZvntmH1N1ZfaX9kL43spGkH92nNyedIvV01cl+7du3cKFx631q2GuFv7Nixbl2Hsw70+hqFsH379mkjbKmfqKb36aef5rinqPrWanvXNqP9ptahRvbS/jSjrPZHOfksZjRz5kz3eO33DrceM47W5VMPa//+jL2Ds5vn3O4TNXJcnz593HL2v2O0L9P6+uWXX3L1+dd603S0j7v++uuzHLVPNL/afrQ9al+gUf6+//77LN/Pd99959aLHp+x/7G+a7R89dnzR/VSX16NlpZxv7Bw4UK3TaiXq3pt6/EaRVH7bPXYze227tPnUq+vZRrqe1b95fVZyDiSGyLL0/8KOpgGgFCUZVaZiw5Zqo4NuaNsmTJxqmPMaxkEzB01UImEtstoHTFDfFO2XVlwZbDVNQHRwycQQIHzz+4OpsOeOryoLwOCWMvxod+MzehFh9pVNsQhzshQzbFKPrR9AqFogBeVQvht6BA91MgCKHCq3VNNsWoLVWumTJdOeNSZwar7RM7s3LnT1ZxqVEDVBKrmVCcmqTOKvlQj1S+4sNM5AapnjlbPbsQ3fe70A1z1x9qfIbooLQBQ4HRSnEoIdLKGTkTRCU06QUNnIvsthHB46v6gk850AqdOzNTJpwpg1UlFw1qH03QfAOIBgSwAAAAiTp1SVIqjYblVQqZuSFmVOKnDhY50qPNTOF1gqJEFAABAxGmQErXa04hs2VGAq7Zsar0WLmpkAQAAEHEqa9IlO+rVqz7BGiBEvYXDRSCbzzQaiWrX1BA+1PjmAAAgtqlzqer5lUGMlRZse/fudXXy0X7fGWMXDVyhS25jIg0ioYErGjdunKtpEMjmMwWxtWrVyu+XBQAAEaZR9kKN8FYQQWypcpXNDh4asjpaypYt67qjBNPw4rntiKLRTTVEsEYOzS0C2XzmD81Z6ux/mlesVH6/PJCl5S/1ZekAQA7s2L7djqlbK1+HVc/OfmViD+62Eo36mxUpHp0XSdlvOxe+4oL35OTktJtzm43VCWBPPfWUGxo4L0eoCWTzmb+yFMQSyCKWBO+YAACHF3MlgkVLmhelQDbgJaV9V0Ti++Lrr7+2jRs32lFHHZV2m3ozaxAJtWRcsWJFjqZDIAsAAIB8pdrYzp07p7utS5cu7vbLL788x9MhkAUAAEgEnksTR2/aYVI97ZIlS9KuL1++3ObPn2+VKlVymdjKlSune3yxYsWsevXqbmS0nCKQBQAAQMTNmTPHOnXqlHb95ptvdn/79+9v48ePj8hrEMgCAAAkAi/p0CVa0w5Tx44dXcuunMppXWyw2Gh+BgAAAISJjCwAAEAi8Lwo1sjGWIeGv5CRBQAAQFwiIwsAAJAIvNiqkc0PsTlXAAAAwGGQkQUAAEgEHjWyAAAAQFwgIwsAAJAQkqJYyxqb1aixOVcAAADAYZCRBQAASAQeNbIAAABAXCAjCwAAkAg8+sgCAAAAcYGMLAAAQCLwqJEFAAAA4gIZWQAAgETgUSMLAAAAxAUysgAAAInAo0YWAAAAiAtkZAEAABKBR40sAAAAEBfIyAIAACRMjWxS9KYdg6L0bgEAAIDoIiMLAACQCJK8Q5doTTsGkZEFAABAXCIjCwAAkAi8wte1gEAWAAAgEXgMiAAAAADEBTKyAAAAicArfKUFsTlXAAAAwGGQkQUAAEgEHjWyAAAAQFwgIwsAAJAIPGpkAQAAgLhARhYAACAReNTIAgAAAHGBjCwAAEAi8KiRBQAAAOICGVkAAIBE4FEjCwAAAMQFMrIAAAAJIelQnWy0ph2DYnOuAAAAgMMgIwsAAJAIPGpkAQAAgLhARhYAACBhMrJJ0Zt2DKJGFgAAAHGJjCwAAEAi8BjZCwAAAIgLZGQBAAASgUfXAgAAACAukJEFAABIBB41sgAAAEBcICMLAACQCDxqZAEAAIC4QEYWAAAgEVAjCwAAAMQHMrIAAACJwKNGFgAAAIgLZGQBAAASgOd57hKliVssSiroGQAAAAByg0AWAAAggTKyXpQu4Zo+fbp1797datas6Z7/wQcfpN134MABGzJkiDVp0sTKlCnjHtOvXz9bu3ZtWK9BIAsAAICI27VrlzVr1szGjBmT6b7du3fb3LlzbdiwYe7v+++/b4sXL7YePXqE9RrUyAIAACQC769LtKYdpq5du7pLKOXLl7dJkyalu+2ZZ56xNm3a2KpVq+yoo47K0WuQkQUAAECB27ZtmytBqFChQo6fQ0YWAAAgAXj50LVg+/bt6W4uUaKEu+TV3r17Xc3sRRddZMnJyTl+HhlZAAAA5EitWrVcWYB/GTVqlOWVTvzq3bu3BQIBGzt2bFjPJSMLAACQALx8yMiuXr06XcY0r9lYP4hduXKlTZ48OaxsrBDIAgAAJAAvHwJZBZrhBpuHC2J/++03mzJlilWuXDnsaRDIIiYdXPmtpWz61VK3rLTUbWvMUg9a8dZXWrE6p6R7XCD1oKWsnW8pa+dZyublFti92X3YkpJrWtE67axovY7meVTQIH/MmT3b7h853L6b8a3bQTc+vokNGnyzXdCrN6sABYbtEgVl586dtmTJkrTry5cvt/nz51ulSpWsRo0adsEFF7jWWx999JGlpKTY+vXr3eN0f/HixXP0GgSyiEn7f3rfArv/NCte1ryS5Q/9O4TAzj9s34wxZkVLWpEjGlpSzeYWOLDHBbf7575mKet+sBLtbozeL1TgL9OmTrHu3bpYyZIlrVfvPla2XDn7YOJ7dunFF9qaNatt8E23sKyQ79guCxcvxoaonTNnjnXq1Cnt+s033+z+9u/f30aMGGEffvihu968efN0z1N2tmPHjjmbrYAqa5FvdLafiqNL93zWvGKlWPJZSNnws3llq1lSmSq2f9HHduDHd0NmZFP3bLGU3+e57KtX9P/rdAIH99neqQ9Z6pYVVuLE661ordYs68PY9OZlLKNcOnjwoDU7voH9vmaNTfvmO2v2105ZrWROPbmNrVyxwn5Y+KvVrl2bZYx8w3YZ3e/yapXLu894pA6zRyK2KHf+81GLLZQk2vHetTHznn1xecw14zBnSDxFqjV2QezhJJWqaMWOOS1dECu6XuzYLu7fKX8sitp8AjJ1ymRbtnSpXdjn4rQgVvTFcvuQu2z//v32xmuvsLCQr9guC/GACF6ULjEo5gJZ1UfccMMNVq9ePXcmnNo8aJzer776ymKBEtj33HOPq+0oVaqUde7c2RUpIwYlFUn/F4iS6dOmur+nn3Fmpvs6n3noB9XX06ex/JGv2C5RGMRUILtixQpr2bKla7/w6KOP2o8//mifffaZq68YMGCAxYJHHnnERo8ebc8995zNnDnTypQpY126dHGNfBFbDi7/Oi27C0TTkiWHfswec0z9TPdVr17dypYtm/YYIL+wXRbeGlkvSpdYFFOB7PXXX+8W1KxZs+z888+3Y4891ho3buyKg7/77rssn6eRIPTY0qVLu0zusGHD3BnDvgULFrhguFy5cq6uQ8GyCpBFfcuU8a1YsaILSvV6n3zySZbZ2CeffNKGDh1q5557rjVt2tReffVVW7t2LaUOMebAsqmWsv5HSzqioRWt0aygZwcJbvu2bWmlBKGUS05OewyQX9guURjETNeCzZs3u+zrAw884ALKjLIbd1cB6vjx461mzZoui3v11Ve7226//XZ3f9++fa1FixZutIgiRYq41g/FihVz9ynTq/q16dOnu9dduHChy56EorYRKn1QOYFPX1xt27a1GTNmWJ8+fSKwJJBXB13HgtfNK13ZSrS5hgUKACgUPO9QVjY6E7eYFDOBrPqMKePZoEGDsJ+rDKmvTp06duutt9rbb7+dFsiuWrXKbrvttrRp16///4f/dJ+yv02aNHHXldHNit/frFq1aulu13X/voz27dvnLr6MYxQjsg6uW+DacXklk61kh9stqVTWP4CASEn+KxOrs3lD2bF9u1WoWJEFjnzFdonCIGZKC/LSBWzChAnWrl27tFo0BbYKUH0qTbjqqqtcJvWhhx6ypUuXpt03aNAgu//++93zhw8fbj/88INFksYgDh6TWCevIYpB7LfPmFeinJXsOMSSyh7Boka+8GtjQ9XB6keumoKHqp8F2C4RSZ5FsUY2RlOyMRPIKkuqBbVoUXitknRIX6UD3bp1cyNDzJs3z+6++25XLuBT092ff/7Zzj77bHciWaNGjWzixInuPgW4y5Yts0svvdSVJbRq1cqefvrpkK+lQFk2bNiQ7nZd9+/L6M4773RZGv+iMYoRxSC2eNlDmdiy6bPmQDSd2r6D+/vVpC8y3fflF5+newyQX9guURjETCCr4ch09v+YMWNs165dme7funVryOd9++23rsm4glcFoQqIdQJXRjoZ7KabbrIvvvjCzjvvPBs3blzafcqSXnfddfb+++/bLbfcYi+++GLI16pbt64LWINbgalUQN0LTjrppJDPUQsxf1ziSI5PjP93cN0PfwWxZaxkx9stqVzo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ZhUqVEj3uBNOOCGv8wcAAABELpBt1apVppG9rr/++rR/q4OB7meIWgAAgPzh0bUgZ8aNGxflVQEAAABEISPbv3//3DwNAAAAUZJE1wIAAAAggTOyV1xxxWEfoxrZl156KTeTBwAAQJi8v/6LhtxM9/fff7chQ4bYp59+art377ZjjjnGlafqXKsCDWTHjx/vAtVatWplOunLl9XtAAAASGxbtmyxdu3aWadOnVwgW7VqVdfhqmLFihF9nVwFsv/4xz/sX//6l5UvX95GjRpl3bp1i+hMAQAAIH5rZB9++GGX8AxuEFC3bt3Iz1dunjRmzBhbuHChNWjQwHr06GGnnXaazZ49O+IzBwAAgPjz4YcfuhKCXr162RFHHGEtWrSwF198MXaGqD366KNtwoQJNnPmTCtSpIideOKJbmaVNgYAAEDBZGSTonSR7du3p7vs27cv5LwsW7bMxo4da/Xr17fPP//cHc0fNGiQvfLKK5F9z3mdQMuWLW3SpEmu/kEz3bhxYzez69evj8wcAgAAICbUqlXLlZb6F5WYhpKamupGeH3wwQddNvaaa66xq6++2p577rmCr5F99dVXQ96uSPutt96y559/3l5//XXbsWNHXucPAAAAOeB5XtROtvenu3r1aktOTk67vUSJEiEfX6NGDWvUqFG62xo2bGjvvfdewQeyl1122WEfozYLAAAASBzJycnpAtmsqGPB4sWL093266+/Wu3atQs+kF2+fHlEZwIAAACJ07XgpptuspNPPtmVFvTu3dtmzZplL7zwgrsUeCAb6WgaAAAAiaN169Y2ceJEu/POO23kyJGu9daTTz5pffv2LfhAtl69em5m1HoLAAAABc/zDl2iNe1wnXPOOe4STbnqWrBixQrbuXNn5OcGAAAAiGZGFgAAALElyfPcJVrTTqhAdtGiRTZ9+vRsH9O+ffvcTh4AAACITiD7wAMPuEsogUDA9RtLSUnJ7eQBAAAQp10LYj6Qveuuu6xz586RnRsAAAAg2oGsRmfo0KFDbp8OAACASPKi17VA045FuepaAAAAABS0XA+IULZs2cjPDQAAAHIlyTx3iYZoTTevGKIWAAAAcSlXpQVffvmlO9krK3fffbdNnjw5L/MFAACAXIzs5UXpkjCB7H333WerV6/O8v7ff//d7r///rzMFwAAABD5QPbHH3+0tm3bZnl/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smVL2r+1KU6cODHt+u233x6oX79+oFSpUoG6desGhg4dGti/f3/a/fPnzw907NgxULZs2UC5cuUCJ5xwQmD27NnuvhUrVgTOOeecQIUKFQKlS5cONGrUKPDxxx+HnL/U1NRA9erVA48++mjabVu3bg2UKFEi8NZbb0VsOSD2xPq2GWz58uVuPubNmxeBd45YFk/bpW/WrFluflauXJmHdw7kDn1kETWbN292mYQHHnjAZTkzqlChQpbPLVeunI0fP94dtlJG4uqrr3a33X777e7+vn37WosWLWzs2LFuLGcdci1WrJi7T1kLjTc9ffp097oLFy60smXLhnwdjU2tw3gqJwgedrBt27Y2Y8YM69OnTwSWBGJNPGybKHzidbvctm2bK33Jbv6AaCGQRdQsWbLE1Z82aNAg7OcOHTo07d916tSxW2+91d5+++20nfKqVavstttuS5t2/fr10x6v+84//3xXwyWqM8uKgljJOMqIrvv3IfHEw7aJwicet0uVYKlm9qKLLrLk5OSw5xvIK2pkETV5GWtjwoQJ1q5dO6tevbrLDGgnrZ1t8PjNV111lcukPvTQQ7Z06dK0+wYNGmT333+/e75G/vrhhx/y/F6QWNg2EYvibbvUiV+9e/d2861ML1AQCGQRNfrFr8NNixYtCut5OqSvw2DdunWzjz76yObNm2d33323O/TlGzFihP3888929tlnu5MiGjVqZBMnTnT3aWe9bNkyu/TSS90htlatWtnTTz8d8rW005cNGzaku13X/fuQeOJh20ThE0/bpR/Erly50iZNmkQ2FgUnl7W1QI6cddZZYZ+48NhjjwXq1auX7rFXXnlloHz58lm+Tp8+fQLdu3cPed8dd9wRaNKkSbYne+k1fdu2beNkr0Ig1rfNYJzsVXjEw3apk8h69uwZaNy4cWDjxo05el9AtJCRRVSNGTPGUlJSrE2bNvbee++5/qy//PKLa3d10kknZZmV0CEx1Xfp8Jce62cOZM+ePTZw4ECbOnWqywb873//s9mzZ1vDhg3d/YMHD7bPP//cncil9jBTpkxJuy8jZT/0eB1W+/DDD102Qj0RdcJEz549o7RUEAtifdv0T/7RSTk6+UbU5kjXqd9OXLG+XSoTe8EFF9icOXPsjTfecPOq7VGX4AwwkG+iFiIDf1m7dm1gwIABgdq1aweKFy/usg09evQITJkyJctWMrfddlugcuXKrlXMhRdeGHjiiSfSsgv79u1z2YRatWq56dWsWTMwcODAwJ49e9z9+vfRRx/tsqpVq1YNXHrppYFNmzZluT6UlR02bFigWrVq7jmnn356YPHixay/QiDWt81x48a51894GT58eFSXCwpWLG+X/tGBUJfg+QPyi6f/5V/YDAAAAEQGpQUAAACISwSyAAAAiEsEsgAAAIhLBLIAAACISwSyAAAAiEsEsgAAAIhLBLIAAACISwSyAAAAiEsEsgCQoNasWWPjx49Pu75ixQo3rCgAJAoCWSBBKYDxPC/by/HHH1/Qs4ko0joeMGCAff755y6Ivf322+3rr79mmQNIGEULegYARNfIkSOtbt26mW5/4IEHWPQJ7m9/+5tdffXVdtZZZ7nrNWrUsKlTpxb0bAFAxHiBQCAQuckBiKWM7OWXX26zZ8+2Vq1aZbq/Y8eOtmnTJvvpp58KZP6Qf5YuXerWtTLwZcqUYdEDSBiUFgBIdyh64MCBro7yuOOOs5IlS1rLli1t+vTpmZbS77//bldccYVVq1bNSpQoYY0bN7aXX3455NIcMWJEyNIGBdMZzZw507p162YVK1Z0QVfTpk3tqaeeSrv/sssuszp16qR7zuuvv25JSUn20EMPpd32ww8/uMfWq1fPvY/q1au7+f3zzz/TPXfs2LHWrFkzK1++vHs9/full15K95icTst/nwoag82ZM8fdHlyvqumVLVs20/t/99133WODM6daTtmVgahsINT0/eV09NFHW9u2bW3z5s1WqlQp91g9Jzs5Xc6+rMpXgl9n3Lhxdtppp9kRRxzhtplGjRq55R/Kp59+ah06dLBy5cpZcnKytW7d2t58882wthUAiY/SAgDpTJs2zSZMmGCDBg1ywcazzz7rDk3PmjUrLZjasGGDnXjiiWmBb9WqVV3gceWVV9r27dtt8ODBIZeqghY/eLvzzjsz3T9p0iQ755xz3CHwG2+80QWMv/zyi3300UfueihffPGFCyo1H3fccUe6aS1btsxlpTWdn3/+2V544QX397vvvnPzLjt27LAzzzzTBXs6QPXvf//brrrqKqtQoYKdf/75YU0r1t1zzz22d+/eXD03q+Uc7O9//7udd9557t+qxdUyyrj+9YOnR48eVrRoUfvvf/9r119/vaWmprpaXp8Ccr2WHqvt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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Матрица ошибок:\n", + "[[12 0 0]\n", + " [ 0 14 0]\n", + " [ 0 1 9]]\n" + ] + } + ], + "source": [ + "cm = confusion_matrix(y_test, y_pred)\n", + "\n", + "plt.figure(figsize=(8, 6)) # матрица ошибок\n", + "plt.imshow(cm, interpolation='nearest', cmap='Blues')\n", + "plt.title('Confusion Matrix - Logistic Regression (Wine Dataset)', fontsize=14)\n", + "plt.colorbar()\n", + "plt.xlabel('Предсказанный класс', fontsize=12)\n", + "plt.ylabel('Истинный класс', fontsize=12)\n", + "\n", + "for i in range(len(cm)): # Добавление значений в ячейки\n", + " for j in range(len(cm)): \n", + " plt.text(j, i, str(cm[i, j]), ha='center', va='center', fontsize=14)\n", + "\n", + "plt.xticks([0, 1, 2], ['Class 0', 'Class 1', 'Class 2'])\n", + "plt.yticks([0, 1, 2], ['Class 0', 'Class 1', 'Class 2'])\n", + "plt.tight_layout()\n", + "plt.show()\n", + "\n", + "print(\"Матрица ошибок:\")\n", + "print(cm)" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "33a40277-3692-4375-b60f-4ac96b795e63", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "============================================================\n", + "КОЭФФИЦИЕНТЫ ЛОГИСТИЧЕСКОЙ РЕГРЕССИИ\n", + "============================================================\n", + "(Положительные значения → увеличивают вероятность класса)\n", + " Alcohol Malic_acid Ash Alcalinity_of_ash Magnesium \\\n", + "Class 0 0.725 0.168 0.471 -0.839 0.04 \n", + "Class 1 -0.868 -0.518 -0.816 0.461 -0.15 \n", + "Class 2 0.143 0.351 0.346 0.378 0.11 \n", + "\n", + " Total_phenols Flavanoids Nonflavanoid_phenols Proanthocyanins \\\n", + "Class 0 0.241 0.702 -0.122 0.132 \n", + "Class 1 0.064 0.190 0.116 0.376 \n", + "Class 2 -0.305 -0.892 0.005 -0.509 \n", + "\n", + " Color_intensity Hue OD280%2FOD315_of_diluted_wines Proline \n", + "Class 0 0.221 0.088 0.712 0.934 \n", + "Class 1 -1.107 0.627 -0.143 -1.020 \n", + "Class 2 0.885 -0.715 -0.569 0.086 \n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAABKUAAAJQCAYAAABfMtfbAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjksIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvJkbTWQAAAAlwSFlzAAAPYQAAD2EBqD+naQAA+e9JREFUeJzs3QeYE8Ubx/GhSO9NQKo0QZCOIioqNgTEimKjKSJFUBC7YEPF3lBABEWxIsqJig0sWECliYrSBEVBqSId8n9+888mm1xyl7vLJXfZ7+d5olzKZneSzOy8885sAZ/P5zMAAAAAAABAAhVM5JsBAAAAAAAAQlAKAAAAAAAACUdQCgAAAAAAAAlHUAoAAAAAAAAJR1AKAAAAAAAACUdQCgAAAAAAAAlHUAoAAAAAAAAJR1AKAAAAAAAACUdQCgAAAAAAAAlHUAoAAAAAAAAJR1AKgCetWbPGFChQIN2tZMmS5qijjjJ33HGH2bFjR7J3EwAAAABSVgGfz+dL9k4AQDKCUnXr1jX16tUzl156qb1P1eHff/9t3nvvPfv4McccY7744gtTqFAhPiAAAAAAiLPC8d4gAOQn9evXN6NHjw65b8+ePaZ9+/bm66+/Np9++qk5+eSTk7Z/AAAAAJCqmL4HAGGKFi1qTjrpJPvvf/75J2L5RJr659zmzp0beN6UKVPsffq/28GDB02bNm3sYyeeeGK67c+YMcOccMIJpkyZMum27w6iOdMQe/fuHXE/db8e1/Nyuk///vuvGTVqlDnyyCNN8eLFTbly5czpp59us8lipX3PqOwivbf+1v27d+82N954o6lVq5YpVqyYady4sXniiSdshptbdo7v1ltvNW3btjWVK1e2n7/eo2fPnmbx4sUxbdtRp04de3P75ZdfzMiRI02rVq1MxYoV7b43bNjQHkukKaLO8YbTNnT/lVdeme6Y582bZ7p06WIqVKhgt3/EEUfYz2rnzp3pthNpyqrKUp+NyjgW+o6HfxczO4b169fbfVIGYpUqVWw5q6wGDhxoNm7caGLlfAYZ3cI/A+d3sGrVKjN27FjToEEDW07KlrzzzjvNvn37Ir7XZ599Zrp162YqVapk91ev03clUrlmNC3YuUWiYx8+fLhp1KiR/V3pMzz66KPNgw8+mOnvXPWTfo86lg8//DBw/7Zt28z9999vOnbsaKpXr26KFCli/3/55ZeblStXptuHV155xdZ5eo6O89BDDzWdOnUyM2fOTPfc5557znTv3t2Wsd5X+6t6YM6cOXH5njh1hLseFZV5zZo1o9Z3Ksdrr73WDjToGPSZnXfeeeaHH34wsYpUX8q4cePs/WeeeabZu3dv4H4dc9++fe1nV6pUKXtTHTNhwoR02166dKkpX768/a1t2rQp03pDz9Fz9Rq9Niu/g0j1t6SlpdnPuWzZsva71rx5c/Pwww+b/fv3Z+l7/Oyzz4Y8X2Xco0ePwO9av6thw4alO854ln1W2+Ks/iZE9ezkyZPN8ccfb9u7EiVK2DrgqquuMmvXrk3XPmrav6b/63kq45YtW5rbbrstpH5R2662Rd9T53na/vTp02MuKwBINWRKAUAYnfg6nakWLVpELZ/atWuHdI70GmVWxUInut99913Ex9555x1z7rnn2k6DOlU6wS9YsKA9WX/++edz7fPKaJ82b95sg2TLli0zHTp0MAMGDDDbt283b7/9tu3kvP766+bss8+O+b169eqVrhMmOqmPRp2ehQsX2jIRncRfc801tlweeuihHB2ftqsOr45NHYUVK1aYN9980x7fokWLbBApu7SdSZMm2XJSZ1HBMWXhqYOk74sCH4ccckiG21C5PPDAA+aSSy4x48ePD+nIq+zVyVFn8MILL7Qdww8++MAGW2bPnm2/lwoeRPvuqjM1a9Ys+x6//fabLafcoOPU56Rgh4IuOmaV+9NPP2338/vvv7cdtFgpMBLp9/noo49GfY06ygrg6bukAII66QqULVmyxLzxxhshz9V+DRo0yHZGFZhSuX777bfmnnvuscEI3dSxjUSdfffvQQEElW245cuX2+/Fn3/+aY477jj7mv/++8/+zsaMGWNGjBgR9Vi2bt1qTjvtNPPrr7/a79ipp54aeOynn34yt99+u932OeecYwOPP//8s5k2bZr9rFXW+g44fvzxR1O4cGFb7+gz2LBhg/3uq4ynTp0amOIsKhMd3ymnnGKDuH/88Yd566237N/aD70mN9x7773m999/j/iYggr6belxlYnKUUEq1RH6bn388cf2O5cd+uwGDx5sy1LH5/7M9RtWXaFAq8pZn8n7779vgxb6bN31UrNmzWyZKoCn75P2SXV8JArAde3a1axevdr+lvXaWH8H0epQBZ8U/FQQ8eKLL7bfCQUddd/nn39ujy08QBj+PXYowO7QoISOSe3m+eefb+v1r776yjz22GO2LVNdpwBhvMs+q21xVn8TqqdVn6peOOyww2wdq0EitTevvfaa6dy5sx28EH3XFOzS9vRZXH311fb1+lvfEZWx6hG56aab7HHo916tWjW7ZIA+B5Xd448/boYMGZKtsgKAfE1rSgGA16xevVqpJr569er5Ro0aZW+33367b+DAgfa+YsWK+R544IGIr923b5997Yknnhhyv7ah++fMmRO4b/LkyfY+/d+xbds236GHHupr3bq1faxjx44h27ngggvs/W+++WbI/dqu7tf7hB9Hr169Iu6r7tfjel5O9uniiy+290+cODHk/g0bNvhq1qzpq1y5sm/Xrl0R9yGzMnKL9N76W/c3atTIt3Xr1sD9+rfuK1CggG/BggU5Or5IJk2aZJ/r/h5E2rZb7dq17c3t999/9+3Zsyfdc++44w67rRdffDHi8ToefPBB+/e5557r279/f8hzdVxly5b1FS1a1Ld48eLA/QcOHPBdeOGF9nV33nlnyGsiHb8+O32O5cqV88Ui0ncxo2Nwviv//vtvuuc+//zz9rl33313TO+dnc/A+R3oe7pu3brA/fpcTjjhBPvYG2+8Ebh/2bJlvsKFC/uaN2/u++eff0K2de+999rn63MJt2LFCvtY7969My0PadOmjb1/woQJ6R5z72f471zl2L59e1+hQoV8r732WrrX6rexadOmdPd/8sknvoIFC/quuOIKX2ZWrlxp37NLly4h969atSrdc9evX++rXr26r0GDBjn+nkSqI3T8qpOd3294fXfsscfasnj//fdD7l++fLmvdOnSvmbNmvliEV5fvvrqq3a72v6OHTvSPT9SWah9OPXUU+3rfvvtt3SPq17XY127dg38nt3fWb1eZa7Pafr06VH39dlnn7X7OmXKlEx/3/pe6vtcpUoV39q1awP3796923fcccfZ17zwwgsxtyvuekbtpZ4bXvbXX3+9vb9v376+3Cj7rLbFWf1NPPHEE3YbnTp18u3cuTPkMf3t3tZ5551nn3vzzTen2/5ff/1l99P9uwqn37O+o6rL//vvv4jHCgCpjOl7ADxNI+waWdZNmSWaKqD7NOqvWyROKr4yU7JD76NMBI0kR+JMDWrSpEm2th/vfdIUoVdffdWurXXFFVeEPKbskeuv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z7bHW7x4cXPyySebjRs3mvfee880btzYJhZcfPHFZufOnVHL0Yt9DTfq/iCCUsg3HnvsMfPQQw+ZBx980CxZssScfvrp5qyzzjK//vqrfXz+/Pn2/x999JEdOXcain///df06tXLfPHFF+brr7+2QZkzzzzT3p9d119/vRk+fLhZuHChad++venWrZvZtGlTyHNuueUWu7/ffvutKVy4sOnbt2/gsc8//9xcfvnlZujQoebHH38048ePN1OmTDH33HNPyDbUoPTo0cMer/b5kksuMZs3b7aP/fHHH/a+tm3bmsWLF5unn37aTJo0ydx9990R91n7oQbozjvvtA2ZGsoTTjgh6jHee++9Nojn3NT4prrilYonexcAxBHtBu1GfkDbA+Q/Oq+fPHly4O/nnnvO9OnTJ+Q5//33n7nuuuvsObiCSgULFrSDzQcPHrSPKwijPkSzZs3sgPldd91lbrjhhojvl5N+xfTp080jjzxi71e/SYEvvWdOKdD15JNP2sDaunXrbJ9FwS1ljM2aNct88MEH5oknnoj6ei/2Ndyo+118QB41efJkX9myZQN/V69e3XfPPfeEPKdt27a+gQMH2n+vXr3ap6/0woULM9zugQMHfKVLl/alpaUF7tPrZsyYkek+Oe9x3333Be7bt2+fr0aNGr7777/f/j1nzhz7nI8++ijwnFmzZtn7du3aZf/u1KmTb8yYMSHbnjp1qq9atWoh+3TrrbcG/t6xY4e977333rN/33zzzb5GjRr5Dh48GHjOU0895StVqpQ9RunYsaNv6NCh9t/Tp0/3lSlTxrd9+3ZfLHbv3u3btm1b4LZu3Tr7/vp3qjpj0hm+rtO6ZvmWX+mzTPXPFN5Cu0G7kQptT15FmwH4fL169fJ1797dt3HjRl/RokV9a9assbdixYr5/v77b/uYnhOJHtd519KlS+3fTz/9tK9ixYqB/oFMnDgxpD8Tj37FQw895GvYsKFv7969Eferdu3avkceeSRqf2rLli32Pu1LtH2699577X0rV64M3HfVVVf5Tj/99KhfGy/2NWLpd6SSWNsNMqWQL2gkYf369aZDhw4h9+vvn376KcPXbtiwwVx55ZU2Q0pReKWT7tixw6xduzbb+6PsKIdGK5ROG74fRx11VODfmlonSmsVZTYpY6lUqVKBm/ZRGV7uNFf3NkqWLGn33dmG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9OjRpkWLFhk+p3fv3ubss89O2D55SY8ePZK9CwBymer7t956Ky7bykvtR6r0rZKBuj+IoBRyRCepqhR1K1KkiKlfv7658847zf79+5Nasnmpss4Nxx57rPnzzz9N2bJlk70rKaVYORY6B5C+jRswYEC6Yhk0aJB9TM/J7/X4iBEjzMcff5zs3fCsatUYEAESxem3RLspSB/r4AKQE9T9QQSlkGNnnHGGPbH+9ddfzfDhw21lHmnhtr1791LacaIAYNWqVW3DiPhZ/f5qihNAuqvjvPLKK2bXrl2B+3bv3m2mTZtmatWqlRL1eKlSpUzFihWTvRue9dhjjyV7FwDPUJ/FuT366KOmTJkyIfcpSA8kAnV/EEEp5FjRokXtiXXt2rXN1VdfbU455RQzc+bMQKr/PffcY6pXr24aNWpkn7906VJz8sknm+LFi9uT4P79+5sdO3YEtrdgwQJz6qmnmkqVKtkR5I4dO5rvvw9dgFon8c8++6w555xzTIkSJUyDBg3sezqjGCeddJL9d/ny5dONZB88eNCMHDnSVKhQwe53+IjI2rVrTffu3e1JuhoqpVZu2LAh5DlpaWmmbdu2plixYnY/tR+iLLGmTZumKyNNi7jtttvicnyRMsGmTJliypUrZ2bPnm0aN25s990JFrpf065dO1OyZEn73A4dOpjffvst6ue6Z88es3379pAbAHhNq1atbGDqzTffDNynfysg1bJly8B977//vjnuuONs/aq2rWvXrmblypVZyuidN2+enQqhel/t1+mnn262bNmS6T7G8t6///676dmzp2371A60adPGfPPNNxGn7x04cMBcd911ge2pzfT5fJnuB+0GgLxO5/7OTefhqoedv6tUqWIefvhhU6NGDdu/Ub2o+tVRt25d+3/V/Xqd6utYz+1j5WRjaTBEGbXqa6hv8emnn6Z77nfffWfrcrUZeu7y5ctDHn/77bdtG6ZtHH744eaOO+4Imc2SWX9D9L7qP6g8lNlz4403ZjgjZty4cXY7es9DDz3UnH/++VGfS5sBB0EpxJ2CTU5WlKYDqIL88MMPzTvvvGP+++8/e5Ktk21V4K+//rr56KOPzODBgwOv//fff02vXr3MF198Yb7++mtbsZ155pn2fjdVrAoYLVmyxD5+ySWXmM2bN9vOw/Tp0+1z9N4KzLgj0c8//7w9IdfJ+NixY20gSfvnBKwUkNJ2VAnr/lWrVpkLL7ww8PpZs2bZylvvuXDhQnuMqqylb9++5qeffrLH5tBztI99+vSJy/FFs3PnTvPggw+aqVOnms8++8wG15zRHjUeChCqkdT2vvrqKxsMzGiE/t5777UNq3NTuaa6Jpc1SfYuAMiDVLdPnjw58Pdzzz0XqNMdat8UyPn2229tu1CwYEHbVqhdiYWmg3Tq1Mk0adLE1tFqI7p162YDRJnJ7L018KP6/48//rAdjsWLF9tAU7R9e+ihh+xgh45T+6G2Z8aMGZnuhxfbjXh45JFHkr0LAPyZK6r/dD6t82X1Wc466yw7G0Tmz59v/6++i/oXzmBFrOf2WXH99dfbGSjqR7Rv3962B5s2bQp5zi233GL3V3V/4cKFbVvl+Pzzz83ll19uhg4dan788Uczfvx4W68rWSDW/obaDN2ngXi1G08//bSZNGmSufvuuyPus/bjmmuusX0r9cEU0DvhhBOiHqPX2wzqfhcfkAO9evXyde/e3f774MGDvg8//NBXtGhR34gRI+xjhx56qG/Pnj2B50+YMMFXvnx5344dOwL3zZo1y1ewYEHfX3/9FfE9Dhw44CtdurQvLS0tcJ++urfeemvgb21P97333nv27zlz5ti/t2zZErKtjh07+o477riQ+9q2beu74YYb7L8/+OADX6FChXxr164NPL5s2TK7rfnz59u/27dv77vkkkuilknnzp19V199deDvIUOG+E488cSoz4/H8U2ePNn+vWLFisBrnnrqKVv+smnTJvv43LlzfbHavXu3b9u2bYHbunXr7Db071TV6IJGvq7Tuka8pSJ9lqn+mQLxaOM2btxo27Y1a9bYW7FixXx///23fUzPiUSP6/e1dOlS+/fq1avt3wsXLoxYj/fs2dPXoUOHuHxg4e89fvx4286oLYhk1KhRvubNmwf+rlatmm/s2LGBv/ft2+erUaNGoL1PuXaja9ek3u666y5ffkCbgVSj8+eyZcsG/q5evbrvnnvuSddPGDhwYMR6PKvn9jNmzMh0n5z3uO+++9LVwffff39I+/HRRx+F9Kd0365du+zfnTp18o0ZMyZk21OnTrX1e6z9jZtvvtnXqFEj28dz9y9KlSplj9HpWw0dOtT+e/r06b4yZcr4tm/f7ouF19uM/FL3J6LdIFMKOaYMKE0XU5pm586d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lljTpk3TlZH6A7fddltcji9SJpjakHLlypnZs2fbPoX23QkWul/Trl07U7JkSfvcDh06mN9++y3mzxneRFAK8ICXXnrJ3H777bbB/umnn8yYMWNso/X8889Hfc2ePXvM9u3bQ26prt5Z9ZK9CwAQN6+99podhFAn7dJLLzXPPfec8fl89jG1AT/++KN57733bLvw9NNP285L+CjuiBEj7NpSDRs2ND179sxwuowX2414uPHGG5O9C0C+o2CTkxX18ccfm+XLl5sPP/zQvPPOO+a///4zp59+ug0WKTjz+uuvm48++sgMHjw48Pp///3X9OrVy3zxxRfm66+/tgGZM888097vdscdd9iA0ZIlS+zjCuZv3rzZ1KxZ00yfPt0+R++twMxjjz0WeJ3OsRWY+eabb8zYsWNtIEn75wSsFJDSdj799FN7vwYBLrzwwsDrZ82aZYNFes+FCxfaY1SwR/r27WvrbR2bQ8/RPvbp0ycuxxfNzp07zYMPPmimTp1qM3AVXFM7IWofFCBUAEzb00CGgoHRMq283mZQ9wcVdv0bQB6kxlUjEW4HDmTtKnGjRo0yDz30kDn33HPt33Xr1rWdkfHjx9sGK5J7773XNlRe8u+6f02Fhix2DiB1pu4pGCUazd62bZvtAGkRXnUkWrZsadq0aWMfD8+uFXU0nLWo1B4ceeSRZsWKFTbQFYkX2414+OGHH+zaLQAyp8C6AjTK1tHU5L///tsGf5Txo+lmMnHiRLN7927zwgsv2MfkySefNN26dTP333+/OfTQQ20WlduECRNsZo/qyK5duwbuV/aTAvKiQd3HH3/czJ8/39apyoKSKlWq2Ne6HXXUUfb8WxQQ0vtrv5W9pP8rk2v16tU2uCXaV9WxCjQpO0oDyRdddFFInaqMValRo4YNuim7Vc8V/VvBoMMPP9z+HY/ji2Tfvn3mmWeeMfXq/X8gV4E+BdxEQSW1M9q+87gyqqLxeptB3R9EphSQxyk1WKPU7psa3lhptGjlypWmX79+Nrjl3O6++257fzQ33XSTbVic27p160yq27hwY7J3AQDiQiP36lg4nY3ChQvbUXgFqkTTX1555RU73UNTTL788st021CnylGtWjX7/40bo9eTXmw34jX4BCDz34nOXzWVrXPnzrY+c6bENWvWLBCQEmURKYDjBKRE08iUoaS6UTRV7sor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6VDrvE63okWLmsMOO8x069bNvPnmmyHbWrNmjenXr5+pW7euKV68uKlXr55dy2Xv3r0hz5s9e7Y55phjTOnSpU3lypXNeeedZ18bHuRt1aqVfT8FQRTMCL/Ee82aNU358uXTdTi1rYYNG5rt27eH3D9x4kRz/PHH29fodsopp5j58+eHPMd9rO7b/v37A89ZtmyZ6dGjh9137Z/e6/bbbzc7d+5MN9jpvF7lob/1uk8++STkeSrrM844w34G2p6Oa/DgwSH7/+eff5qLL77YvlfBggUjBjhURuH7XaxYMRNPV111lTn//PPt9+auu+7K8fZGjBhhPv7445QP5Ou3Eo/yQvZQ9wcRlELKUaP5yiuvmF27dgXu2717t5k2bZqpVauWyW90clGiRIlk7wYAII4mTZpkhgwZYj777DOzfv16yhZwrbPSpk0b8+uvv5qXX37ZrFixwjzzzDM2SNC+fXuzefPm/7V3H1BSFWkDhguFVVHBLCqCa1gVMWdUUNE1iwkVQTC75oBr+s0iBlQMmF3jmgPmHNasGDALZlEUzDmhzH/ecu70naZ7AtP0zPR9n3P6wPT0dN++01Nf1Vdf1a01qCMx8t5774VbbrkldOvWLWy//fa1JvPGjBkTJk+eHC666KKYuBk+fHh8viOPPLLmMR988EHo06dPWHfddcPLL78cE1Rffvll2GqrrWo9hiTyOuusEx9DAma33XaLjwWP5+vTTz89PPDAA+G///1vuOuuu2p+fu+99w6nnHJK6NChwxSJrn79+oVHH300Jqvpx/7zn/8M48ePr/W45L2mb23bto3fe/bZZ8Oqq64aE2133313ePvtt8NJJ50UE0Lrr7/+FAm4E044If782LFjw1VXXRWrhEiG8TMJkkyckzvuuCM+H8/10EMP1Zr4/e2332I/9aijjgrLLrts0c8w7zl93B999FHJPu8//vhj+Pzzz8MGG2wQE2gkFZtqlllmCXPOOWeodHPMMUdJzpfUVCalVHGYwSKgp2fK+D8JqeWXX77mvvvuuy+sueaaMRATeDbddNPYqUl7+umnY/kuMzp0kJjxYOaDzkh6WQQdJb5P8qhHjx4xyKfdfvvt8bh4noUXXjgcf/zxNbNbVVVVsUyY42MmioC6//77F1y+xyxb+vXBkgzu41jSx0QniffLLBidLAL2vffeG9cv0zlgZit/9iyNjgazYelbpVuw14LNfQiSMoBB1A033BD22muvOMjNr7bI99RTT8VKCWIMlRQMvr755puatpqYMc8888QYQ1yjwjbfiy++WGecuuCCC2IFCVUpiy+++FRdqjqLcaMUqAhS7cp2Pockdnr16hX7RxtttFFMiJCo+b//+7+ax/J57tSpU+jcuXOscjr11FNj8onqIx4Pqn0uv/zymOihD7b55pvHSph0P5G/jz///DMMGTIk/h3QZ+Mx9LcmTZoUH0Mii2qrM844I/alqBqiOockV5JM69ixY9huu+3CyiuvHJNXb731VvweybV27drVSnKlq6tIWNHfXGKJJcKll14ak2j5lTrJe03fkn4klWAcE+9plVVWiZVlffv2DXfeeWdMdCXHmCARwc9zbnv27BkuvvjicPTRR8fKqqRtoK2hjaLd4Pl69+4dj/OJJ56o1Uc9++yzw8CBA+N7L4Z+afq455133gZ/5GnreH6Oh3PAZ4GEZdLnTZIq9HXT/eG60Oby3nm+LbfcslYFXqHlew3ZWoPH83PJ98Fzc0zJ1/WNCcB743fC90myPvjggw08UyF+HvlcJkic8vokZkFycuaZZ67528hfvsdxDh06NLZJnFfOEZ+NNKrRqKxj/ERSi8RluqKQ889nkNfhMWussUbRJGTWY4Ztf45JKVXsHzkdkMRll10Wdt5551qP+emnn2Jp9QsvvBADPzNCBA86AqBhpAx86aWXDi+99FIsbz3ssMMKvh4dJDopPBezVulGhuBNMKXs/M0334ydJYJhMhvFzB6dBe4nEJH44jWbisA4YsSImFhLAggBlIoxZtHo7J177rlFf/7kk0+OHYzkRqJPktR0N954Yxx8kvwZMGBAjFEMLAthUMxgkMEJg8snn3wyxiYG0Dj00ENjHLnyyitjrGJJEUmrdDVJfXFq5MiRMUYNHjw4vP7663EpDDGTyo3GMG6oqfjcMqlG8oNJtTSSGf37948J3WJ/Lxg0aFBMYOQv40v77rvv4oA6seKKK8Z+IH1H/rb4PolZqodIJoG/P75O42+N+7HYYovFyb7Ro0fH90FyeJlllolJFRI+9MkagucgEZY+vrrQRtC/pE/Le0ijeoljJilWH9oAzitJk0Ko6OSckiicmkQ8iS36kiQxqFhrKLbdoN2iYotzzTFuvPHG8RylE+y0g1RhcV9dnnvu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5ptvpunrvPfee2HNNdcMXbt2bfVlhbPMMkurfw+SpMq24YYbhs8++yy88847YfDgwbHKd9iwYVM87vfff5+q559jjjnCrLPOWoIjlSRJKi2TUq3IeuutFzp16hROPvnkoo+55ZZbwlJLLRVmmGGGuIws/1KT3Dd06NCwyy67xA5qly5dwsUXX1zzfTLiL774Ypyl5f90jPP9+eefYddddw1///vfw0wzzRQWX3zxcPbZZ9d8/4EHHogJtPzM+gEHHBDWXXfd+P+vvvoq9OvXLyywwAKhffv2Yemllw7XXXddrcez3GD//fcPhx56aOxQ897zj2fcuHGhT58+MfnUoUOHsO2224aJEycWXb7HsR988MFxWRvJKp67qqqqzvOef0z77rtvvHXs2DHMNddc4eijj57iOX7++eei5xgff/xxPFaOg/fGe2CZZP6sxemnnx7mm2++eKz77LNPmDRpUs1jSE4OHDgwzD777PEcbrTRRnFAU8wrr7wS1llnnXhMnKsVV1wxvPDCCw1+71mw6aabNvchSMogYjYxjsmgvfbaK8b7O+64oyYWnHTSSWH++eeP8RavvfZajKfEYOLDHnvsEX788ceiz5+/fK++vkBD4pRKx9gjqbVth8JWJcSStEsvvTQsueSScRy4xBJLhPPPP7/MR9q62PbnmJRqRaaffvrYiTz33HPDJ598MsX3SSbRgdx+++1jh5UGhIQJewulkahaaaWVwujRo8Pee+8dO8As1QMztSS1mKnl/yx/yzd58uTQuXPncNNNN4U333wzHHPMMeHII48MN954Y/x+7969YyeWBFk6GXTDDTeE/v37x69//fXXmBS5++67w+uvvx471DvuuGMYNWpUrde68sor41LC5557Lpx22mkxWfbggw/WHAed5K+//jo89thj8f73338/bLfddkXPIe+d83HZZZeFJ598Mv7syJEjG/V74Jjatm0bj5Vk3Jlnnhkb4YaeYxJLG2ywQRwIPPHEE+Gpp56KSTVmytOz4I8++misWuNfXpPjTv8uGayQVGLgwtUbSIxtvPHGtRJXaZx7fm/PP/98/KwcfvjhoV27dkXf52+//Ra+//77WrdK17179+Y+BEmKyaYkHrAEnfhBjLvrrrvCTz/9FGMIExK058Tihx56KE6WNEYp4lS+LMaNUjD2SGrtrrnmmjgmZBLlrbfeimNWxqGMYYrJesyw7c8xKdXKbLnlljFTzb5P+UiOkBCiAfjHP/4RkxZ0UvOXAJC4oAPKvhWHHXZYrPYh8QFmakm40Pnk//ybj0TG8ccfHzuzVEuR7Nh5551rklIkz0iMXXvttTU/Q6eayqmtt946fk2FFAkv3svCCy8c9ttvv9jZTZ4jscwyy8T3uthii8WqIF4z2SOKf0m+8TokuFZdddVw1VVXxQQVHfVCyOofccQRYauttoqZ/AsvvDBWPDXGggsuGIYPHx5nrHnvHDtfN/Qck5wjoUYiiwoxjoON7qj6Yv12ggHHiBEj4kwDmfRNNtmk5r1TEUUyiudYa621wrLLLhuDwfjx4+M+Y4Xw/My+83ycz759+8afK4aKPM5NcuN9V7r8PdskqZyYXCDBdP/999dUFjMxQ1vPhBE3Yh4TO8Q7OrQ8jlhx9dVX16oUrk8p4lS+LMaNUjD2SGpOTHgw5kvfWIHRGIzXmOxgjMX4kH8POuigcNFFFxX9mazHDNv+HJNSrRD7SpF1JgudxtdrrLFGrfv4mgQGlUrpRE+CJXoknz7//PNGHcN5550XE0Fzzz13bLgo+6ezmiBZQ8f1008/jV+TMCGpklwNjuNh01U6uywL4DnohKefI/9YwVK25Fh5vzRe6QasW7du8TXyzw2+++67WP1F8ipBAo5EV2NwZcL05vKrr756o84xy+jefffdOAOdNPycAwYZVEYlGHyQ4Cv23jn29HthCQeJskLvHSxb3G233WJiikYw/VqFkLzjnCU3lnJIkqbdgIAlDwwEqPhNlqsTJ9kAPUEbz4QCyap0rCeJlFQ6NUQp4lQ+44YktT5s78FV1tO3/FUgdaGCl9jA9i7pxNaQIUOMGWqQtg17mFqSnj17xrJ6On9UQzVW/pItOqN0Zhvq+uuvj1VOZMNJyNBppRqLJXaJlVdeOSyyyCLxsSwJYIlceukZj2fpG5VLdLjpXLPfRf6ygKYea3Op67jZ94OEHom6fCT5GvIcU4MBzg477BCXTN57771xRoPfD9V3xfY44ZYllBxLUnMMCC644IKYfGLvKCYdEunkU0uLU/myGDdKwdgjqTkRZ6iaTUtvFTPddNNNsX9ueruQZE/DSy65pNaEOdIT7PmyHjNs+3NMSrVSVLqw9C3Z9BSU17PvQxpfs5SvrgahsXjOHj16xLL/RKGZU6ql6NCyjxGNGZVS6edgP6gBAwbEr+kIv/3227HSqaF4v1TvcEuqpdjjimWChZ6HslCqjUiekdgDl9xmf6UVVlihwa+bTr7h2WefjcvhGnqOeS2WRswzzzxxw/GpwXvn2DkWfhfJ5vHMktd1DvkscKOclo3mWY5RLCmVRWzST5JUkpp7QFBX+88kDzPTScKKmEqcTfcJmqIUcUoNZ+yR1JIxGTFhwoSYmEpWi1BNlZh33nnjhAp7+yb7B6t+tv05Lt9rpRg480d/zjnn1NzH5uTsOcSyOBI8LPFjn4lCm5U3BQkYNthmuR2vwx5WhfZw4vheeumlmAXeZpttamXCeQ42bX366afjUoQ999yzUXthgGVoyXngddh4nH2nevXqVXRJHlcAJKHHvktjxoyJibX8qwTWhyWGLIUjAcQVA9l4nudtKI6XvTtIyrGB7AcffBCXOnKlwUIb2BfC+ePnd99997hhO0stSPCxVxf35/vll1/i/mK8zkcffRQHMPzOGNwoh/3IJKklI4awzG/QoEHxQiHsA8XehlwshIFBqV6jqXFKDWfskdSScQXXL774Il50ikIEtnFh1UUa+w2zRxRjU8aH7PvL5Dd7Hqsw2/4ck1KtGFeiSy/nYmaTjcJZksXmp1wBgcdMzRK/upBAYvM69rygRJMKnXTVVIJZ31VWWSW8+uqrU2TNjzrqqHi8LEOkoWMvCy573Rhk6m+//fa4ITiVTySp2DSd2d1iSNzRcacznyw9bGylEIkvkjy8t3322ScmpLh6YEO1b98+PP744/ES3MmG66zBZq+OxsxI09CzvIJN0HkvzF7cc889Ba+oRxUXvyeOnUoprtLIviUEEOUU2thfkloSYgiTQlw9lqXyTPpwkRMmoUr5GqWIU2oYY4+klowYcP7558dkFHsaUgiQX/TAvrXsQ8X4hKIBigSo6mXTcxVm25/Tpip/gaikokigsWySvbCyhsu0sgSSTc9b7aBks83q/v6dd4YsqYjfqaTKaGPqa58rWSuJPcYMSS2+jWlNsaSVtP3l+J1aKSVJ1fr27eu5kCSVlbFHkrLHtj/Hjc6l1F5RdW0Szibqqmy//fZbcx+CJCljjD2SlD22/TkmpaRqXDUifSWJQt9no1dVrvXXX7+5D0GSlDHGHknKHtv+HJNSUvLH0LZtgy/Jrcq0xhprNPchSJIyxtgjSdlj25/jnlKSVO24447zXEiSysrYI0nZY9ufY1JKkiRJkiRJZefyPUnZUc+lV49+/vmyHYokKVuXxi7G2CNJ2Ysltv05VkpJUrVRo0Z5LiRJZWXskaTsse3PMSklSdXuv/9+z4UkqayMPZKUPbb9OSalJCl1BUZJksrJ2CNJ2WPbn2NSSpKq3XrrrZ4LSVJZGXskKXts+3NMSklStQEDBnguJEllZeyRpOyx7c8xKSVJ1b7//nvPhSSprIw9kpQ9tv05bqAiqWk226xizuBaPXs29yFIUuWroLhRCsYeScpe3LDtz7FSSpKqbbLJJp4LSVJZGXskKXts+3NMSklStcMPP9xzIUkqK2OPJGWPbX+OSSlJkiRJkiSVnUkpSap26KGHei4kSWVl7JGk7LHtzzEpJUnVxo4d67mQJJWVsUeSsse2P8eklCRVu/322z0XkqSyMvZIUvbY9ueYlJIkSZIkSVLZmZSSpGojR470XEiSysrYI1WutddeOxx44IGhtfnwww9DmzZtwssvv1z0Mf/73//iY7799tuyHlulsO3PMSmlaarUjVV+Azk1z7/TTjuFLbbYIjS3iy++OCy44IJhuummC2edddY0fa3WGhDLbc8992zuQ5A0DRx33HFhueWWm6bn9oorrgizzTZbaA0WWmihaR531HDGHql1Y2zBeCT/9u6774bWijHKZ599Frp3797ch1KxbPtzTEqpJJ555pkw/fTTh0022aSsZ7RHjx6xwezYsWODf+bss8+Og4fmTNh8//33Yd999w2HHXZYGD9+fNhjjz3K+voq7PPPP/fUSC3QhAkTwn777RcWXnjhMMMMM8TO8mabbRYefvjh0FJst9124e23324VEwbPP/98rbjD4Om2224r+3HoL8YeqfXbcMMN45gkffv73/8eWivGdZ06dQpt27Zt7kOpWLb9OSalVBL/+c9/4oDh8ccfD59++mnZzurf/va32GDSoW4oEljNPZs9bty4MGnSpJjEm2+++UL79u2b9Xj0l1VWWcVTIbUwVMiuuOKK4ZFHHgnDhg0Lr732WrjvvvvCOuusE/bZZ5+yHQdtdl1mmmmmMM8884TWYO655zbutCDGHqn1Y8KEMUn6RmIn39VXXx1WWmmlMOuss8bH7LDDDjXJicmTJ4fOnTuHCy64oNbPjB49Oq6s+Oijj+LXZ555Zlh66aXD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SpIkSZIkSWVnUkqSql144YWeC0lSWRl7JCl7bPtzTEpJUrURI0Z4LiRJZWXskaTsse3PMSklSdVef/11z4UkqayMPZKUPbb9OSalJKla165dPReSpLIy9khS9tj255iUkqRqQ4cO9VxIksrK2CNJ2WPbn2NSSpKq9e/f33MhSSorY48kZY9tf07b1P8lqaiqqqr47/fff1+xZ2nSpEkV/f7yJe81+d1KUillIW5kKfYYMyRNS1mLGa2l7S9H3DApJalBfvjhh/jvggsuWNFnrGPHjiGLv9ssvm9J01ZW4kYptKY22JghaVq1LVmLGa2p7Z+WcaNNlVPkkhpg8uTJ4dNPPw2zzjpraNOmTUVm8gmCH3/8cejQoUOoZMl7HTduXPxdzj///GG66VzNLan54kaW2uDW+r4ZMjCwMGZIqpSxRnO1wVl53aoGxg0rpSQ1CA1J586dK/5s0UC39IFBqTBjkZX3Kql1xI0stcGt8X1nZVZfUrbGGs3VBmfhdTs2IG44NS5JkiRJkqSyMyklSZIkSZKksjMpJUkhhBlmmCEce+yx8d9Kl6X3Kql1yGq7lNX3LUlZboOz9rr1caNzSZIkSZIklZ2VUpIkSZIkSSo7k1KSJEmSJEkqO5NSkiRJkiRJKjuTUpIkSZIkSSo7k1KSMu+8884LCy20UJhxxhnDqquuGkaNGlWx5+Txxx8Pm222WZh//vlDmzZtwm233dbchyRJUzjppJNCjx49Qvv27cNss81WkWcoS7FHklqKr7/+OvTv3z906NAhxpddd901/Pjjj3X+zNprrx37zenbv/71r5K28TfddFNYYokl4uOXXnrpcM8990zV+2vM615xxRVTvC9+rtxMSknKtBtuuCEcfPDB8fKoL730Ulh22WXDBhtsED7//PNQiX766af4HglYktRS/f7776Fv375hr732CpUoa7FHkloKElJvvPFGePDBB8Ndd90VJ2z32GOPen9u9913D5999lnN7bTTTitZG//000+Hfv36xQTZ6NGjwxZbbBFvr7/++jSPLSTn0u/ro48+CuXWpqqqqqrsrypJLQQzCCuvvHIYMWJE/Hry5MlhwQUXDPvtt184/PDDQyVjNmTkyJEx6ElSS8Qs7oEHHhi+/fbbUEmyHHskqbm89dZboVu3buH5558PK620UrzvvvvuCxtvvHH45JNP4kqCYpVSyy23XDjrrLOmSRu/3XbbxYljkmSJ1VZbLb7mhRde2OD319jXbSkx1kopSZmeiX/xxRfDeuutV3PfdNNNF79+5plnmvXYJEmVydgjSc2D/j1L9pKEFOj30/9/7rnn6vzZa665Jsw111yhe/fu4Ygjjgg///xzydr4Z555ptbjQYVTY8YjUxtbWLrYtWvXmLzq06dPrCIrt7Zlf0VJaiG+/PLL8Oeff4Z555231v18PWbMmGY7LklS5TL2SFLzmDBhQphnnnlq3de2bdswxxxzxO8Vs8MOO8TEDZVUr776ajjssMPC2LFjw6233lqSNn7ChAkFH1/XMZXidRdffPFw2WWXhWWWWSZ899134fTTT4/7OZKY6ty5cygXK6UkSZI0zbF0IH9D1fybEwKSpJYWX9hzisolNiBnT6qrrroqboHx3nvvtepf1uqrrx4GDhwYlwn26tUrJtnmnnvucNFFF5X1OKyUkpRZlOBOP/30YeLEibXu5+tOnTo123FJUiUaPHhw2Gmnnep8zMILLxwqnbFHkponvtC/z9/0+48//ohX5GtM35+9m/Duu++GRRZZpMltfKdOnZo8HilFbGnXrl1Yfvnl4/sqJyulJGXW3/72t7DiiiuGhx9+uOY+NgTka2YOJEmlw+wrl7uu60a7XOmMPZJUWg2NL/Tv2dSbvZcSjzzySOz/J4mmhnj55Zfjv/PNN19J2vjVV1+91uPB1QEbMx4pRWxh+d9rr71W8H1NS1ZKSco0Lps6aNCguOHhKqusEq+qwdUvdt5551CJ2MwwPfvxwQcfxMDKWvouXbo067FJUmLcuHFx5pp/6SQnA4BFF100zDLLLK3+RGUt9khSS7DkkkuGDTfcMOy+++7xqnaTJk0K++67b9h+++1rrrw3fvz40Lt377hEj/aZJXrXXnttvELfnHPOGfeUOuigg0LPnj3jXkxT08azZG6BBRYIJ598cvz6gAMOiMvnzjjjjLDJJpuE66+/Przwwgvh4osvbtT7a+zrnnDCCfEqf8RWknXDhg0LH330Udhtt91COZmUkpRpXIL1iy++CMccc0zcTJA11VwaNn+TwEpBgFtnnXVqBS8QwLgsrCS1BLTJV155Zc3XLCfAo48+Gi/N3dplLfZIUkvBVfRIRJF44up0W2+9dTjnnHNqvk+iik3Mk6vrUYH00EMP1SR4uEodP3PUUUdNdRvPhAuvnejRo0dMfPGcRx55ZFhsscXCbbfdFq/01xiNfd1vvvkmJuh47Oyzzx4rrZ5++unQrVu3UE5tqqqqqsr6ipIkSZIkSco895SSJEmSJElS2ZmUkiRJkiRJUtmZlJIkSZIkSVLZmZSSJEmSJElS2ZmUkiRJkiRJUtmZlJIkSZIkSVLZmZSSJEmSJElS2ZmUkiRJkiRJUtmZlJIkSZIkSVLZmZSSVDI77bRT2GKLLWrd98UXX4Tu3buHVVddNXz33XclP9sLLbRQOOussxr8+DZt2oTbbrut5MchSWo844YkybiRbSalJE0zJKTWXXfdMNNMM4UHHnggdOzY0bMtSTJuSJIcbygyKSVpmvjyyy9D7969wwwzzBAefPDBmoTUuHHjQp8+fcIss8wSOnToELbddtswceLEmp8bNGhQmGeeecKMM84YVlhhhXD77bfXet633347rLTSSmHmmWcO//d//1fznDyW+/bbb78wefLkmsc/++yzYfHFF4+vf/7558f7XnnllbDYYouF2WabLZx00kk1j/3www9jJdXLL79cc9/RRx8d70tXYxWqtlp77bXDgQceWHT2/6uvvgqzzz57fM003h/HzvtdeOGFw/HHHx/++OOPBr8W/+cxhW7HHXdcA35TktQyGDeMG5Jk3MjeeMOklKSSo0Fcb731Qtu2bWNCKmkYSRaRkPr666/DY489Fr/3/vvvh+22267mZ1dbbbXw0EMPhddeey3ssssu8Xv33ntvzfd33HHH0KlTp/DCCy/EhvCTTz4JN910UzjnnHPCLbfcEq699tpw6aWXxsdOmjQp9O3bN6y11lph1KhRNcmmm2++Odx4443hggsuCCeeeGKs4iqE5yYZRaVXU+U3/njiiSfCwIEDwwEHHBDefPPNcNFFF4UrrriiVqKsPrfeemv47LPP4m311VcPgwcPrvn6kEMOafJxS1I5GDemZNyQJONGJuJGlSSVyKBBg6p69uxZtdxyy1W1a9euarXVVqv6448/ar7/wAMPVE0//fRV48aNq7nvjTfeqKIpGjVqVMHnHDx4cNUaa6wR///qq6/Gx77zzjs1319ggQWqhg0bVvP1EUccUbXSSivF/99xxx1VM844Y9UPP/wQv540aVL8+Ztuuqnm8f369avaZptt4v8/+OCD+P3Ro0fHrwcOHFi16667VnXt2rVq+PDhNT/DY0aOHFnrOHv16lV1wAEH1DoXffr0if8fO3Zs1cwzz1x19NFHV3Xs2LHmMb17964aOnRoree5+uqrq+abb75GvVb6/mOPPbbgeZSklsi4YdyQJOPGrpkeb1gpJamkHn/88VgRRVXSu+++G0477bSa77311lthwQUXjLdEt27dYiUV30uW4rG0L7mNGDEijB49On6P52vXrl1YZJFFan6eaixu6efjccnjO3fuHJ8neWz63/zHp7300kth5MiRsZKqqQ499NCw5557xnLZNJYRnnDCCbXe7+677x5nHX7++eeax/Xr16/WY5jxkKRKYdyYknFDkowbWYkbuZGZJJUADeHDDz8c5pprrriH04ABA8Imm2wSlllmmQb9/Pzzz19rT6frr7++UVfXw18J/6Y9nrJUylHnm2++0BQsU6RRv/zyy6fYH+vHH3+MZbZbbbXVFD/Hmu/E8OHD43LIRP/+/Zt0TJLUkhg3ajNuSJJxI0txw6SUpJJaeumlY0IK7OfEGmTWMbOn05JLLhk+/vjjeEuqpVjb/O2338aKpdgotW0bFl100ZrnY28pnjMZuLBP1HvvvVfzGNZNp9dO83xJJRWPZ18oGmMy/snjij0+cccdd8QN1e++++4mnQuSXSS32CydTQfzseHg2LFja73fQthDK/2YUuxxJUkthXEjx7ghScaNrMUNk1KSpqnzzjsvdO/ePWbohwwZEgcfZN6pfiI5tPfee4devXrFK+rhlFNOCRtssEFo3759uO666+Im5mx8jmWXXTY2rFwJYtiwYXFTc67cxybnbJBO8onN+5IldxtuuGFsnHk8Ja2nn356vJ8SVhrdMWPGxKQZtzSWHJ577rnxGIohOfbrr7/WfM2SxT///DO+p2R5IBVjVFrts88+BZ/jmGOOCZtuumno0qVL2GabbcJ0000XS2xff/31eK4kKYuMG8YNSTJuhMyMN9xTStI0Ncccc4RLLrkknHrqqbFaipJSEkU9e/aMJaJUM91www01jydRRFKK5X4ki1i+t+6669Z8/+qrrw7jx4+PSSxmBhZYYIGw7bbbhv333z+WpfJ/1lNjhhlmiM9NSevKK68cll9++Xg/DTJVXHvssUc4/PDDw8Ybb1zrmElYDRo0qM73xeswg5DcKJll/6t04/7TTz/FJBv7YBXC+7zrrrvi1f84PhJrlM527dp1Ks+2JLV+xg3jhiQZN0Jmxhttqndbl6RWaaGFFoqVUNwaok2bNnED8y222KLkx0L1F0sRjzvuuJI/tySpNIwbkiTjRsthpZQklUj+lQAlSTJuSJIcbxTn6EmSSmTffff1XEqSjBuSpGli3wocb7h8T5IkSZIkSWXn8j1JkiRJkiSVnUkpSZIkSZIklZ1JKUmSJEmSJJWdSSlJkiRJkiSVnUkpSZIkSZIklZ1JKUmSJEmSJJWdSSlJkiRJkiSVnUkpSZIkSZIkhXL7fyx76ttySDziAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "coeff_df = pd.DataFrame( # Для мультиклассовой классификации коэффициенты для каждого класса\n", + " model.coef_,\n", + " columns=X.columns,\n", + " index=['Class 0', 'Class 1', 'Class 2']\n", + ")\n", + "\n", + "print(\"=\"*60)\n", + "print(\"КОЭФФИЦИЕНТЫ ЛОГИСТИЧЕСКОЙ РЕГРЕССИИ\")\n", + "print(\"=\"*60)\n", + "print(\"(Положительные значения → увеличивают вероятность класса)\")\n", + "print(coeff_df.round(3))\n", + "\n", + "\n", + "plt.figure(figsize=(12, 6)) # Визуализация важности признаков\n", + "for i, class_name in enumerate(['Class 0', 'Class 1', 'Class 2']):\n", + " plt.subplot(1, 3, i+1)\n", + " coeffs = coeff_df.loc[class_name].sort_values()\n", + " colors = ['red' if x < 0 else 'green' for x in coeffs.values]\n", + " plt.barh(coeffs.index, coeffs.values, color=colors, alpha=0.7)\n", + " plt.title(f'{class_name}', fontsize=12)\n", + " plt.xlabel('Коэффициент')\n", + " plt.axvline(x=0, color='black', linestyle='--', linewidth=0.5)\n", + "plt.suptitle('Влияние признаков на предсказание каждого класса', fontsize=14)\n", + "plt.tight_layout()\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "05be2796-09b9-47b6-9e3a-2754216f9227", + "metadata": {}, + "source": [ + "**ВЫВОД:**\n", + "\n", + "**ОБЩАЯ ОЦЕНКА КАЧЕСТВА:**\n", + " - Точность модели (accuracy): 97.22%\n", + " - Модель Logistic Regression успешно классифицирует вина на 3 сорта\n", + " - Обучена на 142 образцах, проверена на 36 образцах\n", + "\n", + "**АНАЛИЗ ОШИБОК:**\n", + "\n", + " - 1 вино(а) класса 2 ошибочно предсказаны как класс 1\n", + "\n", + "**КЛЮЧЕВЫЕ ОСОБЕННОСТИ LOGISTIC REGRESSION:**\n", + " - Линейная модель, работает быстро и интерпретируема\n", + " - Коэффициенты показывают влияние каждого признака на класс\n", + " - Требует масштабирования признаков (мы использовали StandardScaler)\n", + "\n", + "**ПРЕИМУЩЕСТВА:**\n", + " - Простая интерпретация результатов\n", + " - Быстрое обучение и предсказание\n", + " - Не требуется настройка сложных гиперпараметров\n", + "\n", + "**НЕДОСТАТКИ:**\n", + " - Предполагает линейную разделимость классов\n", + " - Может быть менее точной чем сложные модели (SVM, Random Forest)\n", + "\n", + "**РЕКОМЕНДАЦИИ ПО УЛУЧШЕНИЮ:**\n", + " - Увеличить max_iter для лучшей сходимости\n", + " - Использовать GridSearchCV для подбора параметра C\n", + " - Попробовать SVM или Random Forest для сравнения" + ] + } + ], + "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.1" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +}