From ca83b3c591689681cfb1a883aee6214b8bc74ea3 Mon Sep 17 00:00:00 2001 From: Timourka Date: Sat, 19 Oct 2024 02:38:29 +0400 Subject: [PATCH] =?UTF-8?q?3=20=D0=BB=D0=B0=D0=B1=D0=BE=D1=80=D0=B0=D1=82?= =?UTF-8?q?=D0=BE=D1=80=D0=BD=D0=B0=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lab_3/laba3.ipynb | 1122 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1122 insertions(+) create mode 100644 lab_3/laba3.ipynb diff --git a/lab_3/laba3.ipynb b/lab_3/laba3.ipynb new file mode 100644 index 0000000..541c713 --- /dev/null +++ b/lab_3/laba3.ipynb @@ -0,0 +1,1122 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['ID', 'Price', 'Levy', 'Manufacturer', 'Model', 'Prod. year',\n", + " 'Category', 'Leather interior', 'Fuel type', 'Engine volume', 'Mileage',\n", + " 'Cylinders', 'Gear box type', 'Drive wheels', 'Doors', 'Wheel', 'Color',\n", + " 'Airbags'],\n", + " dtype='object')" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import pandas as pd\n", + "df = pd.read_csv(\"..//static//csv//car_price_prediction.csv\", sep=\",\")\n", + "df.columns" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "определение бизнесцелей:\n", + "1. Прогнозирование цены автомобиля.\n", + "2. Оценка факторов, влияющих на цену автомобиля." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Определение целей технического проекта:\n", + "1. Построить модель машинного обучения для регрессии, которая будет прогнозировать стоимость автомобиля на основе предоставленных данных о его характеристиках.\n", + "2. Провести анализ данных для выявления ключевых факторов, влияющих на стоимость автомобиля." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "преобразуем пробег в число" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [], + "source": [ + "df['Mileage'] = df['Mileage'].str.replace(r'\\D+', '', regex=True).astype(float)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "посмотрим выбросы и усредним их:" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Колонка Price:\n", + " Есть выбросы: Да\n", + " Количество выбросов: 1073\n", + " Минимальное значение: 1.0\n", + " Максимальное значение: 47191.0\n", + " 1-й квартиль (Q1): 5331.0\n", + " 3-й квартиль (Q3): 22075.0\n", + "\n", + "Колонка Mileage:\n", + " Есть выбросы: Да\n", + " Количество выбросов: 640\n", + " Минимальное значение: 0.0\n", + " Максимальное значение: 367011.5\n", + " 1-й квартиль (Q1): 70139.0\n", + " 3-й квартиль (Q3): 188888.0\n", + "\n" + ] + } + ], + "source": [ + "numeric_columns = ['Price', 'Mileage']\n", + "for column in numeric_columns:\n", + " if pd.api.types.is_numeric_dtype(df[column]): # Проверяем, является ли колонка числовой\n", + " q1 = df[column].quantile(0.25) # Находим 1-й квартиль (Q1)\n", + " q3 = df[column].quantile(0.75) # Находим 3-й квартиль (Q3)\n", + " iqr = q3 - q1 # Вычисляем межквартильный размах (IQR)\n", + "\n", + " # Определяем границы для выбросов\n", + " lower_bound = q1 - 1.5 * iqr # Нижняя граница\n", + " upper_bound = q3 + 1.5 * iqr # Верхняя граница\n", + "\n", + " # Подсчитываем количество выбросов\n", + " outliers = df[(df[column] < lower_bound) | (df[column] > upper_bound)]\n", + " outlier_count = outliers.shape[0]\n", + "\n", + " # Устраняем выбросы: заменяем значения ниже нижней границы на саму нижнюю границу, а выше верхней — на верхнюю\n", + " df[column] = df[column].apply(lambda x: lower_bound if x < lower_bound else upper_bound if x > upper_bound else x)\n", + "\n", + " print(f\"Колонка {column}:\")\n", + " print(f\" Есть выбросы: {'Да' if outlier_count > 0 else 'Нет'}\")\n", + " print(f\" Количество выбросов: {outlier_count}\")\n", + " print(f\" Минимальное значение: {df[column].min()}\")\n", + " print(f\" Максимальное значение: {df[column].max()}\")\n", + " print(f\" 1-й квартиль (Q1): {q1}\")\n", + " print(f\" 3-й квартиль (Q3): {q3}\\n\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "превращаем тире во чтото\n" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "C:\\Users\\bingo\\AppData\\Local\\Temp\\ipykernel_13744\\3336777531.py:3: FutureWarning: A value is trying to be set on a copy of a DataFrame or Series through chained assignment using an inplace method.\n", + "The behavior will change in pandas 3.0. This inplace method will never work because the intermediate object on which we are setting values always behaves as a copy.\n", + "\n", + "For example, when doing 'df[col].method(value, inplace=True)', try using 'df.method({col: value}, inplace=True)' or df[col] = df[col].method(value) instead, to perform the operation inplace on the original object.\n", + "\n", + "\n", + " df['Levy'].replace(\"-\", np.nan, inplace=True)\n", + "C:\\Users\\bingo\\AppData\\Local\\Temp\\ipykernel_13744\\3336777531.py:9: FutureWarning: A value is trying to be set on a copy of a DataFrame or Series through chained assignment using an inplace method.\n", + "The behavior will change in pandas 3.0. This inplace method will never work because the intermediate object on which we are setting values always behaves as a copy.\n", + "\n", + "For example, when doing 'df[col].method(value, inplace=True)', try using 'df.method({col: value}, inplace=True)' or df[col] = df[col].method(value) instead, to perform the operation inplace on the original object.\n", + "\n", + "\n", + " df['Levy'].fillna(df['Levy'].median(), inplace=True)\n" + ] + } + ], + "source": [ + "import numpy as np\n", + "# Замена прочерков \"-\" в столбце Levy на NaN\n", + "df['Levy'].replace(\"-\", np.nan, inplace=True)\n", + "\n", + "# Преобразование столбца Levy в числовой формат (если он был строковым)\n", + "df['Levy'] = pd.to_numeric(df['Levy'], errors='coerce')\n", + "\n", + "# Заполнение пропусков в столбце Levy медианой\n", + "df['Levy'].fillna(df['Levy'].median(), inplace=True)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "код конструирования полей, все номинальные превращаем в числовые\n" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " ID Price Levy Model Mileage Cylinders Airbags Age \\\n", + "0 45654403 13328.0 1399.0 1242 186005.0 6.0 12 14 \n", + "1 44731507 16621.0 1018.0 658 192000.0 6.0 8 13 \n", + "2 45774419 8467.0 781.0 684 200000.0 4.0 2 18 \n", + "3 45769185 3607.0 862.0 661 168966.0 4.0 0 13 \n", + "4 45809263 11726.0 446.0 684 91901.0 4.0 4 10 \n", + "\n", + " Leather Interior Manufacturer_ALFA ROMEO ... Color_Orange Color_Pink \\\n", + "0 1 0.0 ... 0.0 0.0 \n", + "1 0 0.0 ... 0.0 0.0 \n", + "2 0 0.0 ... 0.0 0.0 \n", + "3 1 0.0 ... 0.0 0.0 \n", + "4 1 0.0 ... 0.0 0.0 \n", + "\n", + " Color_Purple Color_Red Color_Silver Color_Sky blue Color_White \\\n", + "0 0.0 0.0 1.0 0.0 0.0 \n", + "1 0.0 0.0 0.0 0.0 0.0 \n", + "2 0.0 0.0 0.0 0.0 0.0 \n", + "3 0.0 0.0 0.0 0.0 1.0 \n", + "4 0.0 0.0 1.0 0.0 0.0 \n", + "\n", + " Color_Yellow Drive wheels_Front Drive wheels_Rear \n", + "0 0.0 0.0 0.0 \n", + "1 0.0 0.0 0.0 \n", + "2 0.0 1.0 0.0 \n", + "3 0.0 0.0 0.0 \n", + "4 0.0 1.0 0.0 \n", + "\n", + "[5 rows x 218 columns]\n" + ] + } + ], + "source": [ + "from sklearn.preprocessing import OneHotEncoder, LabelEncoder\n", + "#Пример: Создание нового признака \"Age\" (возраст автомобиля)\n", + "df['Age'] = 2024 - df['Prod. year']\n", + "\n", + "df['Leather Interior'] = df['Leather interior'].apply(lambda x: 1 if x == 'Yes' else 0)\n", + "\n", + "# Удаление ненужного столбца 'Prod. year', так как он был использован для создания 'Age'\n", + "df.drop(columns=['Prod. year'], inplace=True)\n", + "df.drop(columns=['Leather interior'], inplace=True)\n", + "\n", + "# Определение категориальных признаков для преобразования\n", + "categorical_columns = ['Manufacturer', 'Engine volume', 'Doors', 'Wheel', 'Category', 'Fuel type', 'Gear box type', 'Color', 'Drive wheels']\n", + "\n", + "# Инициализация OneHotEncoder\n", + "encoder = OneHotEncoder(sparse_output=False, drop=\"first\")\n", + "\n", + "# Применение OneHotEncoder к выбранным категориальным признакам\n", + "encoded_values = encoder.fit_transform(df[categorical_columns])\n", + "\n", + "# Получение имен новых закодированных столбцов\n", + "encoded_columns = encoder.get_feature_names_out(categorical_columns)\n", + "\n", + "# Преобразование в DataFrame\n", + "encoded_values_df = pd.DataFrame(encoded_values, columns=encoded_columns)\n", + "\n", + "# Объединение закодированных значений с оригинальным DataFrame, исключив исходные категориальные столбцы\n", + "df = df.drop(columns=categorical_columns)\n", + "df = pd.concat([df.reset_index(drop=True), encoded_values_df.reset_index(drop=True)], axis=1)\n", + "\n", + "# Применение Label Encoding для столбца 'Model'\n", + "label_encoder = LabelEncoder()\n", + "df['Model'] = label_encoder.fit_transform(df['Model'])\n", + "\n", + "print(df.head())" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Создадим выборки данных. разбивать будем относительно параметра цены, ведь это тот самый параметр по которому наша выборка разбивается на классы. И собственно его нам и надо будет предсказывать" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Размер обучающей выборки: (11542, 217)\n", + "Размер контрольной выборки: (3847, 217)\n", + "Размер тестовой выборки: (3848, 217)\n" + ] + } + ], + "source": [ + "from sklearn.model_selection import train_test_split\n", + "\n", + "# Выделение признаков (X) и целевой переменной (y)\n", + "X = df.drop(columns=['Price']) # Признаки\n", + "y = df['Price'] # Целевая переменная (цена автомобиля)\n", + "\n", + "# Разделение данных на обучающую и временную выборки\n", + "X_train, X_temp, y_train, y_temp = train_test_split(X, y, test_size=0.4, random_state=42)\n", + "\n", + "# Разделение временной выборки на контрольную и тестовую выборки\n", + "X_val, X_test, y_val, y_test = train_test_split(X_temp, y_temp, test_size=0.5, random_state=42)\n", + "\n", + "# Проверка размеров выборок\n", + "print(f\"Размер обучающей выборки: {X_train.shape}\")\n", + "print(f\"Размер контрольной выборки: {X_val.shape}\")\n", + "print(f\"Размер тестовой выборки: {X_test.shape}\")" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA1sAAAIjCAYAAAD1OgEdAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAACHk0lEQVR4nOzdaXgUVf728bu709n3hCQEAoR9BwWVgAjKDu6MiqKgMuI44IbbnxlFQB0EFRFFGedR0BFQGZVRRxEEFFT2fd8hkJUQsm+d7npexLQ0CZCENEng+7muXKSrzun6Ved06DtVdcpkGIYhAAAAAEC1Mtd0AQAAAABwKSJsAQAAAIAbELYAAAAAwA0IWwAAAADgBoQtAAAAAHADwhYAAAAAuAFhCwAAAADcgLAFAAAAAG5A2AIAoA7IyMjQgQMHVFxcXNOloBoZhqH09HTt37+/pksB4AaELQAAaiGbzaZp06apU6dO8vLyUkhIiFq0aKFly5bVdGl1wo4dO7Ro0SLn4y1btuh///tfzRV0muzsbD3//PNq1aqVPD09FRYWppYtW2rv3r01XRqAauZR0wUAqHvmzp2rBx54wPnYy8tLjRo1Uv/+/fXCCy8oMjKyBqsD6r7CwkL1799fa9as0V/+8he99NJL8vX1lcViUZcuXWq6vDohOztbDz/8sKKiohQWFqbHH39cgwYN0pAhQ2q0rpMnT6pXr16Kj4/Xo48+qh49esjT01NWq1VNmjSp0doAVD/CFoAqmzx5smJjY1VQUKBffvlF7733nr777jvt2LFDvr6+NV0eUGdNnTpVa9eu1Q8//KDevXvXdDl1UlxcnPNLklq2bKmHHnqohquSnnnmGSUlJWn16tVq165dTZcDwM0IWwCqbNCgQeratask6c9//rPCwsI0ffp0/fe//9Xdd99dw9UBdVNxcbFmzJihp556iqB1gRYtWqRdu3YpPz9fHTp0kKenZ43Wk5qaqo8++kizZ88maAGXCa7ZAlBtbrjhBknS4cOHJUnp6el6+umn1aFDB/n7+yswMFCDBg3S1q1by/QtKCjQxIkT1bJlS3l7e6t+/fq6/fbbdfDgQUnSkSNHZDKZzvp1+ofSn376SSaTSZ999pn+9re/KSoqSn5+frr55pt17NixMtteu3atBg4cqKCgIPn6+qpXr1769ddfy93H3r17l7v9iRMnlmn7ySefqEuXLvLx8VFoaKiGDRtW7vbPtW+nczgcmjFjhtq1aydvb29FRkbq4Ycf1qlTp1zaNWnSRDfeeGOZ7YwdO7bMc5ZX+2uvvVbmNZVKTm178cUX1bx5c3l5eSkmJkbPPvusCgsLy32tTte7d2+1b9++zPLXX39dJpNJR44ccVmekZGhJ554QjExMfLy8lLz5s01depUORwOZ5vS1+31118v87zt27cvd0z85z//OWuN999/f4VO42rSpInz52M2mxUVFaW77rpL8fHx5+0rSe+++67atWsnLy8vRUdHa8yYMcrIyHCu37t3r06dOqWAgAD16tVLvr6+CgoK0o033qgdO3Y4261YsUImk0lfffVVmW3Mnz9fJpNJq1evdtZ8//33u7QpfU1++ukn57JVq1bpjjvuUKNGjZw/4yeffFL5+fkufSdOnFhmLM2bN0+dO3eWt7e3wsLCdPfdd5d5Te6//375+/u7LPvPf/5Tpg5J8vf3L1OzVLH3Ve/evZ0//7Zt26pLly7aunVrue+r8pz5Pg8PD9eQIUNcXn+p5P0zduzYsz7P3LlzXcb3+vXr5XA4VFRUpK5du57ztZKk5cuXq2fPnvLz81NwcLBuueUW7d6926VN6c9iz549uvPOOxUYGOg8bbKgoKBMvae/34uLizV48GCFhoZq165dLm0r+vsLwLlxZAtAtSkNRmFhYZKkQ4cOadGiRbrjjjsUGxurlJQU/fOf/1SvXr20a9cuRUdHS5LsdrtuvPFGLVu2TMOGDdPjjz+u7OxsLV26VDt27FCzZs2c27j77rs1ePBgl+2OHz++3HpeeeUVmUwmPffcc0pNTdWMGTPUt29fbdmyRT4+PpJKPswMGjRIXbp00Ysvviiz2aw5c+bohhtu0KpVq3T11VeXed6GDRtqypQpkqScnBw98sgj5W77hRde0J133qk///nPOnHihN5++21dd9112rx5s4KDg8v0GT16tHr27ClJ+vLLL8t8iH744Yed18s99thjOnz4sN555x1t3rxZv/76q6xWa7mvQ2VkZGQ49+10DodDN998s3755ReNHj1abdq00fbt2/Xmm29q3759LhMRXKi8vDz16tVLCQkJevjhh9WoUSP99ttvGj9+vJKSkjRjxoxq21ZV9ezZU6NHj5bD4dCOHTs0Y8YMJSYmatWqVefsN3HiRE2a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448/6oUXXtC2bdv0zTffnHNfevXqpYcfflhTpkzRli1b1L9/f1mtVu3fv18LFy7UW2+9pT/96U9Vep2WLFmifv36nfNI0n333afPP/9cf/nLX7RixQr16NFDdrtde/bs0eeff64ffvjhvEf8cnJytHjxYpdlpX+5//nnn2W1WtWgQQM988wz+vrrr3XjjTfq/vvvV5cuXZSbm6vt27frP//5j44cOVLlqcS3bNkif39/FRcXa+PGjfr44491yy23lPvB+FwOHTqkTz75RFLJxCLvvPOOAgMDzzlJRr169TR+/HhNmjRJAwcO1M0336y9e/fq3Xff1VVXXeUyocW0adPUv39/xcXF6c9//rNz6ndvb2+98sorZZ57xIgRzp9/eYG8Ilq3bq1mzZrp6aefVkJCggIDA/XFF1+UuXbrTFarVVOnTtX999+vHj16aOTIkUpPT9dbb72lBg0alJly3W63u4yDLVu2SCo5ve30SVzsdrsSEhK0bt06XX311RV+X5XatGmTwsPDz3o66vmkpKQ4f8ZpaWn65z//KQ8PjzLhMT4+XosXL3aeRvjKK6+ocePGuuKKK8ocXffw8NC0adM0YsQI9ezZU8OHD3eeotiwYUOX1+q1117ToEGDFBcXp1GjRjmnfg8KCir3SN3hw4d18803a+DAgVq9erU++eQT3XPPPerUqdNZ93HAgAG699579eyzz+qmm25S/fr1K/06AziPizn1IYBLQ+n0xevXrz9nu4KCAuOpp54y6tevb/j4+Bg9evQwVq9eXe60ynl5ecbf//53IzY21rBarUZUVJTxpz/9yTh48KBhGFWb5nvBggXG+PHjjYiICMPHx8cYMmSIy/TVpTZv3mzcfvvtRlhYmOHl5WU0btzYuPPOO41ly5a5bPt8X2dOB/7FF18Y1157reHn52f4+fkZrVu3NsaMGWPs3bvXMAzDePTRR43rrrvOWLx4cZmazpz6vdT7779vdOnSxfDx8TECAgKMDh06GM8++6yRmJjobFPZqd9NJpOxceNGl+Xl/YyKioqMqVOnGu3atTO8vLyMkJAQo0uXLsakSZOMzMzMMts78/nO9/rNmTPH2T47O9sYP3680bx5c8PT09MIDw83unfvbrz++utGUVGRYRhVGxOlXx4eHkbjxo2Nxx57zDh16pRhGJWb+v305woPDzf69+9vrF69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AAAAAHADwhYAAAAAuAFhCwAAAADcgLAFAAAAAG5A2AIAAAAANyBsAQAAAIAbELYAAAAAwA0IWwAAAADgBrU+bCUkJOjee+9VWFiYfHx81KFDB23YsMG53jAMTZgwQfXr15ePj4/69u2r/fv3uzxHenq6hg8frsDAQAUHB2vUqFHKycm52LsCAAAA4DJSq8PWqVOn1KNHD1mtVn3//ffatWuX3njjDYWEhDjbTJs2TTNnztTs2bO1du1a+fn5acCAASooKHC2GT58uHbu3KmlS5fq22+/1cqVKzV69Oia2CUAAAAAlwmPmi7gXKZOnaqYmBjNmTPHuSw2Ntb5vWEYmjFjhp5//nndcsstkqSPP/5YkZGRWrRokYYNG6bdu3dr8eLFWr9+vbp27SpJevvttzV48GC9/vrrio6OLnfbhYWFKiwsdD7OysqSJNlsNtlstmrf18pwOBySJItJMhn2CvezmCQfHx85HI4a3wfULqXjgXGB6sKYgjswrlDdGFMXn8PhkI+PT53/HFvRGkyGYRhurqXK2rZtqwEDBuj48eP6+eef1aBBA/31r3/VQw89JEk6dOiQmjVrps2bN6tz587Ofr169VLnzp311ltv6cMPP9RTTz2lU6dOOdcXFxfL29tbCxcu1G233VbutidOnKhJkyaVWT5//nz5+vpW744CAAAAqDPy8vJ0zz33KDMzU4GBgWdtV6uPbB06dEjvvfeexo0bp7/97W9av369HnvsMXl6emrkyJFKTk6WJEVGRrr0i4yMdK5LTk5WRESEy3oPDw+FhoY625Rn/PjxGjdunPNxVlaWYmJi1L9//3O+oBfD5s2blZSUpDVJDkU2bV3hfokH9+idp4Zr5cqV6tSpkxsrRF1js9m0dOlS9evXT1artabLwSWAMQV3YFyhujGmLr6tW7fquuuu09g35im6Wd39HFt61tv51Oqw5XA41LVrV/3jH/+QJF1xxRXasWOHZs+erZEjR7p1215eXvLy8iqz3Gq11vib0WwuudTObkiGyVLhfnZDys/Pl9lsrvF9QO1UG8Y3Li2MKbgD4wrVjTF18ZjNZuXn59f5z7EVraFWT5BRv359tW3b1mVZmzZtFB8fL0mKioqSJKWkpLi0SUlJca6LiopSamqqy/ri4mKlp6c72wAAAABAdavVYatHjx7au3evy7J9+/apcePGkkom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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA1IAAAIjCAYAAAAJLyrXAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAB2ZklEQVR4nO3dd3xUVf7/8ffMZCa9QEISWiAQelVUiIioNBF3bbs2VEBsLLgqii67riC6i4oNFct+VwF/FhR7lypY6L13CCWFJKS3ycz9/REzy5AAuSFhkvB6Ph55JHPvufd+7uTMZN65955rMQzDEAAAAACgyqy+LgAAAAAA6huCFAAAAACYRJACAAAAAJMIUgAAAABgEkEKAAAAAEwiSAEAAACASQQpAAAAADCJIAUAAAAAJvn5ugAAAIBzSUlJiTIzM+V2u9WsWTNflwOgmjgiBQAAGoT33ntP+/fv9zyeNWuWDh8+7LuCjrN69WrdeuutioqKkr+/v5o2baobbrjB12UBOAMEKeAcNGvWLFksFs9XQECA2rdvr3Hjxik1NdXX5QFAtfz888969NFHtX//fv34448aO3asrFbff9T58ssvdckll2jr1q3617/+pfnz52v+/Pl66623fF0agDPAqX3AOWzKlCmKj49XUVGRfvnlF73xxhv67rvvtHnzZgUFBfm6PAAw5aGHHtJll12m+Ph4SdL48ePVtGlTn9aUmZmpu+66S0OGDNHcuXPlcDh8Wg+AmkOQAs5hQ4cO1QUXXCBJuuuuuxQZGakXX3xRX375pW655RYfVwcA5nTs2FF79uzR5s2bFRUVpbZt2/q6JM2cOVNFRUWaNWsWIQpoYHx/vBtAnXHFFVdIkvbt2yep7D+pjzzyiLp166aQkBCFhYVp6NCh2rBhQ4Vli4qKNHnyZLVv314BAQFq2rSprr/+eu3Zs0eStH//fq/TCU/8uuyyyzzr+umnn2SxWPTRRx/p73//u2JjYxUcHKw//vGPOnjwYIVtr1ixQldeeaXCw8MVFBSk/v3769dff610Hy+77LJKtz958uQKbd977z316tVLgYGBaty4sW6++eZKt3+qfTue2+3Wyy+/rC5duiggIEAxMTG69957dezYMa92rVu31tVXX11hO+PGjauwzspqnzZtWoXnVJKKi4s1adIkJSQkyN/fXy1bttSjjz6q4uLiSp+r41122WXq2rVrhenPP/+8LBaL13UpkpSVlaUHH3xQLVu2lL+/vxISEvTss8/K7XZ72pQ/b88//3yF9Xbt2rXSPvHJJ5+ctMaRI0eqdevWp92X1q1be34/VqtVsbGxuummm5SUlFSlZUeOHOk17Z577lFAQIB++uknr+mvv/66unTpIn9/fzVr1kxjx45VVlaWV5uqPq/H11zZV/l+H/+cvvTSS2rVqpUCAwPVv39/bd68ucJ2Fi1apH79+ik4OFgRERG65pprtG3bttM+b8d/Hb/fJ+u7xzPze5ektLQ0jR49WjExMQoICFCPHj00e/bsStc5a9YsBQcHq3fv3mrbtq3Gjh0ri8VS4Xd2sprKv+x2u1q3bq0JEyaopKTE0678tOjVq1efdF2XXXaZ1z4sX75cPXv21L///W/P66Fdu3Z65plnvF4PklRaWqqnnnpKbdu2lb+/v1q3bq2///3vFV6j5c/zvHnz1LNnTwUEBKhz58767LPPvNqV13v863PLli1q1KiRrr76apWWlnqmV+U1C8AbR6QAeJSHnsjISEnS3r179cUXX+jPf/6z4uPjlZqaqrfeekv9+/fX1q1bPaNNuVwuXX311Vq4cKFuvvlmPfDAA8rNzdX8+fO1efNmr/8K33LLLbrqqqu8tjtx4sRK6/nXv/4li8Wixx57TGlpaXr55Zc1cOBArV+/XoGBgZLKPggOHTpUvXr10qRJk2S1WjVz5kxdccUV+vnnn3XRRRdVWG+LFi00depUSVJeXp7GjBlT6bb/+c9/6sYbb9Rdd92lo0eP6tVXX9Wll16qdevWKSIiosIy99xzj/r16ydJ+uyzz/T55597zb/33ns1a9YsjRo1Sn/961+1b98+vfbaa1q3bp1+/fVX2e32Sp8HM7Kysjz7djy3260//vGP+uWXX3TPPfeoU6dO2rRpk1566SXt3LlTX3zxxRlvu1xBQYH69++vw4cP695771VcXJx+++03TZw4UcnJyXr55ZdrbFvV1a9fP91zzz1yu93avHmzXn75ZR05ckQ///yzqfVMmjRJb7/9tj766COvD8+TJ0/Wk08+qYEDB2rMmDHasWOH3njjDa1atapav+uXX35ZeXl5kqRt27bp3//+t/7+97+rU6dOkqSQkBCv9u+++65yc3M1duxYFRUVafr06briiiu0adMmxcTESJIWLFigoUOHqk2bNpo8ebIKCwv16quvqm/fvlq7dm2lobT8eTu+jtpUWFioyy67TLt379a4ceMUHx+vuXPnauTIkcrKytIDDzxw0mV3796t//u//zO1vfLXcHFxsX788Uc9//zzCggI0FNPPVXtfcjIyNAvv/yiX375RXfeead69eqlhQsXauLEidq/f7/efPNNT9u77rpLs2fP1p/+9Cc9/PDDWrFihaZOnapt27ZVeD/ZtWuXbrrpJt13330aMWKEZs6cqT//+c/64YcfNGjQoEprOXjwoK688kp17NhRH3/8sfz8yj4G1ofXLFAnGQDOOTNnzjQkGQsWLDCOHj1qHDx40JgzZ44RGRlpBAYGGocOHTIMwzCKiooMl8vltey+ffsMf39/Y8qUKZ5p77zzjiHJePHFFytsy+12e5aTZEybNq1Cmy5duhj9+/f3PF68eLEhyWjevLmRk5Pjmf7xxx8bkozp06d71t2uXTtjyJAhnu0YhmEUFBQY8fHxxqBBgyps6+KLLza6du3qeXz06FFDkjFp0iTPtP379xs2m83417/+5bXspk2bDD8/vwrTd+3aZUgyZs+e7Zk2adIk4/i32J9//tmQZLz//vtey/7www8Vprdq1coYNmxYhdrHjh1rnPi2fWLtjz76qBEdHW306tXL6zn9f//v/xlWq9X4+eefvZZ/8803DUnGr7/+WmF7x+vfv7/RpUuXCtOnTZtmSDL27dvnmfbUU08ZwcHBxs6dO73a/u1vfzNsNpuRlJRkGEb1+sTcuXNPWuOIESOMVq1anXI/DKPs+R0xYoTXtFtvvdUICgoytexbb71lSDJeffVVrzZpaWmGw+EwBg8e7PX6ee211wxJxjvvvOOZZuZ5LVf+XCxevLjCvPLn9PjXsWEYxooVKwxJxkMPPeSZ1rNnTyM6OtrIyMjwTNuwYYNhtVqNO+64o8K6mzdvbowaNeqUdZys71ZWY1V+7y+//LIhyXjvvfc800pKSozExEQjJCTE8/5Qvs6ZM2d62t14441G165djZYtW1b4fZ+spuOXNwzDaNasmXHVVVd5Hpe/d65ateqk6+rfv7/XPvTv39+QZEyePNmr3ciRIw1JxqZNmwzDMIz169cbkoy77rrLq90jjzxiSDIWLVrkmdaqVStDkvHpp596pmVnZxtNmzY1zjvvvAr17tu3z8jMzDQ6d+5sdOjQwUhPT/faRlVfswC8cWofcA4bOHCgmjRpopYtW+rmm29WSEiIPv/8czVv3lyS5O/v7xnxyuVyKSMjQyEhIerQoYPWrl3rWc+nn36qqKgo3X///RW2ceKpaGbccccdCg0N9Tz+05/+pKZNm+q7776TJK1fv167du3SrbfeqoyMDKWnpys9PV35+fkaMGCAli5dWuG0lKKiIgUEBJxyu5999pncbrduvPFGzzrT09MVGxurdu3aafHixV7ty0/98ff3P+k6586dq/DwcA0aNMhrnb169VJISEiFdTqdTq926enpKioqOmXdhw8f1quvvqp//vOfFY5QzJ07V506dVLHjh291ll+OueJ2z8Tc+fOVb9+/dSoUSOvbQ0cOFAul0tLly71al9QUFBhX10uV6Xrzs3NVXp6eoVT5MwqLi5Wenq60tLSNH/+fC1atEgDBgyo8vJffvml/vKXv2jChAkaN26c17wFCxaopKREDz74oNeIcXfffbfCwsL07bfferV3uVwV9r+goOCM9u/aa6/1vI4l6aKLLlLv3r09r53k5GStX79eI0eOVOPGjT3tunfvrkGDBnnaHa+kpOSUfbxced/NyMjwOnXsRFX5vX/33XeKjY31umbTbrfrr3/9q/Ly8rRkyZJK171mzRrNnTtXU6dONTVqX15entLT03X48GH95z//UUpKSqX9Ijs7W+np6crNza3Sem02mx566CGvaQ8//LAkefpD+XM+fvz4U7Yr16xZM1133XWex2FhYbrjjju0bt06paSkeLUtKirSH//4Rx09elQ//PCD56yDcmZfswDKcGofcA6bMWOG2rdvLz8/P8XExKhDhw5eHzrcbremT5+u119/Xfv27fP6kHP8H+I9e/aoQ4cOntNEakq7du28HlssFiUkJHjO99+1a5ckacSIESddR3Z2tho1auR5nJ6eXmG9J9q1a5cMwzhpuxNPyyr/UH9ieDlxndnZ2YqOjq50flpamtfjefPmqUmTJqes80STJk1Ss2bNdO+991a4lmjXrl3atm3bSdd54vbPxK5du7Rx48Yqb2vSpEmaNGlShXblp6Ad78477/T8HBISoj/84Q966aWXKm17KnPmzNGcOXM8jy+88EL997//rdKy69ev18cffyyXy6XMzMwK8w8cOCBJ6tChg9d0h8OhNm3aeOaX2759u+nf9elU1nfbt2+vjz/++JQ1SlKnTp30448/Kj8/X8HBwZ7p2dnZp+zj5Y7vuzabTd27d9czzzyjwYMHe7Wryu/9wIEDateuXYUwVH5K44nPZbm//e1v6tevn66++uoKQfdU7r//fq9/CI0aNapCAJLK/glVLiIiQrfccoumTZvm9XyVs1gsatasmcLCwryml7/flr+fHThwQFarVQkJCV7tYmNjFRERUWFfExISKvyjqn379pLKrvmKjY312o/ly5crICCg0nBr9jULoAxBCjiHXXTRRZ5R+yrz73//W//85z9155136qmnnlLjxo1ltVr14IMP1okLkMtrmDZtmnr27Flpm+M/+JWUlCg5Ofmk1w8cv16LxaLvv/9eNpvtlOuU5Pnv7/EfXCpbZ3R0tN5///1K55/4AaZ37956+umnvaa99tpr+vLLLytdftu2bZo1a5bee++9Sq+/cbvd6tatm1588cVKl2/ZsuVJazfL7XZr0KBBevTRRyudX/5hr9w999yjP//5z17T7r777kqXfeKJJ9SvXz85nU6tWbNGU6ZMUVZWVqVHUE5l8ODBmjBhgiTp0KFDevbZZ3X55Zdr9erVnuvvTmbDhg0aOnSoBgwYoAkTJui2226rMECCGa1bt65wLc/cuXP1n//8p9rrrGmZmZkqKSk5ZR8vd3zfPXLkiJ599lldd9112rJli9d1V2Z+72bMmzdPCxYs0LJly0wvO2HCBA0ePFgul0tbtmzRlClTZBiGZs6c6dWu/J9QxcXF+umnnzwDZ7z++usV1nm6/nSiMzmKfzJr167Vl19+qXHjxumee+7RokWLvOabfc0CKEOQAnBSn3zyiS6//HK9/fbbXtOzsrIUFRXledy2bVutWLFCTqezRgZMKFd+xKmcYRjavXu3unfv7tmuVHZKy/H/IT6ZDRs2yOl0njI8lq/XMAzFx8dX6QPE1q1bZbFYKv3v/vHrXLBggfr27VulD1ZRUVEV9ulUA0JMnDhRPXv21E033XTS7W/YsEEDBgyolQ9qJ24rLy+vSr8TqezoyYltK/vPviR169bN03bo0KFKSkrS7NmzT3kKWWWaNm3qtc0OHTro4osv1hdffHHaof+7deumuXPnKjAwUHPnztU999yjjRs3ek4ZbdWqlSRpx44datOmjWe5kpIS7du3r9J9PXHa+vXrTe3PiU587UjSzp07PUHm+BpPtH37dkVFRXn9DrZu3Srpf0eCTuXEvpuQkKC+fftq6dKlXkGqKr/3Vq1aaePGjXK73V5HpbZv3+61H+UMw9Df/vY3XXfdderTp89paz1R586dPTUNGTJExcXF+vvf/65//etfnsF1JO9/Qg0bNkwbNmzQDz/8UOk64+PjNW/ePOXm5nqdqrxz50653W6v34nb7dauXbu8nufU1FRlZWVV2Nfdu3fLMAyv1/POnTslqcJAIf/973/1xz/+UTabTVdffbXefvttjR492jPf7GsWQBmukQJwUjabTYZheE2bO3euDh8+7DXthhtuUHp6ul577bUK6zhxeTPKRx4r98knnyg5OVlDhw6VJPXq1Utt27bV888/7xnR7HhHjx6tUHv5B4lTuf7662Wz2fTkk09WqN8wDGVkZHgel5aW6tNPP9VFF110ytOebrzxRrlcrkpH/yotLT2ja36WLVumL7/8Us8888xJQ9KNN96ow4cPVzqKWWFhofLz86u9/cq2tWzZMv34448V5mVlZZkOPadS/gH7TMNhYWGhJFVpKPjzzz9fwcHBslqt+u9//6v9+/drypQpnvkDBw6Uw+HQK6+84tV/3n77bWVnZ2vYsGFnVGtVfPHFF16v05UrV2rFihWe107Tpk3Vs2dPzZ4926vvbd68WfPmzaswsuacOXPkcDh0ySWXmK6l/MhxZUd3T+eqq65SSkqKPvroI8+00tJSvfrqqwoJCVH//v0r1Llx48ZKR66sjvJ+cfwQ6JVxu90n3b+rrrpKLperwvtj+dHh8v5Q/pyfOELeie3KHTlyxGskv5ycHL377rvq2bNnhSOH5aOJDhs2TDfffLMmTJig1NRUz/yz+ZoFGhKOSAE4qauvvlpTpkzRqFGjdPHFF2vTpk16//33vf7LLpUNCvHuu+9q/PjxWrlypfr166f8/HwtWLBAf/nLX3TNNddUa/uNGzfWJZdcolGjRik1NVUvv/yyEhISPKf/lH+QHTp0qLp06aJRo0apefPmOnz4sBYvXqywsDB9/fXXys/P14wZM/TKK6+offv2Xve9KQ9gGzdu1LJly5SYmKi2bdvq6aef9gxPfO211yo0NFT79u3T559/rnvuuUePPPKIFixYoH/+85/auHGjvv7661PuS//+/XXvvfdq6tSpWr9+vQYPHiy73a5du3Zp7ty5mj59uv70pz9V63maN2+eBg0adMr/Jt9+++36+OOPdd9992nx4sXq27evXC6Xtm/fro8//lg//vjjaY/U5eXlVfive/kRjSVLlshut6t58+aaMGGCvvrqK1199dUaOXKkevXqpfz8fG3atEmffPKJ9u/f73VE04z169crJCREpaWlWrNmjd59911dc801pj+k7927V++9956kskE6XnvtNYWFhZkacEIqu+/RY489pmeeeUY333yzunfvriZNmmjixIl68skndeWVV+qPf/yjduzYoddff10XXnihbrvtNlPbqI6EhARdcsklGjNmjIqLi/Xyyy8rMjLS69StadOmaejQoUpMTNTo0aM9w5+Hh4d77k22a9cuTZo0SR9++KH+9re/VbjOpzLlAxpIZYNaPPvsswoPD9fll19uej/uuecevfXWWxo5cqTWrFmj1q1b65NPPtGvv/6ql19+2esIj1T2Wrj77rtPeXT4VJYtWyY/Pz/PqX2vvvqqzjvvvApHeJYtW6b09HTPqX0LFy7UI488Uuk6r7rqKg0cOFD/+Mc/tG/fPvXs2VOLFi3Sp59+qvvuu89zH7EePXpoxIgR+s9//qOsrCz1799fK1eu1OzZs3XttddWeP7at2+v0aNHa9WqVYqJidE777yj1NTUCqchnmj69Onq1KmT7r//fs81c7X5mgUaNB+NFgjAh6oyhK9hlA1//vDDDxtNmzY1AgMDjb59+xrLli2rMLyvYZQNOf6Pf/zDiI+PN+x2uxEbG2v86U9/Mvbs2WMYRvWGuv7www+NiRMnGtHR0UZgYKAxbNgw48CBAxWWX7dunXH99dcbkZGRhr+/v9GqVSvjxhtvNBYuXOi17dN9nThE8qeffmpccsklRnBwsBEcHGx07NjRGDt2rLFjxw7DMAzj/vvvNy699FLjhx9+qFDTicOfl/vPf/5j9OrVywgMDDRCQ0ONbt26GY8++qhx5MgRTxuzw59bLBZjzZo1XtMr+x2VlJQYzz77rNGlSxfD39/faNSokdGrVy/jySefNLKzsyts78T1ne75O37o6NzcXGPixIlGQkKC4XA4jKioKOPiiy82nn/+eaOkpMQwjOr1ifIvPz8/o1WrVsZf//pX49ixY4ZhmBv+/Ph1RUVFGYMHDzaWLVtWpWVP7CdFRUVGx44djQsvvNAoLS31TH/ttdeMjh07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s1kmAAAAgHrk4MGDatGixUnn1/sjUtUxceJEjR8/3vPY7XYrMzNTkZGRslgsPqys7IhUy5YtdfDgQYWFhfm0FjQM9CnUNPoUagP9CjWNPoXqMgxDubm5atas2Snb1fsgFRUVJZvNptTUVK/pqampio2NrXQZf39/+fv7e02LiIiorRKrJSwsjBc9ahR9CjWNPoXaQL9CTaNPoTrCw8NP26beDzbhcDjUq1cvLVy40DPN7XZr4cKFXqf6AQAAAEBNqfdHpCRp/PjxGjFihC644AJddNFFevnll5Wfn69Ro0b5ujQAAAAADVCDCFI33XSTjh49qieeeEIpKSnq2bOnfvjhB8XExPi6NNP8/f01adKkCqceAtVFn0JNo0+hNtCvUNPoU6ht9X7UPgAAAAA42+r9NVIAAAAAcLYRpAAAAADAJIIUAAAAAJhEkAIAAAAAkwhSdciMGTPUunVrBQQEqHfv3lq5cqWvS4KPLF26VH/4wx/UrFkzWSwWffHFF17zDcPQE088oaZNmyowMFADBw7Url27vNpkZmZq+PDhCgsLU0REhEaPHq28vDyvNhs3blS/fv0UEBCgli1b6rnnnqtQy9y5c9WxY0cFBASoW7du+u6772p8f1H7pk6dqgsvvFChoaGKjo7Wtddeqx07dni1KSoq0tixYxUZGamQkBDdcMMNFW52npSUpGHDhikoKEjR0dGaMGGCSktLvdr89NNPOv/88+Xv76+EhATNmjWrQj2839V/b7zxhrp37+652WliYqK+//57z3z6E87UM888I4vFogcffNAzjX6FOsVAnTBnzhzD4XAY77zzjrFlyxbj7rvvNiIiIozU1FRflwYf+O6774x//OMfxmeffWZIMj7//HOv+c8884wRHh5ufPHFF8aGDRuMP/7xj0Z8fLxRWFjoaXPllVcaPXr0MJYvX278/PPPRkJCgnHLLbd45mdnZxsxMTHG8OHDjc2bNxsffvihERgYaLz11lueNr/++qths9mM5557zti6davx+OOPG3a73di0aVOtPweoWUOGDDFmzpxpbN682Vi/fr1x1VVXGXFxcUZeXp6nzX333We0bNnSWLhwobF69WqjT58+xsUXX+yZX1paanTt2tUYOHCgsW7dOuO7774zoqKijIkTJ3ra7N271wgKCjLGjx9vbN261Xj11VcNm81m/PDDD542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sb777juNHTtWdrtdEydO9GpXUlIih8OhJk2a+KhSAEB9xREpAECD4+/vr9jYWLVq1UpjxozRwIED9dVXX2nkyJG69tpr9a9//UvNmjVThw4dJFU8tS8rK0v33nuvYmJiFBAQoK5du+qbb77xzP/ll1/Ur18/BQYGqmXLlvrrX/+q/Pz8s72bAAAf4ogUAKDBCwwMVEZGhiRp4cKFCgsL0/z58ytt63a7NXToUOXm5uq9995T27ZttXXrVtlsNknSnj17dOWVV+rpp5/WO++8o6NHj2rcuHEaN26cZs6cedb2CQDgWwQpAECDZRiGFi5cqB9//FH333+/jh49quDgYP33v/+Vw+GodJkFCxZo5cqV2rZtm9q3by9JatOmjWf+1KlTNXz4cD344IOSpHbt2umVV15R//799cYbbyggIKDW9wsA4Huc2gcAaHC++eYbhYSEKCAgQEOHDtVNN92kyZMnS5K6det20hAlSevXr1eLFi08IepEGzZs0KxZsxQSEuL5GjJkiNxut/bt21cbuwMAqIM4IgUAaHAuv/xyvfHGG3I4HGrWrJn8/P735y44OPiUywYGBp5yfl5enu6991799a9/rTAvLi6uegUDAOodghQAoMEJDg5WQkJCtZbt3r27Dh06pJ07d1Z6VOr888/X1q1bq71+AEDDwKl9AAAcp3///rr00kt1ww03aP78+dq3b5++//57/fDDD5Kkxx57TL/99pvGjRun9evXa9euXfryyy81btw4H1cOADibCFIAAJzg008/1YUXXqhbbrlFnTt31qOPPiqXyyWp7IjVkiVLtHPnTvXr10/nnXeennjiCTVr1szHVQMAziaLYRiGr4sAAAAAgPqEI1IAAAAAYBJBCgAAAABMIkgBAAAAgEkEKQAAAAAwiSAFAAAAACYRpAAAAADAJIIUAAAAAJhEkAIAAAAAkwhSAAAAAGASQQoAAAAATCJIAQAAAIBJ/x8HN/uKb7x2TgAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA1IAAAIjCAYAAAAJLyrXAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAB0AElEQVR4nO3dd3wUdf7H8ffuZnfTE5KQhJAC0juKhaiIBUHkbOjZFT3bcVixHacnoN5hO9uJnt4p6M+OXQ+RImIBRHoLvQRII0B62zK/P0L2WBIgExI2Ca/n47EPsjPfmfnM7nfDvjMz37EYhmEIAAAAAFBv1kAXAAAAAAAtDUEKAAAAAEwiSAEAAACASQQpAAAAADCJIAUAAAAAJhGkAAAAAMAkghQAAAAAmESQAgAAAACTCFIAAAD15Ha7lZeXp8zMzECXAiDACFIAACDgvvnmGy1fvtz3/IsvvtCaNWsCV9ABNm7cqNtuu03t2rWTw+FQQkKC0tPTZRhGoEsDEEAEKQANMnXqVFksFt8jODhYXbt21Z133qnc3NxAlweghVm1apXuuecebdy4UQsXLtQf//hHFRcXB7osLVy4UKeeeqq+//57/fnPf9Z3332nWbNm6YsvvpDFYgl0eQACyGLw5xQADTB16lTdfPPNevzxx9WxY0dVVFTo559/1v/93/8pLS1Nq1evVmhoaKDLBNBC7N69W6effro2bdokSRo5cqQ+/fTTgNZUVVWlfv36KTIyUjNnzlRUVFRA6wHQvAQFugAALdvw4cN18sknS5JuvfVWxcbG6vnnn9eXX36pa665JsDVAWgp2rZtq9WrV/v+CNOjR49Al6Svv/5a69ev17p16whRAGrh1D4Ajercc8+VJG3dulWStHfvXj3wwAPq06ePwsPDFRkZqeHDh2vFihW1lq2oqNCECRPUtWtXBQcHq127dho5cqQ2b94sSdq2bZvf6YQHP84++2zfun744QdZLBZ99NFH+stf/qLExESFhYXp4osv1o4dO2pt+9dff9UFF1ygqKgohYaGavDgwfrll1/q3Mezzz67zu1PmDChVtt3331XAwYMUEhIiGJiYnT11VfXuf3D7duBvF6vXnzxRfXq1UvBwcFKSEjQHXfcoX379vm169Chg373u9/V2s6dd95Za5111f7ss8/Wek0lqbKyUuPHj1fnzp3ldDqVkpKihx56SJWVlXW+Vgc6++yz1bt371rTn3vuOVksFm3bts1vekFBge69916lpKTI6XSqc+fOevrpp+X1en1tal635557rtZ6e/fuXWef+OSTTw5Z40033aQOHToccV86dOjge3+sVqsSExN11VVXHXEAggOXq+tx4Lbr+15L0rfffqvBgwcrIiJCkZGROuWUU/T+++9LOnR/rauPud1uPfHEE+rUqZOcTqc6dOigv/zlL7Xe3/ruf2lpqe6//37fe9itWzc999xzta4tqumDTqdTAwYMUI8ePQ7ZB+ty4L7YbDa1b99et99+uwoKCnxtGvL+L1y4UB07dtSnn36qTp06yeFwKDU1VQ899JDKy8trLf/qq6+qV69ecjqdSkpK0pgxY/xqkP73OViyZIlOP/10hYSEqGPHjvrXv/7l166m3h9++ME3LSsrSx06dNDJJ5+skpIS3/Sj+VwCaDiOSAFoVDWhJzY2VpK0ZcsWffHFF/r973+vjh07Kjc3V6+//roGDx6stWvXKikpSZLk8Xj0u9/9TnPmzNHVV1+te+65R8XFxZo1a5ZWr16tTp06+bZxzTXX6MILL/Tb7rhx4+qs529/+5ssFosefvhh5eXl6cUXX9SQIUO0fPlyhYSESJK+//57DR8+XAMGDND48eNltVo1ZcoUnXvuufrpp5906qmn1lpvcnKyJk2aJEkqKSnR6NGj69z2X//6V1155ZW69dZbtXv3bv3zn//UWWedpWXLlik6OrrWMrfffrsGDRokSfrss8/0+eef+82/4447fKdV3n333dq6dateeeUVLVu2TL/88ovsdnudr4MZBQUFvn07kNfr1cUXX6yff/5Zt99+u3r06KFVq1bphRde0IYNG/TFF18c9bZrlJWVafDgwdq1a5fuuOMOpaamav78+Ro3bpyys7P14osvNtq2GmrQoEG6/fbb5fV6tXr1ar344ovKysrSTz/9dMhlXnzxRd8X4IyMDP3973/XX/7yF9/Rl/DwcF/b+r7XU6dO1R/+8Af16tVL48aNU3R0tJYtW6YZM2bo2muv1SOPPKJbb71VkpSfn6/77rvPr58d6NZbb9Xbb7+tK664Qvfff79+/fVXTZo0SRkZGbX64pH23zAMXXzxxZo7d65uueUW9e/fX999950efPBB7dq1Sy+88MIhX6dD9cHDueyyyzRy5Ei53W4tWLBAb7zxhsrLy/V///d/ptZzoD179mjLli36y1/+opEjR+r+++/X4sWL9eyzz2r16tX673//6wuiEyZM0MSJEzVkyBCNHj1a69ev12uvvabffvut1mdz3759uvDCC3XllVfqmmuu0ccff6zRo0fL4XDoD3/4Q521FBYWavjw4bLb7Zo+fbqvrxzLzyWAgxgA0ABTpkwxJBmzZ882du/ebezYscP48MMPjdjYWCMkJMTYuXOnYRiGUVFRYXg8Hr9lt27dajidTuPxxx/3TXvrrbcMScbzzz9fa1ter9e3nCTj2WefrdWmV69exuDBg33P586da0gy2rdvbxQVFfmmf/zxx4Yk46WXXvKtu0uXLsawYcN82zEMwygrKzM6duxonH/++bW2dfrppxu9e/f2Pd+9e7chyRg/frxv2rZt2wybzWb87W9/81t21apVRlBQUK3pGzduNCQZb7/9tm/a+PHjjQN/Tf/000+GJOO9997zW3bGjBm1pqelpRkjRoyoVfuYMWOMg3/1H1z7Qw89ZMTHxxsDBgzwe03/7//+z7BarcZPP/3kt/y//vUvQ5Lxyy+/1NregQYPHmz06tWr1vRnn33WkGRs3brVN+2JJ54wwsLCjA0bNvi1/fOf/2zYbDYjMzPTMIyG9Ylp06YdssZRo0YZaWlph90Pw6h+fUeNGuU37dprrzVCQ0OPuOzB9cydO7fWvPq+1wUFBUZERIRx2mmnGeXl5X5tD+zPNWperylTptSat3z5ckOSceutt/pNf+CBBwxJxvfff++bVp/9/+KLLwxJxpNPPunX7oorrjAsFouxadMm37T69sFDOXh5w6j+nPbs2dP3vCHv/6hRowxJxk033eTXruaz+fXXXxuGYRh5eXmGw+Ewhg4d6vf77pVXXjEkGW+99ZZv2uDBgw1Jxj/+8Q/ftMrKSqN///5GfHy8UVVV5Vfv3LlzjYqKCuPss8824uPj/V43wzj6zyWAhuPUPgBHZciQIWrbtq1SUlJ09dVXKzw8XJ9//rnat28vSXI6nbJaq3/VeDwe7dmzR+Hh4erWrZuWLl3qW8+nn36quLg43XXXXbW2cTQjY914442KiIjwPb/iiivUrl07TZ8+XZK0fPlybdy4Uddee6327Nmj/Px85efnq7S0VOedd55+/PFHv1PJpOpTEIODgw+73c8++0xer1dXXnmlb535+flKTExUly5dNHfuXL/2VVVVkqpfr0OZNm2aoqKidP755/utc8CAAQoPD6+1TpfL5dcuPz9fFRUVh617165d+uc//6m//vWvfkdHarbfo0cPde/e3W+dNadzHrz9ozFt2jQNGjRIbdq08dvWkCFD5PF49OOPP/q1Lysrq7WvHo+nznUXFxcrPz+/1ilXZlVWVio/P195eXmaNWuWvv/+e5133nlHtc4a9X2vZ82apeLiYv35z3+u1SfNfm5qPhNjx471m37//fdLkv773//6TT/S/k+fPl02m0133313rfUZhqFvv/22zjoO1wcPp6YP5OTk6NNPP9WKFSvqfD8a8v4/+OCDfs/vu+8+2Ww232sye/ZsVVVV6d577/X9vpOk2267TZGRkbVeu6CgIN1xxx2+5w6HQ3fccYfy8vK0ZMkSv7Zer1c33nijFi5cqOnTp/sdnZeO7ecSgD9O7QNwVCZPnqyuXbsqKChICQkJ6tatm98XCa/Xq5deekmvvvqqtm7d6vfltub0P6n6lMBu3bopKKhxfy116dLF77nFYlHnzp191+Ns3LhRkjRq1KhDrqOwsFBt2rTxPc/Pz6+13oNt3LhRhmEcst3Bp+DVfKk73BfHjRs3qrCwUPHx8XXOz8vL83s+c+ZMtW3b9rB1Hmz8+PFKSkrSHXfcUetako0bNyojI+OQ6zx4+0dj48aNWrlyZb23NX78eI0fP75Wu4SEhFrTDjx1Kjw8XBdddJFeeOGFOtsezocffqgPP/zQ9/yUU07Rf/7zH1PrOJT6vtc1p9LWde2ZWdu3b5fValXnzp39picmJio6Olrbt2/3m36k/d++fbuSkpL8/pAhyXca48Hrq3G4Png4zz77rJ599lnf8wsuuEBPP/10rXZm3v+aa8AO/hxHRUWpXbt2vt8jNfvSrVs3v3YOh0MnnHBCrX1NSkpSWFiY37SuXbtKqr7ub+DAgb7pjzzyiBYuXCiLxaKysrJaNR7LzyUAfwQpAEfl1FNP9Y3aV5e///3v+utf/6o//OEPeuKJJxQTEyOr1ap777231pGeQKip4dlnn1X//v3rbHNguKmqqlJ2drbOP//8I67XYrHo22+/lc1mO+w6JSknJ0dS9ZfWw60zPj5e7733Xp3zD/4iddppp+nJJ5/0m/bKK6/oyy+/rHP5jIwMTZ06Ve+++26d11p5vV716dNHzz//fJ3Lp6SkHLJ2s7xer84//3w99NBDdc6v+dJZ4/bbb9fvf/97v2m33XZbncs+9thjGjRokFwul5YsWaLHH39cBQUFviMy9TV06FDfkYqdO3fq6aef1jnnnKPFixf7rr9rKLPvdWOq75Gsptj/I/XBw7nhhht04403yuv1asuWLXriiSf0u9/9TrNnz/bbJzPvf81+BPJ+Ub/++qumTp2qV155RbfffruWL1/ud+T6WH4uAfgjSAFoUp988onOOeccvfnmm37TCwoKFBcX53veqVMn/frrr3K5XI0yYEKNmiNONQzD0KZNm9S3b1/fdiUpMjJSQ4YMOeL6VqxYIZfLddjwWLNewzDUsWPHWl/667J27VpZLJZaf9E+eJ2zZ8/WGWecUa8vqnFxcbX26XAXno8bN079+/fXVVdddcjt15wu1dRfLDt16qSSkpJ6vSdS9ZHHg9se/Bf/Gn369PG1HT58uDIzM/X222/L7XabqrFdu3Z+2+zWrZtOP/10ffHFF0c99H993+ua/rt69epaR5LMSktLk9fr1caNG/2GHs/NzVVBQYHS0tL82h9p/9PS0jR79mwVFxf7HZVat26db3sHO1IfPJwTTjjBr56oqChde+21WrhwodLT033Tzbz/HTt2rPM1KSoqUnZ2tm9kzJp9Wb9+vU444QRfu6qqKm3durVW38zKylJpaalfH92wYYMk1Ro1cuLEiRo1apT69++vk08+WU8++aSeeOIJ3/xj+bkE4I9rpAA0KZvNVmuo42nTpmnXrl1+0y6//HLl5+frlVdeqbWOg5c345133lFxcbHv+SeffKLs7GwNHz5ckjRgwAB16tRJzz33nN9wwjV2795dq3abzVbn0OIHGjlypGw2myZOnFirfsMwtGfPHt9zt9utTz/9VKeeeuphT+278sor5fF4/L5EHbiOo7nmZ8GCBfryyy/11FNPHfLL2JVXXqldu3bp3//+d6155eXlKi0tbfD269rWggUL9N1339WaV1BQYDr0HI7X65XVaj3qL6E1w2E3xpDT9X2vhw4dqoiICE2aNKnW9W9mPzc1I2EePCJizZGOESNGHHb5g/f/wgsvlMfjqfWZfuGFF2SxWHyfwRr16YNm1Pf9ONz7f6jX5KWXXvKNNCpVXyvqcDj08ssv+73ub775pgoLC2u9dm63W6+//rrveVVVlV5//XW1bdtWAwYM8GtbM7piv3799MADD+jpp5/W6tWrffOP5ecSgD+OSAFoUr/73e/0+OOP6+abb9bpp5+uVatW6b333vP7q61UPSjEO++8o7Fjx2rRokUaNGiQSktLNXv2bP3pT3/SJZdc0qDtx8TE6Mwzz9TNN9+s3Nxcvfjii+rcubPvtC+r1ar//Oc/Gj58uHr16qWbb75Z7du3165duzR37lxFRkbq66+/VmlpqSZPnqyXX35ZXbt29bu3S00AW7lypRYsWKD09HR16tRJTz75pMaNG6dt27bp0ksvVUREhLZu3arPP/9ct99+ux544AHNnj1bf/3rX7Vy5Up9/fXXh92XwYMH64477tCkSZO0fPlyDR06VHa7XRs3btS0adP00ksv6YorrmjQ6zRz5kydf/75hz0CdMMNN+jjjz/WH//4R82dO1dnnHGGPB6P1q1bp48//ljffffdEY/UlZSUaMaMGX7T1q9fL0maN2+e7Ha72rdvrwcffFBfffWVfve73+mmm27SgAEDVFpaqlWrVumTTz7Rtm3b/I5omrF8+XKFh4fL7XZryZIleuedd3TJJZfUeQrm4WzZskXvvvuupOoBEl555RVFRkY2yoAT9X2vIyMj9cILL+jWW2/VKaecomuvvVZt2rTRihUrVFZWprfffrve2+zXr59GjRqlN954QwUFBRo8eLAWLVqkt99+W5deeqnOOeccU/t/0UUX6ZxzztEjjzyibdu2qV+/fpo5c6a+/PJL3XvvvbUGTahPHzyclStX6t1335VhGNq8ebNefvllJScn1+qTZt7/Xr166ZZbbtEbb7yhffv26eyzz9bSpUv11ltvafjw4b6g1bZtW40bN04TJ07UBRdcoIsvvljr16/Xq6++qlNOOUXXX3+933qTkpL09NNPa9u2beratas++ugjLV++XG+88cZhj8iPHz9en376qW677Tb98ssvslqtjfK5BNBAARotEEALVzP8+W+//XbYdhUVFcb9999vtGvXzggJCTHOOOMMY8GCBcbgwYNrDWtcVlZmPPLII0bHjh0Nu91uJCYmGldccYWxefNmwzAaNtT1Bx98YIwbN86Ij483QkJCjBEjRhjbt2+vtfyyZcuMkSNHGrGxsYbT6TTS0tKMK6+80pgzZ47fto/0OHhI6E8//dQ488wzjbCwMCMsLMzo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AIDmqEFBauPGjUds43A4NGrUqIasHgAAAACatQZdIzVlyhRNmzat1vRp06bp7bffPuqiAAAAAKA5a1CQmjRpkuLi4mpNj4+P19///vejLgoAAAAAmrMGBanMzEx17Nix1vS0tDRlZmYedVEAAAAA0Jw1KEjFx8dr5cqVtaavWLFCsbGxR10UAAAAADRnDQpS11xzje6++27NnTtXHo9HHo9H33//ve655x5dffXVjV0jAAAAADQrDRq174knntC2bdt03nnnKSioehVer1c33ngj10gBAAAAaPUaFKQcDoc++ugjPfHEE1qxYoVCQkLUp08fpaWlNXZ9AAAAANDsNChI1ejatau6du3aWLUAAAAAQIvQoCDl8Xg0depUzZkzR3l5efJ6vX7zv//++0YpDgAAAACaowYFqXvuuUdTp07ViBEj1Lt3b1kslsauCwAAAACarQYFqQ8//FAff/yxLrzwwsauBwAAAACavQYNf+5wONS5c+fGrgUAAAAAWoQGBan7779fL730kgzDaOx6AAAAAKDZa9CpfT///LPmzp2rb7/9Vr169ZLdbveb/9lnnzVKcQAAAADQHDUoSEVHR+uyyy5r7FoAAAAAoEVoUJCaMmVKY9cBAAAAAC1Gg66RkiS3263Zs2fr9ddfV3FxsSQpKytLJSUljVYcAAAAADRHDToitX37dl1wwQXKzMxUZWWlzj//fEVEROjpp59WZWWl/vWvfzV2nQAAAADQbDToiNQ999yjk08+Wfv27VNISIhv+mWXXaY5c+Y0WnEAAAAA0Bw16IjUTz/9pPnz58vhcPhN79Chg3bt2tUohQEAAABAc9WgI1Jer1cej6fW9J07dyoiIuKoiwIAAACA5qxBR6SGDh2qF198UW+88YYkyWKxqKSkROPHj9eFF17YqAUCAAAAaBkyMzOVn59verm4uDilpqY2QUVNp0FB6h//+IeGDRumnj17qqKiQtdee602btyouLg4ffDBB41dIwAAAIBmLjMzU9179FB5WZnpZUNCQ7UuI6NFhakGBank5GStWLFCH374oVauXKmSkhLdcsstuu666/wGnwAAAABwfMjPz1d5WZmue/hZJaR2qvdyuZmb9d7TDyo/P7/1BylJCgoK0vXXX9+YtQAAAABo4RJSOym5S69Al9HkGhSk3nnnncPOv/HGGxtUDAAAAAC0BA0K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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import seaborn as sns\n", + "import matplotlib.pyplot as plt\n", + "# Функция для оценки распределения цены\n", + "def plot_distribution(y_data, title):\n", + " plt.figure(figsize=(10, 6))\n", + " sns.histplot(y_data, kde=True, bins=50)\n", + " plt.title(title)\n", + " plt.xlabel('Price')\n", + " plt.ylabel('Frequency')\n", + " plt.grid(True)\n", + " plt.show()\n", + "\n", + "# Оценка распределения цены в каждой выборке\n", + "plot_distribution(y_train, \"Распределение цены в обучающей выборке\")\n", + "plot_distribution(y_val, \"Распределение цены в контрольной выборке\")\n", + "plot_distribution(y_test, \"Распределение цены в тестовой выборке\")\n" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Нормированные данные:\n", + " ID Levy Model Mileage Cylinders Airbags Age \\\n", + "0 0.993528 0.112841 0.781624 0.506810 0.333333 0.750 0.123457 \n", + "1 0.956715 0.080072 0.414097 0.523144 0.333333 0.500 0.111111 \n", + "2 0.998315 0.059689 0.430459 0.544942 0.200000 0.125 0.172840 \n", + "3 0.998107 0.066655 0.415985 0.460383 0.200000 0.000 0.111111 \n", + "4 0.999705 0.030876 0.430459 0.250404 0.200000 0.250 0.074074 \n", + "\n", + " Leather Interior Manufacturer_ALFA ROMEO Manufacturer_ASTON MARTIN ... \\\n", + "0 1.0 0.0 0.0 ... \n", + "1 0.0 0.0 0.0 ... \n", + "2 0.0 0.0 0.0 ... \n", + "3 1.0 0.0 0.0 ... \n", + "4 1.0 0.0 0.0 ... \n", + "\n", + " Color_Orange Color_Pink Color_Purple Color_Red Color_Silver \\\n", + "0 0.0 0.0 0.0 0.0 1.0 \n", + "1 0.0 0.0 0.0 0.0 0.0 \n", + "2 0.0 0.0 0.0 0.0 0.0 \n", + "3 0.0 0.0 0.0 0.0 0.0 \n", + "4 0.0 0.0 0.0 0.0 1.0 \n", + "\n", + " Color_Sky blue Color_White Color_Yellow Drive wheels_Front \\\n", + "0 0.0 0.0 0.0 0.0 \n", + "1 0.0 0.0 0.0 0.0 \n", + "2 0.0 0.0 0.0 1.0 \n", + "3 0.0 1.0 0.0 0.0 \n", + "4 0.0 0.0 0.0 1.0 \n", + "\n", + " Drive wheels_Rear \n", + "0 0.0 \n", + "1 0.0 \n", + "2 0.0 \n", + "3 0.0 \n", + "4 0.0 \n", + "\n", + "[5 rows x 217 columns]\n", + "\n", + "Стандартизированные данные:\n", + " ID Levy Model Mileage Cylinders Airbags Age \\\n", + "0 0.083141 1.359450 0.923579 0.537156 1.180937 1.254005 0.161034 \n", + "1 -0.902262 0.382603 -0.498032 0.603282 1.180937 0.328091 -0.015379 \n", + "2 0.211286 -0.225042 -0.434741 0.691523 -0.485866 -1.060780 0.866685 \n", + "3 0.205697 -0.017366 -0.490729 0.349214 -0.485866 -1.523737 -0.015379 \n", + "4 0.248490 -1.083950 -0.434741 -0.500823 -0.485866 -0.597823 -0.544617 \n", + "\n", + " Leather Interior Manufacturer_ALFA ROMEO Manufacturer_ASTON MARTIN ... \\\n", + "0 0.615306 -0.014421 -0.00721 ... \n", + "1 -1.625208 -0.014421 -0.00721 ... \n", + "2 -1.625208 -0.014421 -0.00721 ... \n", + "3 0.615306 -0.014421 -0.00721 ... \n", + "4 0.615306 -0.014421 -0.00721 ... \n", + "\n", + " Color_Orange Color_Pink Color_Purple Color_Red Color_Silver \\\n", + "0 -0.115443 -0.036788 -0.045072 -0.185361 2.018180 \n", + "1 -0.115443 -0.036788 -0.045072 -0.185361 -0.495496 \n", + "2 -0.115443 -0.036788 -0.045072 -0.185361 -0.495496 \n", + "3 -0.115443 -0.036788 -0.045072 -0.185361 -0.495496 \n", + "4 -0.115443 -0.036788 -0.045072 -0.185361 2.018180 \n", + "\n", + " Color_Sky blue Color_White Color_Yellow Drive wheels_Front \\\n", + "0 -0.07989 -0.551707 -0.074436 -1.422413 \n", + "1 -0.07989 -0.551707 -0.074436 -1.422413 \n", + "2 -0.07989 -0.551707 -0.074436 0.703031 \n", + "3 -0.07989 1.812557 -0.074436 -1.422413 \n", + "4 -0.07989 -0.551707 -0.074436 0.703031 \n", + "\n", + " Drive wheels_Rear \n", + "0 -0.368962 \n", + "1 -0.368962 \n", + "2 -0.368962 \n", + "3 -0.368962 \n", + "4 -0.368962 \n", + "\n", + "[5 rows x 217 columns]\n" + ] + } + ], + "source": [ + "from sklearn.preprocessing import MinMaxScaler, StandardScaler\n", + "\n", + "# Предполагаем, что вы уже выделили ваши признаки X\n", + "# Применение нормировки Min-Max к всем числовым признакам\n", + "min_max_scaler = MinMaxScaler()\n", + "X_normalized = pd.DataFrame(min_max_scaler.fit_transform(X), columns=X.columns)\n", + "\n", + "# Применение стандартизации к всем числовым признакам\n", + "standard_scaler = StandardScaler()\n", + "X_standardized = pd.DataFrame(standard_scaler.fit_transform(X), columns=X.columns)\n", + "\n", + "# Проверка первых 5 строк после нормировки\n", + "print(\"Нормированные данные:\")\n", + "print(X_normalized.head())\n", + "\n", + "# Проверка первых 5 строк после стандартизации\n", + "print(\"\\nСтандартизированные данные:\")\n", + "print(X_standardized.head())" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## пример использование feature tools \n", + "попытаюсь вынести model в отдельную таблицу" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Requirement already satisfied: featuretools in d:\\мии\\aim-pibd-31-kouvshinoff-t-a\\laba\\lib\\site-packages (1.31.0)Note: you may need to restart the kernel to use updated packages.\n", + "\n", + "Requirement already satisfied: cloudpickle>=1.5.0 in d:\\мии\\aim-pibd-31-kouvshinoff-t-a\\laba\\lib\\site-packages (from featuretools) (3.1.0)\n", + "Requirement already satisfied: holidays>=0.17 in d:\\мии\\aim-pibd-31-kouvshinoff-t-a\\laba\\lib\\site-packages (from featuretools) (0.58)\n", + "Requirement already satisfied: numpy>=1.25.0 in d:\\мии\\aim-pibd-31-kouvshinoff-t-a\\laba\\lib\\site-packages (from featuretools) (2.1.1)\n", + "Requirement already satisfied: packaging>=20.0 in d:\\мии\\aim-pibd-31-kouvshinoff-t-a\\laba\\lib\\site-packages (from featuretools) (24.1)\n", + "Requirement already satisfied: pandas>=2.0.0 in d:\\мии\\aim-pibd-31-kouvshinoff-t-a\\laba\\lib\\site-packages (from featuretools) (2.2.2)\n", + "Requirement already satisfied: psutil>=5.7.0 in d:\\мии\\aim-pibd-31-kouvshinoff-t-a\\laba\\lib\\site-packages (from featuretools) (6.0.0)\n", + "Requirement already satisfied: scipy>=1.10.0 in d:\\мии\\aim-pibd-31-kouvshinoff-t-a\\laba\\lib\\site-packages (from featuretools) (1.14.1)\n", + "Requirement already satisfied: tqdm>=4.66.3 in d:\\мии\\aim-pibd-31-kouvshinoff-t-a\\laba\\lib\\site-packages (from featuretools) (4.66.5)\n", + "Requirement already satisfied: woodwork>=0.28.0 in d:\\мии\\aim-pibd-31-kouvshinoff-t-a\\laba\\lib\\site-packages (from featuretools) (0.31.0)\n", + "Requirement already satisfied: python-dateutil in d:\\мии\\aim-pibd-31-kouvshinoff-t-a\\laba\\lib\\site-packages (from holidays>=0.17->featuretools) (2.9.0.post0)\n", + "Requirement already satisfied: pytz>=2020.1 in d:\\мии\\aim-pibd-31-kouvshinoff-t-a\\laba\\lib\\site-packages (from pandas>=2.0.0->featuretools) (2024.1)\n", + "Requirement already satisfied: tzdata>=2022.7 in d:\\мии\\aim-pibd-31-kouvshinoff-t-a\\laba\\lib\\site-packages (from pandas>=2.0.0->featuretools) (2024.1)\n", + "Requirement already satisfied: colorama in d:\\мии\\aim-pibd-31-kouvshinoff-t-a\\laba\\lib\\site-packages (from tqdm>=4.66.3->featuretools) (0.4.6)\n", + "Requirement already satisfied: scikit-learn>=1.1.0 in d:\\мии\\aim-pibd-31-kouvshinoff-t-a\\laba\\lib\\site-packages (from woodwork>=0.28.0->featuretools) (1.5.2)\n", + "Requirement already satisfied: importlib-resources>=5.10.0 in d:\\мии\\aim-pibd-31-kouvshinoff-t-a\\laba\\lib\\site-packages (from woodwork>=0.28.0->featuretools) (6.4.5)\n", + "Requirement already satisfied: six>=1.5 in d:\\мии\\aim-pibd-31-kouvshinoff-t-a\\laba\\lib\\site-packages (from python-dateutil->holidays>=0.17->featuretools) (1.16.0)\n", + "Requirement already satisfied: joblib>=1.2.0 in d:\\мии\\aim-pibd-31-kouvshinoff-t-a\\laba\\lib\\site-packages (from scikit-learn>=1.1.0->woodwork>=0.28.0->featuretools) (1.4.2)\n", + "Requirement already satisfied: threadpoolctl>=3.1.0 in d:\\мии\\aim-pibd-31-kouvshinoff-t-a\\laba\\lib\\site-packages (from scikit-learn>=1.1.0->woodwork>=0.28.0->featuretools) (3.5.0)\n" + ] + } + ], + "source": [ + "pip install --upgrade featuretools" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Requirement already satisfied: setuptools in d:\\мии\\aim-pibd-31-kouvshinoff-t-a\\laba\\lib\\site-packages (75.2.0)\n", + "Note: you may need to restart the kernel to use updated packages.\n" + ] + } + ], + "source": [ + "pip install --upgrade setuptools" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "d:\\МИИ\\AIM-PIbd-31-Kouvshinoff-T-A\\laba\\Lib\\site-packages\\featuretools\\entityset\\entityset.py:1733: UserWarning: index car_id not found in dataframe, creating new integer column\n", + " warnings.warn(\n", + "d:\\МИИ\\AIM-PIbd-31-Kouvshinoff-T-A\\laba\\Lib\\site-packages\\featuretools\\synthesis\\dfs.py:321: UnusedPrimitiveWarning: Some specified primitives were not used during DFS:\n", + " trans_primitives: ['hour', 'weekday']\n", + " agg_primitives: ['any', 'mode']\n", + "This may be caused by a using a value of max_depth that is too small, not setting interesting values, or it may indicate no compatible columns for the primitive were found in the data. If the DFS call contained multiple instances of a primitive in the list above, none of them were used.\n", + " warnings.warn(warning_msg, UnusedPrimitiveWarning)\n", + "d:\\МИИ\\AIM-PIbd-31-Kouvshinoff-T-A\\laba\\Lib\\site-packages\\featuretools\\computational_backends\\feature_set_calculator.py:785: FutureWarning: The provided callable is currently using SeriesGroupBy.mean. In a future version of pandas, the provided callable will be used directly. To keep current behavior pass the string \"mean\" instead.\n", + " ).agg(to_agg)\n" + ] + }, + { + "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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
IDPriceLevyMileageCylindersAirbagsAgeLeather InteriorManufacturer_ALFA ROMEOManufacturer_ASTON MARTIN...model_table.MEAN(car_features.Manufacturer_TOYOTA)model_table.MEAN(car_features.Manufacturer_UAZ)model_table.MEAN(car_features.Manufacturer_VAZ)model_table.MEAN(car_features.Manufacturer_VOLKSWAGEN)model_table.MEAN(car_features.Manufacturer_VOLVO)model_table.MEAN(car_features.Manufacturer_ZAZ)model_table.MEAN(car_features.Manufacturer_სხვა)model_table.MEAN(car_features.Mileage)model_table.MEAN(car_features.Price)model_table.MEAN(car_features.Wheel_Right-hand drive)
car_id
045654403133281399.01860056.0121410.00.0...0.00.00.00.00.00.00.0186005.013328.00.0
144731507166211018.01920006.081300.00.0...0.00.00.00.00.00.00.0192000.016621.00.0
2457744198467781.02000004.021800.00.0...0.00.00.00.00.00.00.0200000.08467.01.0
3457691853607862.01689664.001310.00.0...0.00.00.00.00.00.00.0168966.03607.00.0
44580926311726446.0919014.041010.00.0...0.00.00.00.00.00.00.091901.011726.00.0
..................................................................
19232457983558467781.03000004.052510.00.0...0.00.00.00.00.00.00.0300000.08467.00.0
192334577885615681831.01616004.081310.00.0...0.00.00.00.00.00.00.0161600.015681.00.0
192344580499726108836.01163654.041410.00.0...0.00.00.00.00.00.00.0116365.026108.00.0
192354579352653311288.0512584.041710.00.0...0.00.00.00.00.00.00.051258.05331.00.0
1923645813273470753.01869234.0121210.00.0...0.00.00.00.00.00.00.0186923.0470.00.0
\n", + "

19237 rows × 438 columns

\n", + "
" + ], + "text/plain": [ + " ID Price Levy Mileage Cylinders Airbags Age \\\n", + "car_id \n", + "0 45654403 13328 1399.0 186005 6.0 12 14 \n", + "1 44731507 16621 1018.0 192000 6.0 8 13 \n", + "2 45774419 8467 781.0 200000 4.0 2 18 \n", + "3 45769185 3607 862.0 168966 4.0 0 13 \n", + "4 45809263 11726 446.0 91901 4.0 4 10 \n", + "... ... ... ... ... ... ... ... \n", + "19232 45798355 8467 781.0 300000 4.0 5 25 \n", + "19233 45778856 15681 831.0 161600 4.0 8 13 \n", + "19234 45804997 26108 836.0 116365 4.0 4 14 \n", + "19235 45793526 5331 1288.0 51258 4.0 4 17 \n", + "19236 45813273 470 753.0 186923 4.0 12 12 \n", + "\n", + " Leather Interior Manufacturer_ALFA ROMEO Manufacturer_ASTON MARTIN \\\n", + "car_id \n", + "0 1 0.0 0.0 \n", + "1 0 0.0 0.0 \n", + "2 0 0.0 0.0 \n", + "3 1 0.0 0.0 \n", + "4 1 0.0 0.0 \n", + "... ... ... ... \n", + "19232 1 0.0 0.0 \n", + "19233 1 0.0 0.0 \n", + "19234 1 0.0 0.0 \n", + "19235 1 0.0 0.0 \n", + "19236 1 0.0 0.0 \n", + "\n", + " ... model_table.MEAN(car_features.Manufacturer_TOYOTA) \\\n", + "car_id ... \n", + "0 ... 0.0 \n", + "1 ... 0.0 \n", + "2 ... 0.0 \n", + "3 ... 0.0 \n", + "4 ... 0.0 \n", + "... ... ... \n", + "19232 ... 0.0 \n", + "19233 ... 0.0 \n", + "19234 ... 0.0 \n", + "19235 ... 0.0 \n", + "19236 ... 0.0 \n", + "\n", + " model_table.MEAN(car_features.Manufacturer_UAZ) \\\n", + "car_id \n", + "0 0.0 \n", + "1 0.0 \n", + "2 0.0 \n", + "3 0.0 \n", + "4 0.0 \n", + "... ... \n", + "19232 0.0 \n", + "19233 0.0 \n", + "19234 0.0 \n", + "19235 0.0 \n", + "19236 0.0 \n", + "\n", + " model_table.MEAN(car_features.Manufacturer_VAZ) \\\n", + "car_id \n", + "0 0.0 \n", + "1 0.0 \n", + "2 0.0 \n", + "3 0.0 \n", + "4 0.0 \n", + "... ... \n", + "19232 0.0 \n", + "19233 0.0 \n", + "19234 0.0 \n", + "19235 0.0 \n", + "19236 0.0 \n", + "\n", + " model_table.MEAN(car_features.Manufacturer_VOLKSWAGEN) \\\n", + "car_id \n", + "0 0.0 \n", + "1 0.0 \n", + "2 0.0 \n", + "3 0.0 \n", + "4 0.0 \n", + "... ... \n", + "19232 0.0 \n", + "19233 0.0 \n", + "19234 0.0 \n", + "19235 0.0 \n", + "19236 0.0 \n", + "\n", + " model_table.MEAN(car_features.Manufacturer_VOLVO) \\\n", + "car_id \n", + "0 0.0 \n", + "1 0.0 \n", + "2 0.0 \n", + "3 0.0 \n", + "4 0.0 \n", + "... ... \n", + "19232 0.0 \n", + "19233 0.0 \n", + "19234 0.0 \n", + "19235 0.0 \n", + "19236 0.0 \n", + "\n", + " model_table.MEAN(car_features.Manufacturer_ZAZ) \\\n", + "car_id \n", + "0 0.0 \n", + "1 0.0 \n", + "2 0.0 \n", + "3 0.0 \n", + "4 0.0 \n", + "... ... \n", + "19232 0.0 \n", + "19233 0.0 \n", + "19234 0.0 \n", + "19235 0.0 \n", + "19236 0.0 \n", + "\n", + " model_table.MEAN(car_features.Manufacturer_სხვა) \\\n", + "car_id \n", + "0 0.0 \n", + "1 0.0 \n", + "2 0.0 \n", + "3 0.0 \n", + "4 0.0 \n", + "... ... \n", + "19232 0.0 \n", + "19233 0.0 \n", + "19234 0.0 \n", + "19235 0.0 \n", + "19236 0.0 \n", + "\n", + " model_table.MEAN(car_features.Mileage) \\\n", + "car_id \n", + "0 186005.0 \n", + "1 192000.0 \n", + "2 200000.0 \n", + "3 168966.0 \n", + "4 91901.0 \n", + "... ... \n", + "19232 300000.0 \n", + "19233 161600.0 \n", + "19234 116365.0 \n", + "19235 51258.0 \n", + "19236 186923.0 \n", + "\n", + " model_table.MEAN(car_features.Price) \\\n", + "car_id \n", + "0 13328.0 \n", + "1 16621.0 \n", + "2 8467.0 \n", + "3 3607.0 \n", + "4 11726.0 \n", + "... ... \n", + "19232 8467.0 \n", + "19233 15681.0 \n", + "19234 26108.0 \n", + "19235 5331.0 \n", + "19236 470.0 \n", + "\n", + " model_table.MEAN(car_features.Wheel_Right-hand drive) \n", + "car_id \n", + "0 0.0 \n", + "1 0.0 \n", + "2 1.0 \n", + "3 0.0 \n", + "4 0.0 \n", + "... ... \n", + "19232 0.0 \n", + "19233 0.0 \n", + "19234 0.0 \n", + "19235 0.0 \n", + "19236 0.0 \n", + "\n", + "[19237 rows x 438 columns]" + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import featuretools as ft\n", + "from woodwork.logical_types import Categorical, Integer\n", + "# Создание двух таблиц: одна с моделью, другая с остальными данными\n", + "model_df = df[['ID', 'Model']].drop_duplicates().reset_index(drop=True)\n", + "other_df = df.drop(columns=['Model'])\n", + "\n", + "# Создание уникального идентификатора для связи\n", + "model_df['model_id'] = model_df.index\n", + "other_df['model_id'] = other_df['ID'].map(model_df.set_index('ID')['model_id'])\n", + "\n", + "es = ft.EntitySet(id=\"orders\")\n", + "es = es.add_dataframe(\n", + " dataframe_name=\"model_table\",\n", + " dataframe=model_df,\n", + " index=\"model_id\", # Индекс для уникальной идентификации моделей\n", + " logical_types={\n", + " \"Model\": Categorical # Определяем логический тип для модели\n", + " },\n", + ")\n", + "es = es.add_dataframe(\n", + " dataframe_name=\"car_features\",\n", + " dataframe=other_df,\n", + " index=\"car_id\", # Индекс для уникальной идентификации автомобилей\n", + " logical_types={\n", + " \"Price\": Integer, # Целевая переменная (цена)\n", + " \"Mileage\": Integer, # Пробег (числовой признак)\n", + " \"model_id\": Integer, # Пробег (числовой признак)\n", + " },\n", + ")\n", + "es = es.add_relationship(\"model_table\", \"model_id\", \"car_features\", \"model_id\")\n", + "\n", + "feature_matrix, feature_defs = ft.dfs(\n", + " entityset=es,\n", + " target_dataframe_name=\"car_features\",\n", + " agg_primitives=[\"mean\", \"count\", \"mode\", \"any\"],\n", + " trans_primitives=[\"hour\", \"weekday\"],\n", + " max_depth=2,\n", + ")\n", + "\n", + "feature_matrix" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "laba", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.6" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +}