diff --git a/lab_3/Lab3.ipynb b/lab_3/Lab3.ipynb
index e37d516..6ad94cc 100644
--- a/lab_3/Lab3.ipynb
+++ b/lab_3/Lab3.ipynb
@@ -4,77 +4,159 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "# Приступаем к работе...\n",
+ "*Вариант задания:* Заработная плата рабочих мест в области Data Science (вариант - 8) \n",
"\n",
- "*Вариант задания:* Продажи домов в округе Кинг (вариант - 6) \n",
- "Определим бизнес-цели и цели технического проекта \n",
+ "Бизнес-цели для датасета о заработной плате в Data Science:\n",
+ "Оптимизация стратегии найма и оплаты труда в Data Science\n",
"\n",
- "### Бизнес-цели: \n",
- "1. Оптимизация процесса оценки стоимости дома \n",
+ "Формулировка: Разработать модель, которая позволяет точно прогнозировать и оптимизировать заработную плату для специалистов в области Data Science на основе их опыта, типа занятости, местоположения и других факторов.\n",
"\n",
- "**Формулировка:** Разработать модель, которая позволяет автоматически и точно оценивать стоимость дома на основании его характеристик (таких как площадь, количество комнат, состояние, местоположение). \n",
- "**Цель:** Увеличить точность оценки стоимости недвижимости для агенств и потенциальных покупателей, а также сократить время и затраты на оценку недвижимости, обеспечивая более точное предсказание цены. \n",
+ "Цель: Увеличить привлекательность компании для талантливых специалистов в Data Science, обеспечивая конкурентоспособные зарплаты, а также оптимизировать расходы на персонал, избегая переплат и недоплат.\n",
"\n",
- "**Ключевые показатели успеха (KPI):** \n",
- "*Точность модели прогнозирования* (RMSE): Минимизация среднеквадратичной ошибки до уровня ниже 10% от реальной цены, чтобы учитывать большие отклонения оценке.\n",
- "*Средная абсолютная ошибка* (MAE): Модель должна предсказать цену с минимальной ошибкой и снизить MAE до 5% или меньше учитывая большие отклонения в оценке. \n",
- "*Скорость оценки:* Уменьшение времени на оценку стоимости дома, чтобы быстрее получать результат.\n",
- "*Доступность:* Внедрение модели в реальную систему для использования агентами недвижимости.\n",
+ "Ключевые показатели успеха (KPI):\n",
"\n",
- "2. Оптимизация затрат на ремонт перед продажей \n",
+ "Точность модели прогнозирования зарплаты (RMSE): Минимизация среднеквадратичной ошибки до уровня ниже 10% от реальной зарплаты, чтобы учитывать большие отклонения в оценке.\n",
"\n",
- "**Формулировка:** Разработать модель, которая поможет продавцам домов и агентствам недвижимости определить, какие улучшения или реновации дадут наибольший прирост стоимости дома при минимальных затратах. Это поможет избежать ненужных расходов и максимизировать прибыль от продажи. \n",
- "**Цель:** Снизить затраты на ремонт перед продажей, рекомендовать только те улучшения, которые максимально увеличат стоимость недвижимости, и сократить время на принятие решений по реновациям. \n",
+ "Средняя абсолютная ошибка (MAE): Модель должна предсказать зарплату с минимальной ошибкой и снизить MAE до 5% или меньше, учитывая большие отклонения в оценке.\n",
"\n",
- "**Ключевые показатели успеха (KPI):** \n",
- "*Возврат инвестиций* (ROI): Продавцы должны получать не менее 20% прироста стоимости дома на каждый вложенный доллар в реновацию. Например, если на ремонт было потрачено $10,000, цена дома должна увеличиться как минимум на $12,000. \n",
- "*Средняя стоимость ремонта на 1 сделку* (CPA): Задача снизить расходы на ремонт, минимизировав ненужные траты. Например, оптимизация затрат до $5,000 на дом с учетом максимального прироста в цене. \n",
- "*Сокращение времени на принятие решений:* Модель должна сокращать время, необходимое на оценку вариантов реноваций, до нескольких минут, что ускорит подготовку дома к продажи.\n",
+ "Скорость оценки зарплаты: Уменьшение времени на оценку зарплаты для новых сотрудников, чтобы быстрее принимать решения о найме.\n",
"\n",
- "### Технические цели проекта для каждой выделенной бизнес-цели\n",
+ "Доступность: Внедрение модели в систему управления персоналом для использования HR-специалистами.\n",
"\n",
- "1. **Создание модели для точной оценки стоимости дома.** \n",
- "*Сбор и подготовка данных:* Очистка данных от пропусков, выбросов, дубликатов (аномальных значений в столбцах price, sqft_living, bedrooms). Преобразование категориальных переменных (view, condition, waterfront) в числовую форму с применением One-Hot-Encoding. Нормализация и стандартизация с применением методов масштабирования данных (нормировка, стандартизация для числовых признаков, чтобы привести их к 1ому масштабу). Разбиение набора данных на обучающую, контрольную и тестовую выборки для предотвращения утечек данных и переобучения. \n",
- "*Разработка и обучение модели:* Исследование моделей машинного обучения, проводя эксперименты с различными алгоритмами (линейная регрессия, случайный лес, градиентный бустинг, деревья решений) для предсказания стоимости недвижимости. Обучение модели на обучающей выборке с использованием метрик оценки качества, таких как RMSE (Root Mean Square Error) и MAE (Mean Absolute Error). Оценка качества моделей на тестовой выборке, минимизируя MAE и RMSE для получения точных прогнозов стоимости. \n",
- "*Развёртывание модели:* Интеграция модели в существующую систему или разработка API для доступа к модели с недвижимостью и частными продавцами. Создание веб-приложения или мобильного интерфейса для удобного использования модели и получения прогнозов в режиме реального времени.\n",
+ "Оптимизация распределения ресурсов в компании\n",
"\n",
- "2. **Разработка модели для рекомендаций по реновациям.** \n",
- "*Сбор и подготовка данных:* Сбор данных о типах и стоимости реноваций, а также их влияние на конечную стоимость дома. Очистка и устранение неточных или неполных данных о ремонтах. Преобразование категориальных признаков (реновации, например, обновление крыши, замена окон) в числовой формат для представления этих данных с применением One-Hot-Encoding. Разбиение данных на обучающую и тестовую выборки для обучения модели. \n",
- "*Разработка и обучение модели:* Использование модели регрессий (линейная регрессия, случайный лес) для предсказания и моделирования влияния конкретных реноваций на увеличение стоимости недвижимости. Оценка метрики (CPA - Cost Per Acquisition) оценка затрат на реновацию одной продажи и (ROI - Return on Investment) расчёт возврата на инвестиции от реновации дома, прирост стоимости после реновации. Обучение модели с целью прогнозирования изменений, которые могут принести наибольшую пользу для стоимости домов и реноваций. \n",
- "*Развёртывание модели:* Создание интерфейса, где пользователи смогут вводить информацию о текущем состоянии дома и получать рекомендации по реновациям с расчётом ROI. Создать рекомендационную систему для продавцов недвижимости, которая будет предлагать набор реноваций.\n"
+ "Формулировка: Разработать модель, которая поможет компаниям определить оптимальное распределение ресурсов (бюджета) на Data Science проекты и команды, учитывая уровень зарплат, опыт и другие факторы.\n",
+ "\n",
+ "Цель: Снизить затраты на Data Science проекты, оптимизировать распределение бюджета, обеспечивая максимальную эффективность и результативность проектов.\n",
+ "\n",
+ "Ключевые показатели успеха (KPI):\n",
+ "\n",
+ "Возврат инвестиций (ROI): Проекты должны показывать не менее 20% прироста в результатах (например, увеличение прибыли, улучшение показателей) на каждый вложенный доллар в Data Science.\n",
+ "\n",
+ "Средняя стоимость проекта на 1 сотрудника (CPA): Задача снизить расходы на проекты, минимизировав ненужные траты. Например, оптимизация затрат до $50,000 на проект с учетом максимального прироста в результатах.\n",
+ "\n",
+ "Сокращение времени на принятие решений: Модель должна сокращать время, необходимое на оценку вариантов распределения ресурсов, до нескольких минут, что ускорит принятие решений.\n",
+ "\n",
+ "Оптимизация стратегии развития карьеры в Data Science\n",
+ "\n",
+ "Формулировка: Разработать модель, которая поможет специалистам в Data Science определить оптимальные пути развития карьеры, учитывая текущий уровень зарплаты, опыт и перспективы роста.\n",
+ "\n",
+ "Цель: Повысить удовлетворенность и мотивацию специалистов в Data Science, обеспечивая им четкие пути развития карьеры и возможность получения конкурентоспособных зарплат.\n",
+ "\n",
+ "Ключевые показатели успеха (KPI):\n",
+ "\n",
+ "Уровень удовлетворенности сотрудников: Увеличение уровня удовлетворенности сотрудников на 15% за счет предоставления четких путей развития карьеры и возможностей для роста.\n",
+ "\n",
+ "Средний срок пребывания в компании: Увеличение среднего срока пребывания сотрудников в компании на 20% за счет предоставления привлекательных перспектив развития.\n",
+ "\n",
+ "Доступность: Внедрение модели в систему управления карьерой для использования сотрудниками и HR-специалистами.\n",
+ "\n",
+ "**Технические цели проекта для каждой выделенной бизнес-цели**\n",
+ "\n",
+ "Оптимизация стратегии найма и оплаты труда в Data Science\n",
+ "\n",
+ "Сбор и подготовка данных:\n",
+ "\n",
+ "Сбор данных: Получение данных о заработных платах специалистов в Data Science из различных источников (например, Glassdoor, LinkedIn, Kaggle).\n",
+ "\n",
+ "Очистка данных: Удаление пропусков, выбросов и дубликатов. Преобразование категориальных переменных (например, experience_level, employment_type, employee_residence, company_location) в числовую форму с использованием One-Hot Encoding.\n",
+ "\n",
+ "Нормализация и стандартизация: Применение методов масштабирования данных (нормировка, стандартизация) для числовых признаков (например, salary_in_usd, remote_ratio).\n",
+ "\n",
+ "Разбиение данных: Разделение набора данных на обучающую, контрольную и тестовую выборки для предотвращения утечек данных и переобучения.\n",
+ "\n",
+ "Разработка и обучение модели:\n",
+ "\n",
+ "Исследование моделей: Эксперименты с различными алгоритмами (линейная регрессия, случайный лес, градиентный бустинг, деревья решений) для предсказания заработной платы.\n",
+ "\n",
+ "Обучение модели: Обучение модели на обучающей выборке с использованием метрик оценки качества, таких как RMSE (Root Mean Square Error) и MAE (Mean Absolute Error).\n",
+ "\n",
+ "Оценка качества: Оценка качества моделей на тестовой выборке, минимизируя MAE и RMSE для получения точных прогнозов заработной платы.\n",
+ "\n",
+ "Развёртывание модели:\n",
+ "\n",
+ "Интеграция модели: Интеграция модели в существующую систему управления персоналом или разработка API для доступа к модели.\n",
+ "\n",
+ "Создание интерфейса: Создание веб-приложения или мобильного интерфейса для удобного использования модели и получения прогнозов в режиме реального времени.\n",
+ "\n",
+ "Оптимизация распределения ресурсов в компании\n",
+ "\n",
+ "Сбор и подготовка данных:\n",
+ "\n",
+ "Сбор данных: Получение данных о затратах на Data Science проекты, результатах проектов, уровнях зарплат сотрудников и других релевантных факторов.\n",
+ "\n",
+ "Очистка данных: Удаление пропусков, выбросов и дубликатов. Преобразование категориальных переменных в числовую форму с использованием One-Hot Encoding.\n",
+ "\n",
+ "Нормализация и стандартизация: Применение методов масштабирования данных для числовых признаков.\n",
+ "\n",
+ "Разбиение данных: Разделение набора данных на обучающую, контрольную и тестовую выборки.\n",
+ "\n",
+ "Разработка и обучение модели:\n",
+ "\n",
+ "Исследование моделей: Эксперименты с различными алгоритмами (линейная регрессия, случайный лес, градиентный бустинг) для предсказания оптимального распределения ресурсов.\n",
+ "\n",
+ "Обучение модели: Обучение модели на обучающей выборке с использованием метрик оценки качества, таких как ROI (Return on Investment) и CPA (Cost Per Acquisition).\n",
+ "\n",
+ "Оценка качества: Оценка качества моделей на тестовой выборке, минимизируя CPA и максимизируя ROI.\n",
+ "\n",
+ "Развёртывание модели:\n",
+ "\n",
+ "Интеграция модели: Интеграция модели в систему управления проектами или разработка API для доступа к модели.\n",
+ "\n",
+ "Создание интерфейса: Создание веб-приложения или мобильного интерфейса для удобного использования модели и получения рекомендаций по распределению ресурсов.\n",
+ "\n",
+ "Оптимизация стратегии развития карьеры в Data Science\n",
+ "\n",
+ "Сбор и подготовка данных:\n",
+ "\n",
+ "Сбор данных: Получение данных о карьерных траекториях специалистов в Data Science, уровнях зарплат, опыте и других релевантных факторах.\n",
+ "\n",
+ "Очистка данных: Удаление пропусков, выбросов и дубликатов. Преобразование категориальных переменных в числовую форму с использованием One-Hot Encoding.\n",
+ "\n",
+ "Нормализация и стандартизация: Применение методов масштабирования данных для числовых признаков.\n",
+ "\n",
+ "Разбиение данных: Разделение набора данных на обучающую, контрольную и тестовую выборки.\n",
+ "\n",
+ "Разработка и обучение модели:\n",
+ "\n",
+ "Исследование моделей: Эксперименты с различными алгоритмами (линейная регрессия, случайный лес, градиентный бустинг) для предсказания оптимальных путей развития карьеры.\n",
+ "\n",
+ "Обучение модели: Обучение модели на обучающей выборке с использованием метрик оценки качества, таких как MAE (Mean Absolute Error) и RMSE (Root Mean Square Error).\n",
+ "\n",
+ "Оценка качества: Оценка качества моделей на тестовой выборке, минимизируя MAE и RMSE.\n",
+ "\n",
+ "Развёртывание модели:\n",
+ "\n",
+ "Интеграция модели: Интеграция модели в систему управления карьерой или разработка API для доступа к модели.\n",
+ "\n",
+ "Создание интерфейса: Создание веб-приложения или мобильного интерфейса для удобного использования модели и получения рекомендаций по развитию карьеры."
]
},
{
"cell_type": "code",
- "execution_count": 23,
+ "execution_count": 2,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
- "Index(['id', 'date', 'price', 'bedrooms', 'bathrooms', 'sqft_living',\n",
- " 'sqft_lot', 'floors', 'waterfront', 'view', 'condition', 'grade',\n",
- " 'sqft_above', 'sqft_basement', 'yr_built', 'yr_renovated', 'zipcode',\n",
- " 'lat', 'long', 'sqft_living15', 'sqft_lot15'],\n",
+ "Index(['work_year', 'experience_level', 'employment_type', 'job_title',\n",
+ " 'salary', 'salary_currency', 'salary_in_usd', 'employee_residence',\n",
+ " 'remote_ratio', 'company_location', 'company_size'],\n",
" dtype='object')\n"
]
}
],
"source": [
"import pandas as pd\n",
- "import matplotlib.pyplot as plt\n",
- "import matplotlib.ticker as ticker\n",
- "import seaborn as sns\n",
- "\n",
- "# Подключим датафрейм и выгрузим данные\n",
- "df = pd.read_csv(\".//static//csv//kc_house_data.csv\")\n",
+ "df = pd.read_csv(\"..//static//csv//ds_salaries.csv\")\n",
"print(df.columns)"
]
},
{
"cell_type": "code",
- "execution_count": 24,
+ "execution_count": 3,
"metadata": {},
"outputs": [
{
@@ -98,188 +180,118 @@
" \n",
"
"
]
@@ -803,36 +620,42 @@
"name": "stdout",
"output_type": "stream",
"text": [
- "Размер обучающей выборки после oversampling и undersampling: 17620\n"
+ "Размер обучающей выборки после oversampling и undersampling: 3044\n"
]
}
],
"source": [
+ "import pandas as pd\n",
+ "import seaborn as sns\n",
+ "import matplotlib.pyplot as plt\n",
"from sklearn.model_selection import train_test_split\n",
"from imblearn.over_sampling import RandomOverSampler\n",
"from imblearn.under_sampling import RandomUnderSampler\n",
"\n",
- "# Преобразование целевой переменной (цены) в категориальные диапазоны с использованием квантилей\n",
- "train_data['price_category'] = pd.qcut(train_data['price'], q=4, labels=['low', 'medium', 'high', 'very_high'])\n",
+ "# Предположим, что у вас уже есть данные, разделенные на обучающую, контрольную и тестовую выборки\n",
+ "# train_data, val_data, test_data\n",
"\n",
- "# Визуализация распределения цен после преобразования в категории\n",
- "sns.countplot(x=train_data['price_category'])\n",
- "plt.title('Распределение категорий цены в обучающей выборке')\n",
- "plt.xlabel('Категория цены')\n",
+ "# Преобразование целевой переменной (заработная плата) в категориальные диапазоны с использованием квантилей\n",
+ "train_data['salary_category'] = pd.qcut(train_data['salary_in_usd'], q=4, labels=['low', 'medium', 'high', 'very_high'])\n",
+ "\n",
+ "# Визуализация распределения заработной платы после преобразования в категории\n",
+ "sns.countplot(x=train_data['salary_category'])\n",
+ "plt.title('Распределение категорий заработной платы в обучающей выборке')\n",
+ "plt.xlabel('Категория заработной платы')\n",
"plt.ylabel('Частота')\n",
"plt.show()\n",
"\n",
"# Балансировка категорий с помощью RandomOverSampler (увеличение меньшинств)\n",
"ros = RandomOverSampler(random_state=42)\n",
- "X_train = train_data.drop(columns=['price', 'price_category'])\n",
- "y_train = train_data['price_category']\n",
+ "X_train = train_data.drop(columns=['salary_in_usd', 'salary_category'])\n",
+ "y_train = train_data['salary_category']\n",
"\n",
"X_resampled, y_resampled = ros.fit_resample(X_train, y_train)\n",
"\n",
- "# Визуализация распределения цен после oversampling\n",
+ "# Визуализация распределения заработной платы после oversampling\n",
"sns.countplot(x=y_resampled)\n",
- "plt.title('Распределение категорий цены после oversampling')\n",
- "plt.xlabel('Категория цены')\n",
+ "plt.title('Распределение категорий заработной платы после oversampling')\n",
+ "plt.xlabel('Категория заработной платы')\n",
"plt.ylabel('Частота')\n",
"plt.show()\n",
"\n",
@@ -840,10 +663,10 @@
"rus = RandomUnderSampler(random_state=42)\n",
"X_resampled, y_resampled = rus.fit_resample(X_resampled, y_resampled)\n",
"\n",
- "# Визуализация распределения цен после undersampling\n",
+ "# Визуализация распределения заработной платы после undersampling\n",
"sns.countplot(x=y_resampled)\n",
- "plt.title('Распределение категорий цены после undersampling')\n",
- "plt.xlabel('Категория цен')\n",
+ "plt.title('Распределение категорий заработной платы после undersampling')\n",
+ "plt.xlabel('Категория заработной платы')\n",
"plt.ylabel('Частота')\n",
"plt.show()\n",
"\n",
@@ -855,33 +678,35 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "### Конструирование признаков \n",
- "\n",
+ "### Конструирование признаков\n",
"Теперь приступим к конструированию признаков для решения каждой задачи.\n",
"\n",
- "**Процесс конструирования признаков** \n",
- "Задача 1: Прогнозирование цен недвижимости. Цель технического проекта: Разработка модели машинного обучения для точного прогнозирования рыночной стоимости недвижимости. \n",
- "Задача 2: Оптимизация затрат на ремонт перед продажей. Цель технического проекта: Разработка модели машинного обучения для точного прогнозирования по рекомендациям по реновациям.\n",
+ "**Процесс конструирования признаков**\n",
+ "Задача 1: Прогнозирование заработной платы в Data Science. Цель технического проекта: Разработка модели машинного обучения для точного прогнозирования заработной платы специалистов в области Data Science.\n",
+ "Задача 2: Оптимизация распределения ресурсов в компании. Цель технического проекта: Разработка модели машинного обучения для оптимизации распределения ресурсов на Data Science проекты.\n",
"\n",
- "**Унитарное кодирование** \n",
+ "**Унитарное кодирование**\n",
"Унитарное кодирование категориальных признаков (one-hot encoding). Преобразование категориальных признаков в бинарные векторы.\n",
"\n",
- "**Дискретизация числовых признаков** \n",
+ "**Дискретизация числовых признаков**\n",
"Процесс преобразования непрерывных числовых значений в дискретные категории или интервалы (бины)."
]
},
{
"cell_type": "code",
- "execution_count": 30,
+ "execution_count": 16,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
- "Столбцы train_data_encoded: ['id', 'price', 'bedrooms', 'bathrooms', 'sqft_living', 'sqft_lot', 'floors', 'grade', 'sqft_above', 'sqft_basement', 'yr_built', 'yr_renovated', 'zipcode', 'lat', 'long', 'sqft_living15', 'sqft_lot15', 'price_category', 'date_20140502T000000', 'date_20140503T000000', 'date_20140504T000000', 'date_20140505T000000', 'date_20140506T000000', 'date_20140507T000000', 'date_20140508T000000', 'date_20140509T000000', 'date_20140510T000000', 'date_20140511T000000', 'date_20140512T000000', 'date_20140513T000000', 'date_20140514T000000', 'date_20140515T000000', 'date_20140516T000000', 'date_20140517T000000', 'date_20140518T000000', 'date_20140519T000000', 'date_20140520T000000', 'date_20140521T000000', 'date_20140522T000000', 'date_20140523T000000', 'date_20140524T000000', 'date_20140525T000000', 'date_20140526T000000', 'date_20140527T000000', 'date_20140528T000000', 'date_20140529T000000', 'date_20140530T000000', 'date_20140531T000000', 'date_20140601T000000', 'date_20140602T000000', 'date_20140603T000000', 'date_20140604T000000', 'date_20140605T000000', 'date_20140606T000000', 'date_20140607T000000', 'date_20140608T000000', 'date_20140609T000000', 'date_20140610T000000', 'date_20140611T000000', 'date_20140612T000000', 'date_20140613T000000', 'date_20140614T000000', 'date_20140615T000000', 'date_20140616T000000', 'date_20140617T000000', 'date_20140618T000000', 'date_20140619T000000', 'date_20140620T000000', 'date_20140621T000000', 'date_20140622T000000', 'date_20140623T000000', 'date_20140624T000000', 'date_20140625T000000', 'date_20140626T000000', 'date_20140627T000000', 'date_20140628T000000', 'date_20140629T000000', 'date_20140630T000000', 'date_20140701T000000', 'date_20140702T000000', 'date_20140703T000000', 'date_20140704T000000', 'date_20140705T000000', 'date_20140706T000000', 'date_20140707T000000', 'date_20140708T000000', 'date_20140709T000000', 'date_20140710T000000', 'date_20140711T000000', 'date_20140712T000000', 'date_20140713T000000', 'date_20140714T000000', 'date_20140715T000000', 'date_20140716T000000', 'date_20140717T000000', 'date_20140718T000000', 'date_20140719T000000', 'date_20140720T000000', 'date_20140721T000000', 'date_20140722T000000', 'date_20140723T000000', 'date_20140724T000000', 'date_20140725T000000', 'date_20140726T000000', 'date_20140728T000000', 'date_20140729T000000', 'date_20140730T000000', 'date_20140731T000000', 'date_20140801T000000', 'date_20140802T000000', 'date_20140804T000000', 'date_20140805T000000', 'date_20140806T000000', 'date_20140807T000000', 'date_20140808T000000', 'date_20140809T000000', 'date_20140810T000000', 'date_20140811T000000', 'date_20140812T000000', 'date_20140813T000000', 'date_20140814T000000', 'date_20140815T000000', 'date_20140816T000000', 'date_20140817T000000', 'date_20140818T000000', 'date_20140819T000000', 'date_20140820T000000', 'date_20140821T000000', 'date_20140822T000000', 'date_20140823T000000', 'date_20140824T000000', 'date_20140825T000000', 'date_20140826T000000', 'date_20140827T000000', 'date_20140828T000000', 'date_20140829T000000', 'date_20140830T000000', 'date_20140831T000000', 'date_20140901T000000', 'date_20140902T000000', 'date_20140903T000000', 'date_20140904T000000', 'date_20140905T000000', 'date_20140906T000000', 'date_20140907T000000', 'date_20140908T000000', 'date_20140909T000000', 'date_20140910T000000', 'date_20140911T000000', 'date_20140912T000000', 'date_20140913T000000', 'date_20140914T000000', 'date_20140915T000000', 'date_20140916T000000', 'date_20140917T000000', 'date_20140918T000000', 'date_20140919T000000', 'date_20140920T000000', 'date_20140921T000000', 'date_20140922T000000', 'date_20140923T000000', 'date_20140924T000000', 'date_20140925T000000', 'date_20140926T000000', 'date_20140927T000000', 'date_20140928T000000', 'date_20140929T000000', 'date_20140930T000000', 'date_20141001T000000', 'date_20141002T000000', 'date_20141003T000000', 'date_20141004T000000', 'date_20141005T000000', 'date_20141006T000000', 'date_20141007T000000', 'date_20141008T000000', 'date_20141009T000000', 'date_20141010T000000', 'date_20141011T000000', 'date_20141012T000000', 'date_20141013T000000', 'date_20141014T000000', 'date_20141015T000000', 'date_20141016T000000', 'date_20141017T000000', 'date_20141018T000000', 'date_20141019T000000', 'date_20141020T000000', 'date_20141021T000000', 'date_20141022T000000', 'date_20141023T000000', 'date_20141024T000000', 'date_20141025T000000', 'date_20141026T000000', 'date_20141027T000000', 'date_20141028T000000', 'date_20141029T000000', 'date_20141030T000000', 'date_20141031T000000', 'date_20141101T000000', 'date_20141102T000000', 'date_20141103T000000', 'date_20141104T000000', 'date_20141105T000000', 'date_20141106T000000', 'date_20141107T000000', 'date_20141108T000000', 'date_20141109T000000', 'date_20141110T000000', 'date_20141111T000000', 'date_20141112T000000', 'date_20141113T000000', 'date_20141114T000000', 'date_20141115T000000', 'date_20141116T000000', 'date_20141117T000000', 'date_20141118T000000', 'date_20141119T000000', 'date_20141120T000000', 'date_20141121T000000', 'date_20141122T000000', 'date_20141123T000000', 'date_20141124T000000', 'date_20141125T000000', 'date_20141126T000000', 'date_20141128T000000', 'date_20141129T000000', 'date_20141130T000000', 'date_20141201T000000', 'date_20141202T000000', 'date_20141203T000000', 'date_20141204T000000', 'date_20141205T000000', 'date_20141206T000000', 'date_20141207T000000', 'date_20141208T000000', 'date_20141209T000000', 'date_20141210T000000', 'date_20141211T000000', 'date_20141212T000000', 'date_20141213T000000', 'date_20141214T000000', 'date_20141215T000000', 'date_20141216T000000', 'date_20141217T000000', 'date_20141218T000000', 'date_20141219T000000', 'date_20141220T000000', 'date_20141221T000000', 'date_20141222T000000', 'date_20141223T000000', 'date_20141224T000000', 'date_20141226T000000', 'date_20141227T000000', 'date_20141229T000000', 'date_20141230T000000', 'date_20141231T000000', 'date_20150102T000000', 'date_20150105T000000', 'date_20150106T000000', 'date_20150107T000000', 'date_20150108T000000', 'date_20150109T000000', 'date_20150110T000000', 'date_20150112T000000', 'date_20150113T000000', 'date_20150114T000000', 'date_20150115T000000', 'date_20150116T000000', 'date_20150117T000000', 'date_20150119T000000', 'date_20150120T000000', 'date_20150121T000000', 'date_20150122T000000', 'date_20150123T000000', 'date_20150124T000000', 'date_20150125T000000', 'date_20150126T000000', 'date_20150127T000000', 'date_20150128T000000', 'date_20150129T000000', 'date_20150130T000000', 'date_20150201T000000', 'date_20150202T000000', 'date_20150203T000000', 'date_20150204T000000', 'date_20150205T000000', 'date_20150206T000000', 'date_20150207T000000', 'date_20150209T000000', 'date_20150210T000000', 'date_20150211T000000', 'date_20150212T000000', 'date_20150213T000000', 'date_20150214T000000', 'date_20150215T000000', 'date_20150216T000000', 'date_20150217T000000', 'date_20150218T000000', 'date_20150219T000000', 'date_20150220T000000', 'date_20150221T000000', 'date_20150222T000000', 'date_20150223T000000', 'date_20150224T000000', 'date_20150225T000000', 'date_20150226T000000', 'date_20150227T000000', 'date_20150228T000000', 'date_20150301T000000', 'date_20150302T000000', 'date_20150303T000000', 'date_20150304T000000', 'date_20150305T000000', 'date_20150306T000000', 'date_20150307T000000', 'date_20150308T000000', 'date_20150309T000000', 'date_20150310T000000', 'date_20150311T000000', 'date_20150312T000000', 'date_20150313T000000', 'date_20150314T000000', 'date_20150315T000000', 'date_20150316T000000', 'date_20150317T000000', 'date_20150318T000000', 'date_20150319T000000', 'date_20150320T000000', 'date_20150321T000000', 'date_20150322T000000', 'date_20150323T000000', 'date_20150324T000000', 'date_20150325T000000', 'date_20150326T000000', 'date_20150327T000000', 'date_20150328T000000', 'date_20150329T000000', 'date_20150330T000000', 'date_20150331T000000', 'date_20150401T000000', 'date_20150402T000000', 'date_20150403T000000', 'date_20150404T000000', 'date_20150405T000000', 'date_20150406T000000', 'date_20150407T000000', 'date_20150408T000000', 'date_20150409T000000', 'date_20150410T000000', 'date_20150411T000000', 'date_20150412T000000', 'date_20150413T000000', 'date_20150414T000000', 'date_20150415T000000', 'date_20150416T000000', 'date_20150417T000000', 'date_20150418T000000', 'date_20150419T000000', 'date_20150420T000000', 'date_20150421T000000', 'date_20150422T000000', 'date_20150423T000000', 'date_20150424T000000', 'date_20150425T000000', 'date_20150426T000000', 'date_20150427T000000', 'date_20150428T000000', 'date_20150429T000000', 'date_20150430T000000', 'date_20150501T000000', 'date_20150502T000000', 'date_20150503T000000', 'date_20150504T000000', 'date_20150505T000000', 'date_20150506T000000', 'date_20150507T000000', 'date_20150508T000000', 'date_20150509T000000', 'date_20150510T000000', 'date_20150511T000000', 'date_20150512T000000', 'date_20150513T000000', 'date_20150514T000000', 'date_20150515T000000', 'date_20150524T000000', 'waterfront_0', 'waterfront_1', 'view_0', 'view_1', 'view_2', 'view_3', 'view_4', 'condition_1', 'condition_2', 'condition_3', 'condition_4', 'condition_5']\n",
- "Столбцы val_data_encoded: ['id', 'price', 'bedrooms', 'bathrooms', 'sqft_living', 'sqft_lot', 'floors', 'grade', 'sqft_above', 'sqft_basement', 'yr_built', 'yr_renovated', 'zipcode', 'lat', 'long', 'sqft_living15', 'sqft_lot15', 'date_20140502T000000', 'date_20140503T000000', 'date_20140505T000000', 'date_20140506T000000', 'date_20140507T000000', 'date_20140508T000000', 'date_20140509T000000', 'date_20140510T000000', 'date_20140511T000000', 'date_20140512T000000', 'date_20140513T000000', 'date_20140514T000000', 'date_20140515T000000', 'date_20140516T000000', 'date_20140518T000000', 'date_20140519T000000', 'date_20140520T000000', 'date_20140521T000000', 'date_20140522T000000', 'date_20140523T000000', 'date_20140524T000000', 'date_20140525T000000', 'date_20140526T000000', 'date_20140527T000000', 'date_20140528T000000', 'date_20140529T000000', 'date_20140530T000000', 'date_20140531T000000', 'date_20140601T000000', 'date_20140602T000000', 'date_20140603T000000', 'date_20140604T000000', 'date_20140605T000000', 'date_20140606T000000', 'date_20140607T000000', 'date_20140609T000000', 'date_20140610T000000', 'date_20140611T000000', 'date_20140612T000000', 'date_20140613T000000', 'date_20140614T000000', 'date_20140615T000000', 'date_20140616T000000', 'date_20140617T000000', 'date_20140618T000000', 'date_20140619T000000', 'date_20140620T000000', 'date_20140621T000000', 'date_20140622T000000', 'date_20140623T000000', 'date_20140624T000000', 'date_20140625T000000', 'date_20140626T000000', 'date_20140627T000000', 'date_20140628T000000', 'date_20140629T000000', 'date_20140630T000000', 'date_20140701T000000', 'date_20140702T000000', 'date_20140703T000000', 'date_20140707T000000', 'date_20140708T000000', 'date_20140709T000000', 'date_20140710T000000', 'date_20140711T000000', 'date_20140712T000000', 'date_20140713T000000', 'date_20140714T000000', 'date_20140715T000000', 'date_20140716T000000', 'date_20140717T000000', 'date_20140718T000000', 'date_20140719T000000', 'date_20140721T000000', 'date_20140722T000000', 'date_20140723T000000', 'date_20140724T000000', 'date_20140725T000000', 'date_20140727T000000', 'date_20140728T000000', 'date_20140729T000000', 'date_20140730T000000', 'date_20140731T000000', 'date_20140801T000000', 'date_20140802T000000', 'date_20140803T000000', 'date_20140804T000000', 'date_20140805T000000', 'date_20140806T000000', 'date_20140807T000000', 'date_20140808T000000', 'date_20140810T000000', 'date_20140811T000000', 'date_20140812T000000', 'date_20140813T000000', 'date_20140814T000000', 'date_20140815T000000', 'date_20140817T000000', 'date_20140818T000000', 'date_20140819T000000', 'date_20140820T000000', 'date_20140821T000000', 'date_20140822T000000', 'date_20140825T000000', 'date_20140826T000000', 'date_20140827T000000', 'date_20140828T000000', 'date_20140829T000000', 'date_20140831T000000', 'date_20140901T000000', 'date_20140902T000000', 'date_20140903T000000', 'date_20140904T000000', 'date_20140905T000000', 'date_20140907T000000', 'date_20140908T000000', 'date_20140909T000000', 'date_20140910T000000', 'date_20140911T000000', 'date_20140912T000000', 'date_20140913T000000', 'date_20140914T000000', 'date_20140915T000000', 'date_20140916T000000', 'date_20140917T000000', 'date_20140918T000000', 'date_20140919T000000', 'date_20140921T000000', 'date_20140922T000000', 'date_20140923T000000', 'date_20140924T000000', 'date_20140925T000000', 'date_20140926T000000', 'date_20140927T000000', 'date_20140929T000000', 'date_20140930T000000', 'date_20141001T000000', 'date_20141002T000000', 'date_20141003T000000', 'date_20141006T000000', 'date_20141007T000000', 'date_20141008T000000', 'date_20141009T000000', 'date_20141010T000000', 'date_20141012T000000', 'date_20141013T000000', 'date_20141014T000000', 'date_20141015T000000', 'date_20141016T000000', 'date_20141017T000000', 'date_20141018T000000', 'date_20141019T000000', 'date_20141020T000000', 'date_20141021T000000', 'date_20141022T000000', 'date_20141023T000000', 'date_20141024T000000', 'date_20141027T000000', 'date_20141028T000000', 'date_20141029T000000', 'date_20141030T000000', 'date_20141031T000000', 'date_20141101T000000', 'date_20141103T000000', 'date_20141104T000000', 'date_20141105T000000', 'date_20141106T000000', 'date_20141107T000000', 'date_20141108T000000', 'date_20141109T000000', 'date_20141110T000000', 'date_20141111T000000', 'date_20141112T000000', 'date_20141113T000000', 'date_20141114T000000', 'date_20141115T000000', 'date_20141116T000000', 'date_20141117T000000', 'date_20141118T000000', 'date_20141119T000000', 'date_20141120T000000', 'date_20141121T000000', 'date_20141122T000000', 'date_20141123T000000', 'date_20141124T000000', 'date_20141125T000000', 'date_20141126T000000', 'date_20141128T000000', 'date_20141201T000000', 'date_20141202T000000', 'date_20141203T000000', 'date_20141204T000000', 'date_20141205T000000', 'date_20141206T000000', 'date_20141208T000000', 'date_20141209T000000', 'date_20141210T000000', 'date_20141211T000000', 'date_20141212T000000', 'date_20141214T000000', 'date_20141215T000000', 'date_20141216T000000', 'date_20141217T000000', 'date_20141218T000000', 'date_20141219T000000', 'date_20141220T000000', 'date_20141222T000000', 'date_20141223T000000', 'date_20141224T000000', 'date_20141226T000000', 'date_20141227T000000', 'date_20141229T000000', 'date_20141230T000000', 'date_20141231T000000', 'date_20150102T000000', 'date_20150105T000000', 'date_20150106T000000', 'date_20150107T000000', 'date_20150108T000000', 'date_20150109T000000', 'date_20150112T000000', 'date_20150113T000000', 'date_20150114T000000', 'date_20150115T000000', 'date_20150116T000000', 'date_20150119T000000', 'date_20150120T000000', 'date_20150121T000000', 'date_20150122T000000', 'date_20150123T000000', 'date_20150124T000000', 'date_20150126T000000', 'date_20150127T000000', 'date_20150128T000000', 'date_20150129T000000', 'date_20150130T000000', 'date_20150131T000000', 'date_20150202T000000', 'date_20150203T000000', 'date_20150204T000000', 'date_20150205T000000', 'date_20150206T000000', 'date_20150207T000000', 'date_20150209T000000', 'date_20150210T000000', 'date_20150211T000000', 'date_20150212T000000', 'date_20150213T000000', 'date_20150214T000000', 'date_20150216T000000', 'date_20150217T000000', 'date_20150218T000000', 'date_20150219T000000', 'date_20150220T000000', 'date_20150221T000000', 'date_20150222T000000', 'date_20150223T000000', 'date_20150224T000000', 'date_20150225T000000', 'date_20150226T000000', 'date_20150227T000000', 'date_20150228T000000', 'date_20150301T000000', 'date_20150302T000000', 'date_20150303T000000', 'date_20150304T000000', 'date_20150305T000000', 'date_20150306T000000', 'date_20150307T000000', 'date_20150309T000000', 'date_20150310T000000', 'date_20150311T000000', 'date_20150312T000000', 'date_20150313T000000', 'date_20150315T000000', 'date_20150316T000000', 'date_20150317T000000', 'date_20150318T000000', 'date_20150319T000000', 'date_20150320T000000', 'date_20150321T000000', 'date_20150323T000000', 'date_20150324T000000', 'date_20150325T000000', 'date_20150326T000000', 'date_20150327T000000', 'date_20150328T000000', 'date_20150329T000000', 'date_20150330T000000', 'date_20150331T000000', 'date_20150401T000000', 'date_20150402T000000', 'date_20150403T000000', 'date_20150404T000000', 'date_20150406T000000', 'date_20150407T000000', 'date_20150408T000000', 'date_20150409T000000', 'date_20150410T000000', 'date_20150411T000000', 'date_20150412T000000', 'date_20150413T000000', 'date_20150414T000000', 'date_20150415T000000', 'date_20150416T000000', 'date_20150417T000000', 'date_20150419T000000', 'date_20150420T000000', 'date_20150421T000000', 'date_20150422T000000', 'date_20150423T000000', 'date_20150424T000000', 'date_20150425T000000', 'date_20150426T000000', 'date_20150427T000000', 'date_20150428T000000', 'date_20150429T000000', 'date_20150430T000000', 'date_20150501T000000', 'date_20150502T000000', 'date_20150503T000000', 'date_20150504T000000', 'date_20150505T000000', 'date_20150506T000000', 'date_20150507T000000', 'date_20150508T000000', 'date_20150509T000000', 'date_20150511T000000', 'date_20150512T000000', 'date_20150513T000000', 'date_20150514T000000', 'date_20150527T000000', 'waterfront_0', 'waterfront_1', 'view_0', 'view_1', 'view_2', 'view_3', 'view_4', 'condition_1', 'condition_2', 'condition_3', 'condition_4', 'condition_5']\n",
- "Столбцы test_data_encoded: ['id', 'price', 'bedrooms', 'bathrooms', 'sqft_living', 'sqft_lot', 'floors', 'grade', 'sqft_above', 'sqft_basement', 'yr_built', 'yr_renovated', 'zipcode', 'lat', 'long', 'sqft_living15', 'sqft_lot15', 'date_20140502T000000', 'date_20140503T000000', 'date_20140505T000000', 'date_20140506T000000', 'date_20140507T000000', 'date_20140508T000000', 'date_20140509T000000', 'date_20140510T000000', 'date_20140511T000000', 'date_20140512T000000', 'date_20140513T000000', 'date_20140514T000000', 'date_20140515T000000', 'date_20140516T000000', 'date_20140518T000000', 'date_20140519T000000', 'date_20140520T000000', 'date_20140521T000000', 'date_20140522T000000', 'date_20140523T000000', 'date_20140524T000000', 'date_20140525T000000', 'date_20140526T000000', 'date_20140527T000000', 'date_20140528T000000', 'date_20140529T000000', 'date_20140530T000000', 'date_20140531T000000', 'date_20140601T000000', 'date_20140602T000000', 'date_20140603T000000', 'date_20140604T000000', 'date_20140605T000000', 'date_20140606T000000', 'date_20140607T000000', 'date_20140609T000000', 'date_20140610T000000', 'date_20140611T000000', 'date_20140612T000000', 'date_20140613T000000', 'date_20140614T000000', 'date_20140615T000000', 'date_20140616T000000', 'date_20140617T000000', 'date_20140618T000000', 'date_20140619T000000', 'date_20140620T000000', 'date_20140621T000000', 'date_20140622T000000', 'date_20140623T000000', 'date_20140624T000000', 'date_20140625T000000', 'date_20140626T000000', 'date_20140627T000000', 'date_20140628T000000', 'date_20140629T000000', 'date_20140630T000000', 'date_20140701T000000', 'date_20140702T000000', 'date_20140703T000000', 'date_20140707T000000', 'date_20140708T000000', 'date_20140709T000000', 'date_20140710T000000', 'date_20140711T000000', 'date_20140712T000000', 'date_20140713T000000', 'date_20140714T000000', 'date_20140715T000000', 'date_20140716T000000', 'date_20140717T000000', 'date_20140718T000000', 'date_20140719T000000', 'date_20140721T000000', 'date_20140722T000000', 'date_20140723T000000', 'date_20140724T000000', 'date_20140725T000000', 'date_20140727T000000', 'date_20140728T000000', 'date_20140729T000000', 'date_20140730T000000', 'date_20140731T000000', 'date_20140801T000000', 'date_20140802T000000', 'date_20140803T000000', 'date_20140804T000000', 'date_20140805T000000', 'date_20140806T000000', 'date_20140807T000000', 'date_20140808T000000', 'date_20140810T000000', 'date_20140811T000000', 'date_20140812T000000', 'date_20140813T000000', 'date_20140814T000000', 'date_20140815T000000', 'date_20140817T000000', 'date_20140818T000000', 'date_20140819T000000', 'date_20140820T000000', 'date_20140821T000000', 'date_20140822T000000', 'date_20140825T000000', 'date_20140826T000000', 'date_20140827T000000', 'date_20140828T000000', 'date_20140829T000000', 'date_20140831T000000', 'date_20140901T000000', 'date_20140902T000000', 'date_20140903T000000', 'date_20140904T000000', 'date_20140905T000000', 'date_20140907T000000', 'date_20140908T000000', 'date_20140909T000000', 'date_20140910T000000', 'date_20140911T000000', 'date_20140912T000000', 'date_20140913T000000', 'date_20140914T000000', 'date_20140915T000000', 'date_20140916T000000', 'date_20140917T000000', 'date_20140918T000000', 'date_20140919T000000', 'date_20140921T000000', 'date_20140922T000000', 'date_20140923T000000', 'date_20140924T000000', 'date_20140925T000000', 'date_20140926T000000', 'date_20140927T000000', 'date_20140929T000000', 'date_20140930T000000', 'date_20141001T000000', 'date_20141002T000000', 'date_20141003T000000', 'date_20141006T000000', 'date_20141007T000000', 'date_20141008T000000', 'date_20141009T000000', 'date_20141010T000000', 'date_20141012T000000', 'date_20141013T000000', 'date_20141014T000000', 'date_20141015T000000', 'date_20141016T000000', 'date_20141017T000000', 'date_20141018T000000', 'date_20141019T000000', 'date_20141020T000000', 'date_20141021T000000', 'date_20141022T000000', 'date_20141023T000000', 'date_20141024T000000', 'date_20141027T000000', 'date_20141028T000000', 'date_20141029T000000', 'date_20141030T000000', 'date_20141031T000000', 'date_20141101T000000', 'date_20141103T000000', 'date_20141104T000000', 'date_20141105T000000', 'date_20141106T000000', 'date_20141107T000000', 'date_20141108T000000', 'date_20141109T000000', 'date_20141110T000000', 'date_20141111T000000', 'date_20141112T000000', 'date_20141113T000000', 'date_20141114T000000', 'date_20141115T000000', 'date_20141116T000000', 'date_20141117T000000', 'date_20141118T000000', 'date_20141119T000000', 'date_20141120T000000', 'date_20141121T000000', 'date_20141122T000000', 'date_20141123T000000', 'date_20141124T000000', 'date_20141125T000000', 'date_20141126T000000', 'date_20141128T000000', 'date_20141201T000000', 'date_20141202T000000', 'date_20141203T000000', 'date_20141204T000000', 'date_20141205T000000', 'date_20141206T000000', 'date_20141208T000000', 'date_20141209T000000', 'date_20141210T000000', 'date_20141211T000000', 'date_20141212T000000', 'date_20141214T000000', 'date_20141215T000000', 'date_20141216T000000', 'date_20141217T000000', 'date_20141218T000000', 'date_20141219T000000', 'date_20141220T000000', 'date_20141222T000000', 'date_20141223T000000', 'date_20141224T000000', 'date_20141226T000000', 'date_20141227T000000', 'date_20141229T000000', 'date_20141230T000000', 'date_20141231T000000', 'date_20150102T000000', 'date_20150105T000000', 'date_20150106T000000', 'date_20150107T000000', 'date_20150108T000000', 'date_20150109T000000', 'date_20150112T000000', 'date_20150113T000000', 'date_20150114T000000', 'date_20150115T000000', 'date_20150116T000000', 'date_20150119T000000', 'date_20150120T000000', 'date_20150121T000000', 'date_20150122T000000', 'date_20150123T000000', 'date_20150124T000000', 'date_20150126T000000', 'date_20150127T000000', 'date_20150128T000000', 'date_20150129T000000', 'date_20150130T000000', 'date_20150131T000000', 'date_20150202T000000', 'date_20150203T000000', 'date_20150204T000000', 'date_20150205T000000', 'date_20150206T000000', 'date_20150207T000000', 'date_20150209T000000', 'date_20150210T000000', 'date_20150211T000000', 'date_20150212T000000', 'date_20150213T000000', 'date_20150214T000000', 'date_20150216T000000', 'date_20150217T000000', 'date_20150218T000000', 'date_20150219T000000', 'date_20150220T000000', 'date_20150221T000000', 'date_20150222T000000', 'date_20150223T000000', 'date_20150224T000000', 'date_20150225T000000', 'date_20150226T000000', 'date_20150227T000000', 'date_20150228T000000', 'date_20150301T000000', 'date_20150302T000000', 'date_20150303T000000', 'date_20150304T000000', 'date_20150305T000000', 'date_20150306T000000', 'date_20150307T000000', 'date_20150309T000000', 'date_20150310T000000', 'date_20150311T000000', 'date_20150312T000000', 'date_20150313T000000', 'date_20150315T000000', 'date_20150316T000000', 'date_20150317T000000', 'date_20150318T000000', 'date_20150319T000000', 'date_20150320T000000', 'date_20150321T000000', 'date_20150323T000000', 'date_20150324T000000', 'date_20150325T000000', 'date_20150326T000000', 'date_20150327T000000', 'date_20150328T000000', 'date_20150329T000000', 'date_20150330T000000', 'date_20150331T000000', 'date_20150401T000000', 'date_20150402T000000', 'date_20150403T000000', 'date_20150404T000000', 'date_20150406T000000', 'date_20150407T000000', 'date_20150408T000000', 'date_20150409T000000', 'date_20150410T000000', 'date_20150411T000000', 'date_20150412T000000', 'date_20150413T000000', 'date_20150414T000000', 'date_20150415T000000', 'date_20150416T000000', 'date_20150417T000000', 'date_20150419T000000', 'date_20150420T000000', 'date_20150421T000000', 'date_20150422T000000', 'date_20150423T000000', 'date_20150424T000000', 'date_20150425T000000', 'date_20150426T000000', 'date_20150427T000000', 'date_20150428T000000', 'date_20150429T000000', 'date_20150430T000000', 'date_20150501T000000', 'date_20150502T000000', 'date_20150503T000000', 'date_20150504T000000', 'date_20150505T000000', 'date_20150506T000000', 'date_20150507T000000', 'date_20150508T000000', 'date_20150509T000000', 'date_20150511T000000', 'date_20150512T000000', 'date_20150513T000000', 'date_20150514T000000', 'date_20150527T000000', 'waterfront_0', 'waterfront_1', 'view_0', 'view_1', 'view_2', 'view_3', 'view_4', 'condition_1', 'condition_2', 'condition_3', 'condition_4', 'condition_5']\n"
+ "Столбцы train_data_encoded: ['work_year', 'job_title', 'salary', 'salary_currency', 'salary_in_usd', 'remote_ratio', 'salary_category', 'experience_level_EN', 'experience_level_EX', 'experience_level_MI', 'experience_level_SE', 'employment_type_CT', 'employment_type_FL', 'employment_type_FT', 'employment_type_PT', 'employee_residence_AE', 'employee_residence_AM', 'employee_residence_AR', 'employee_residence_AT', 'employee_residence_AU', 'employee_residence_BA', 'employee_residence_BE', 'employee_residence_BG', 'employee_residence_BO', 'employee_residence_BR', 'employee_residence_CA', 'employee_residence_CF', 'employee_residence_CH', 'employee_residence_CL', 'employee_residence_CN', 'employee_residence_CO', 'employee_residence_CR', 'employee_residence_CY', 'employee_residence_CZ', 'employee_residence_DE', 'employee_residence_DK', 'employee_residence_DZ', 'employee_residence_EE', 'employee_residence_EG', 'employee_residence_ES', 'employee_residence_FI', 'employee_residence_FR', 'employee_residence_GB', 'employee_residence_GH', 'employee_residence_GR', 'employee_residence_HK', 'employee_residence_HN', 'employee_residence_HR', 'employee_residence_HU', 'employee_residence_ID', 'employee_residence_IE', 'employee_residence_IL', 'employee_residence_IN', 'employee_residence_IQ', 'employee_residence_IR', 'employee_residence_IT', 'employee_residence_JP', 'employee_residence_KE', 'employee_residence_KW', 'employee_residence_LT', 'employee_residence_LU', 'employee_residence_LV', 'employee_residence_MA', 'employee_residence_MD', 'employee_residence_MK', 'employee_residence_MX', 'employee_residence_MY', 'employee_residence_NG', 'employee_residence_NL', 'employee_residence_NZ', 'employee_residence_PH', 'employee_residence_PK', 'employee_residence_PL', 'employee_residence_PR', 'employee_residence_PT', 'employee_residence_RO', 'employee_residence_RS', 'employee_residence_RU', 'employee_residence_SE', 'employee_residence_SG', 'employee_residence_SI', 'employee_residence_SK', 'employee_residence_TH', 'employee_residence_TN', 'employee_residence_TR', 'employee_residence_UA', 'employee_residence_US', 'employee_residence_UZ', 'employee_residence_VN', 'company_location_AE', 'company_location_AL', 'company_location_AM', 'company_location_AR', 'company_location_AS', 'company_location_AT', 'company_location_AU', 'company_location_BA', 'company_location_BE', 'company_location_BO', 'company_location_BR', 'company_location_CA', 'company_location_CF', 'company_location_CH', 'company_location_CL', 'company_location_CO', 'company_location_CR', 'company_location_CZ', 'company_location_DE', 'company_location_DK', 'company_location_DZ', 'company_location_EE', 'company_location_EG', 'company_location_ES', 'company_location_FI', 'company_location_FR', 'company_location_GB', 'company_location_GH', 'company_location_GR', 'company_location_HN', 'company_location_HR', 'company_location_HU', 'company_location_ID', 'company_location_IE', 'company_location_IL', 'company_location_IN', 'company_location_IQ', 'company_location_IR', 'company_location_IT', 'company_location_JP', 'company_location_KE', 'company_location_LT', 'company_location_LU', 'company_location_LV', 'company_location_MA', 'company_location_MD', 'company_location_MK', 'company_location_MX', 'company_location_MY', 'company_location_NG', 'company_location_NL', 'company_location_NZ', 'company_location_PH', 'company_location_PK', 'company_location_PL', 'company_location_PR', 'company_location_PT', 'company_location_RO', 'company_location_RU', 'company_location_SE', 'company_location_SG', 'company_location_SI', 'company_location_SK', 'company_location_TH', 'company_location_TR', 'company_location_UA', 'company_location_US', 'company_location_VN', 'company_size_L', 'company_size_M', 'company_size_S']\n",
+ "Столбцы val_data_encoded: ['work_year', 'job_title', 'salary', 'salary_currency', 'salary_in_usd', 'remote_ratio', 'experience_level_EN', 'experience_level_EX', 'experience_level_MI', 'experience_level_SE', 'employment_type_FL', 'employment_type_FT', 'employment_type_PT', 'employee_residence_AE', 'employee_residence_AR', 'employee_residence_AS', 'employee_residence_AT', 'employee_residence_AU', 'employee_residence_BE', 'employee_residence_BR', 'employee_residence_CA', 'employee_residence_CF', 'employee_residence_CH', 'employee_residence_CO', 'employee_residence_DE', 'employee_residence_DO', 'employee_residence_ES', 'employee_residence_FR', 'employee_residence_GB', 'employee_residence_GH', 'employee_residence_GR', 'employee_residence_HK', 'employee_residence_HR', 'employee_residence_IE', 'employee_residence_IN', 'employee_residence_IT', 'employee_residence_JE', 'employee_residence_JP', 'employee_residence_LV', 'employee_residence_MT', 'employee_residence_MX', 'employee_residence_NG', 'employee_residence_NL', 'employee_residence_PK', 'employee_residence_PR', 'employee_residence_PT', 'employee_residence_RU', 'employee_residence_TH', 'employee_residence_TR', 'employee_residence_UA', 'employee_residence_US', 'employee_residence_UZ', 'company_location_AE', 'company_location_AS', 'company_location_AT', 'company_location_AU', 'company_location_BE', 'company_location_BS', 'company_location_CA', 'company_location_CF', 'company_location_CH', 'company_location_CN', 'company_location_CO', 'company_location_DE', 'company_location_ES', 'company_location_FI', 'company_location_FR', 'company_location_GB', 'company_location_GH', 'company_location_GR', 'company_location_HK', 'company_location_HR', 'company_location_IE', 'company_location_IN', 'company_location_JP', 'company_location_LU', 'company_location_LV', 'company_location_MT', 'company_location_MX', 'company_location_NG', 'company_location_NL', 'company_location_PK', 'company_location_PR', 'company_location_PT', 'company_location_RU', 'company_location_SG', 'company_location_TH', 'company_location_TR', 'company_location_UA', 'company_location_US', 'company_size_L', 'company_size_M', 'company_size_S']\n",
+ "Столбцы test_data_encoded: ['work_year', 'job_title', 'salary', 'salary_currency', 'salary_in_usd', 'remote_ratio', 'experience_level_EN', 'experience_level_EX', 'experience_level_MI', 'experience_level_SE', 'employment_type_FL', 'employment_type_FT', 'employment_type_PT', 'employee_residence_AE', 'employee_residence_AR', 'employee_residence_AS', 'employee_residence_AT', 'employee_residence_AU', 'employee_residence_BE', 'employee_residence_BR', 'employee_residence_CA', 'employee_residence_CF', 'employee_residence_CH', 'employee_residence_CO', 'employee_residence_DE', 'employee_residence_DO', 'employee_residence_ES', 'employee_residence_FR', 'employee_residence_GB', 'employee_residence_GH', 'employee_residence_GR', 'employee_residence_HK', 'employee_residence_HR', 'employee_residence_IE', 'employee_residence_IN', 'employee_residence_IT', 'employee_residence_JE', 'employee_residence_JP', 'employee_residence_LV', 'employee_residence_MT', 'employee_residence_MX', 'employee_residence_NG', 'employee_residence_NL', 'employee_residence_PK', 'employee_residence_PR', 'employee_residence_PT', 'employee_residence_RU', 'employee_residence_TH', 'employee_residence_TR', 'employee_residence_UA', 'employee_residence_US', 'employee_residence_UZ', 'company_location_AE', 'company_location_AS', 'company_location_AT', 'company_location_AU', 'company_location_BE', 'company_location_BS', 'company_location_CA', 'company_location_CF', 'company_location_CH', 'company_location_CN', 'company_location_CO', 'company_location_DE', 'company_location_ES', 'company_location_FI', 'company_location_FR', 'company_location_GB', 'company_location_GH', 'company_location_GR', 'company_location_HK', 'company_location_HR', 'company_location_IE', 'company_location_IN', 'company_location_JP', 'company_location_LU', 'company_location_LV', 'company_location_MT', 'company_location_MX', 'company_location_NG', 'company_location_NL', 'company_location_PK', 'company_location_PR', 'company_location_PT', 'company_location_RU', 'company_location_SG', 'company_location_TH', 'company_location_TR', 'company_location_UA', 'company_location_US', 'company_size_L', 'company_size_M', 'company_size_S']\n",
+ "Столбцы train_data_encoded после дискретизации: ['work_year', 'job_title', 'salary', 'salary_currency', 'salary_in_usd', 'remote_ratio', 'salary_category', 'experience_level_EN', 'experience_level_EX', 'experience_level_MI', 'experience_level_SE', 'employment_type_CT', 'employment_type_FL', 'employment_type_FT', 'employment_type_PT', 'employee_residence_AE', 'employee_residence_AM', 'employee_residence_AR', 'employee_residence_AT', 'employee_residence_AU', 'employee_residence_BA', 'employee_residence_BE', 'employee_residence_BG', 'employee_residence_BO', 'employee_residence_BR', 'employee_residence_CA', 'employee_residence_CF', 'employee_residence_CH', 'employee_residence_CL', 'employee_residence_CN', 'employee_residence_CO', 'employee_residence_CR', 'employee_residence_CY', 'employee_residence_CZ', 'employee_residence_DE', 'employee_residence_DK', 'employee_residence_DZ', 'employee_residence_EE', 'employee_residence_EG', 'employee_residence_ES', 'employee_residence_FI', 'employee_residence_FR', 'employee_residence_GB', 'employee_residence_GH', 'employee_residence_GR', 'employee_residence_HK', 'employee_residence_HN', 'employee_residence_HR', 'employee_residence_HU', 'employee_residence_ID', 'employee_residence_IE', 'employee_residence_IL', 'employee_residence_IN', 'employee_residence_IQ', 'employee_residence_IR', 'employee_residence_IT', 'employee_residence_JP', 'employee_residence_KE', 'employee_residence_KW', 'employee_residence_LT', 'employee_residence_LU', 'employee_residence_LV', 'employee_residence_MA', 'employee_residence_MD', 'employee_residence_MK', 'employee_residence_MX', 'employee_residence_MY', 'employee_residence_NG', 'employee_residence_NL', 'employee_residence_NZ', 'employee_residence_PH', 'employee_residence_PK', 'employee_residence_PL', 'employee_residence_PR', 'employee_residence_PT', 'employee_residence_RO', 'employee_residence_RS', 'employee_residence_RU', 'employee_residence_SE', 'employee_residence_SG', 'employee_residence_SI', 'employee_residence_SK', 'employee_residence_TH', 'employee_residence_TN', 'employee_residence_TR', 'employee_residence_UA', 'employee_residence_US', 'employee_residence_UZ', 'employee_residence_VN', 'company_location_AE', 'company_location_AL', 'company_location_AM', 'company_location_AR', 'company_location_AS', 'company_location_AT', 'company_location_AU', 'company_location_BA', 'company_location_BE', 'company_location_BO', 'company_location_BR', 'company_location_CA', 'company_location_CF', 'company_location_CH', 'company_location_CL', 'company_location_CO', 'company_location_CR', 'company_location_CZ', 'company_location_DE', 'company_location_DK', 'company_location_DZ', 'company_location_EE', 'company_location_EG', 'company_location_ES', 'company_location_FI', 'company_location_FR', 'company_location_GB', 'company_location_GH', 'company_location_GR', 'company_location_HN', 'company_location_HR', 'company_location_HU', 'company_location_ID', 'company_location_IE', 'company_location_IL', 'company_location_IN', 'company_location_IQ', 'company_location_IR', 'company_location_IT', 'company_location_JP', 'company_location_KE', 'company_location_LT', 'company_location_LU', 'company_location_LV', 'company_location_MA', 'company_location_MD', 'company_location_MK', 'company_location_MX', 'company_location_MY', 'company_location_NG', 'company_location_NL', 'company_location_NZ', 'company_location_PH', 'company_location_PK', 'company_location_PL', 'company_location_PR', 'company_location_PT', 'company_location_RO', 'company_location_RU', 'company_location_SE', 'company_location_SG', 'company_location_SI', 'company_location_SK', 'company_location_TH', 'company_location_TR', 'company_location_UA', 'company_location_US', 'company_location_VN', 'company_size_L', 'company_size_M', 'company_size_S']\n",
+ "Столбцы val_data_encoded после дискретизации: ['work_year', 'job_title', 'salary', 'salary_currency', 'salary_in_usd', 'remote_ratio', 'experience_level_EN', 'experience_level_EX', 'experience_level_MI', 'experience_level_SE', 'employment_type_FL', 'employment_type_FT', 'employment_type_PT', 'employee_residence_AE', 'employee_residence_AR', 'employee_residence_AS', 'employee_residence_AT', 'employee_residence_AU', 'employee_residence_BE', 'employee_residence_BR', 'employee_residence_CA', 'employee_residence_CF', 'employee_residence_CH', 'employee_residence_CO', 'employee_residence_DE', 'employee_residence_DO', 'employee_residence_ES', 'employee_residence_FR', 'employee_residence_GB', 'employee_residence_GH', 'employee_residence_GR', 'employee_residence_HK', 'employee_residence_HR', 'employee_residence_IE', 'employee_residence_IN', 'employee_residence_IT', 'employee_residence_JE', 'employee_residence_JP', 'employee_residence_LV', 'employee_residence_MT', 'employee_residence_MX', 'employee_residence_NG', 'employee_residence_NL', 'employee_residence_PK', 'employee_residence_PR', 'employee_residence_PT', 'employee_residence_RU', 'employee_residence_TH', 'employee_residence_TR', 'employee_residence_UA', 'employee_residence_US', 'employee_residence_UZ', 'company_location_AE', 'company_location_AS', 'company_location_AT', 'company_location_AU', 'company_location_BE', 'company_location_BS', 'company_location_CA', 'company_location_CF', 'company_location_CH', 'company_location_CN', 'company_location_CO', 'company_location_DE', 'company_location_ES', 'company_location_FI', 'company_location_FR', 'company_location_GB', 'company_location_GH', 'company_location_GR', 'company_location_HK', 'company_location_HR', 'company_location_IE', 'company_location_IN', 'company_location_JP', 'company_location_LU', 'company_location_LV', 'company_location_MT', 'company_location_MX', 'company_location_NG', 'company_location_NL', 'company_location_PK', 'company_location_PR', 'company_location_PT', 'company_location_RU', 'company_location_SG', 'company_location_TH', 'company_location_TR', 'company_location_UA', 'company_location_US', 'company_size_L', 'company_size_M', 'company_size_S', 'salary_category']\n",
+ "Столбцы test_data_encoded после дискретизации: ['work_year', 'job_title', 'salary', 'salary_currency', 'salary_in_usd', 'remote_ratio', 'experience_level_EN', 'experience_level_EX', 'experience_level_MI', 'experience_level_SE', 'employment_type_FL', 'employment_type_FT', 'employment_type_PT', 'employee_residence_AE', 'employee_residence_AR', 'employee_residence_AS', 'employee_residence_AT', 'employee_residence_AU', 'employee_residence_BE', 'employee_residence_BR', 'employee_residence_CA', 'employee_residence_CF', 'employee_residence_CH', 'employee_residence_CO', 'employee_residence_DE', 'employee_residence_DO', 'employee_residence_ES', 'employee_residence_FR', 'employee_residence_GB', 'employee_residence_GH', 'employee_residence_GR', 'employee_residence_HK', 'employee_residence_HR', 'employee_residence_IE', 'employee_residence_IN', 'employee_residence_IT', 'employee_residence_JE', 'employee_residence_JP', 'employee_residence_LV', 'employee_residence_MT', 'employee_residence_MX', 'employee_residence_NG', 'employee_residence_NL', 'employee_residence_PK', 'employee_residence_PR', 'employee_residence_PT', 'employee_residence_RU', 'employee_residence_TH', 'employee_residence_TR', 'employee_residence_UA', 'employee_residence_US', 'employee_residence_UZ', 'company_location_AE', 'company_location_AS', 'company_location_AT', 'company_location_AU', 'company_location_BE', 'company_location_BS', 'company_location_CA', 'company_location_CF', 'company_location_CH', 'company_location_CN', 'company_location_CO', 'company_location_DE', 'company_location_ES', 'company_location_FI', 'company_location_FR', 'company_location_GB', 'company_location_GH', 'company_location_GR', 'company_location_HK', 'company_location_HR', 'company_location_IE', 'company_location_IN', 'company_location_JP', 'company_location_LU', 'company_location_LV', 'company_location_MT', 'company_location_MX', 'company_location_NG', 'company_location_NL', 'company_location_PK', 'company_location_PR', 'company_location_PT', 'company_location_RU', 'company_location_SG', 'company_location_TH', 'company_location_TR', 'company_location_UA', 'company_location_US', 'company_size_L', 'company_size_M', 'company_size_S', 'salary_category']\n"
]
}
],
@@ -890,7 +715,7 @@
"# Унитарное кодирование категориальных признаков (применение one-hot encoding)\n",
"\n",
"# Пример категориальных признаков\n",
- "categorical_features = ['date', 'waterfront', 'view', 'condition']\n",
+ "categorical_features = ['experience_level', 'employment_type', 'employee_residence', 'company_location', 'company_size']\n",
"\n",
"# Применение one-hot encoding\n",
"train_data_encoded = pd.get_dummies(train_data, columns=categorical_features)\n",
@@ -903,14 +728,15 @@
"print(\"Столбцы test_data_encoded:\", test_data_encoded.columns.tolist())\n",
"\n",
"\n",
- "# Дискретизация числовых признаков (цены). Например, можно разделить площадь жилья на категории\n",
- "# Пример дискретизации признака 'Общая площадь'\n",
- "train_data_encoded['sqtf'] = pd.cut(train_data_encoded['sqft_living'], bins=5, labels=False)\n",
- "val_data_encoded['sqtf'] = pd.cut(val_data_encoded['sqft_living'], bins=5, labels=False)\n",
- "test_data_encoded['sqtf'] = pd.cut(test_data_encoded['sqft_living'], bins=5, labels=False)\n",
+ "# Пример дискретизации признака 'salary_in_usd' на 5 категорий\n",
+ "train_data_encoded['salary_category'] = pd.cut(train_data_encoded['salary_in_usd'], bins=5, labels=False)\n",
+ "val_data_encoded['salary_category'] = pd.cut(val_data_encoded['salary_in_usd'], bins=5, labels=False)\n",
+ "test_data_encoded['salary_category'] = pd.cut(test_data_encoded['salary_in_usd'], bins=5, labels=False)\n",
+ "df_encoded['salary_category'] = pd.cut(df_encoded['salary_in_usd'], bins=5, labels=False)\n",
"\n",
- "# Пример дискретизации признака 'sqft_living' на 5 категорий\n",
- "df_encoded['sqtf'] = pd.cut(df_encoded['sqft_living'], bins=5, labels=False)"
+ "print(\"Столбцы train_data_encoded после дискретизации:\", train_data_encoded.columns.tolist())\n",
+ "print(\"Столбцы val_data_encoded после дискретизации:\", val_data_encoded.columns.tolist())\n",
+ "print(\"Столбцы test_data_encoded после дискретизации:\", test_data_encoded.columns.tolist())\n"
]
},
{
@@ -918,22 +744,48 @@
"metadata": {},
"source": [
"### Ручной синтез\n",
- "Создание новых признаков на основе экспертных знаний и логики предметной области. К примеру, для данных о продаже домов можно создать признак цена за квадратный фут."
+ "Создание новых признаков на основе экспертных знаний и логики предметной области. К примеру, для данных о заработной плате в Data Science можно создать признак \"зарплата в месяц\"."
]
},
{
"cell_type": "code",
- "execution_count": 31,
+ "execution_count": 34,
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " work_year experience_level employment_type job_title \\\n",
+ "0 2023 SE FT Principal Data Scientist \n",
+ "1 2023 MI CT ML Engineer \n",
+ "2 2023 MI CT ML Engineer \n",
+ "3 2023 SE FT Data Scientist \n",
+ "4 2023 SE FT Data Scientist \n",
+ "\n",
+ " salary salary_currency salary_in_usd employee_residence remote_ratio \\\n",
+ "0 80000 EUR 85847 ES 100 \n",
+ "1 30000 USD 30000 US 100 \n",
+ "2 25500 USD 25500 US 100 \n",
+ "3 175000 USD 175000 CA 100 \n",
+ "4 120000 USD 120000 CA 100 \n",
+ "\n",
+ " company_location company_size Salary in month \n",
+ "0 ES L 6666 \n",
+ "1 US S 2500 \n",
+ "2 US S 2125 \n",
+ "3 CA M 14583 \n",
+ "4 CA M 10000 \n"
+ ]
+ }
+ ],
"source": [
- "# Ручной синтез признаков\n",
- "train_data_encoded['price_per_sqft'] = df['price'] / df['sqft_living']\n",
- "val_data_encoded['price_per_sqft'] = df['price'] / df['sqft_living']\n",
- "test_data_encoded['price_per_sqft'] = df['price'] / df['sqft_living']\n",
+ "df = pd.read_csv(\"..//static//csv//ds_salaries.csv\")\n",
+ "# Создание нового признака 'Salary in month'\n",
+ "df['Salary in month'] = df['salary'] // 12\n",
"\n",
- "# Пример создания нового признака - цена за квадратный фут\n",
- "df_encoded['price_per_sqft'] = df_encoded['price'] / df_encoded['sqft_living']"
+ "# Вывод первых нескольких строк датафрейма для проверки\n",
+ "print(df.head())"
]
},
{
@@ -945,19 +797,19 @@
},
{
"cell_type": "code",
- "execution_count": 32,
+ "execution_count": 36,
"metadata": {},
"outputs": [],
"source": [
"from sklearn.preprocessing import StandardScaler, MinMaxScaler\n",
"\n",
"# Пример масштабирования числовых признаков\n",
- "numerical_features = ['bedrooms', 'sqft_living']\n",
+ "numerical_features = ['work_year', 'salary']\n",
"\n",
"scaler = StandardScaler()\n",
"train_data_encoded[numerical_features] = scaler.fit_transform(train_data_encoded[numerical_features])\n",
"val_data_encoded[numerical_features] = scaler.transform(val_data_encoded[numerical_features])\n",
- "test_data_encoded[numerical_features] = scaler.transform(test_data_encoded[numerical_features])"
+ "test_data_encoded[numerical_features] = scaler.transform(test_data_encoded[numerical_features])\n"
]
},
{
@@ -969,166 +821,163 @@
},
{
"cell_type": "code",
- "execution_count": 33,
+ "execution_count": 43,
"metadata": {},
"outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- " id price bedrooms bathrooms sqft_living sqft_lot \\\n",
- "9876 1219000473 164950.0 -0.395263 1.75 -0.555396 15330 \n",
- "14982 6308000010 585000.0 -0.395263 2.50 0.238192 5089 \n",
- "1464 3630120700 757000.0 -0.395263 3.25 1.230177 5283 \n",
- "19209 1901600090 359000.0 1.752138 1.75 -0.147580 6654 \n",
- "2039 3395040550 320000.0 -0.395263 2.50 -0.599484 2890 \n",
- "... ... ... ... ... ... ... \n",
- "13184 1523049207 220000.0 0.678437 2.00 -0.412109 8043 \n",
- "5759 1954420170 580000.0 -0.395263 2.50 0.083883 7484 \n",
- "8433 1721801010 225000.0 -0.395263 1.00 -0.312911 6120 \n",
- "10253 2422049104 85000.0 -1.468964 1.00 -1.371028 9000 \n",
- "11363 7701960990 870000.0 0.678437 2.50 1.230177 14565 \n",
- "\n",
- " floors grade sqft_above sqft_basement ... view_2 view_3 view_4 \\\n",
- "9876 1.0 7 1080 490 ... False False False \n",
- "14982 2.0 9 2290 0 ... False False False \n",
- "1464 2.0 9 3190 0 ... False False False \n",
- "19209 1.5 7 1940 0 ... False False False \n",
- "2039 2.0 7 1530 0 ... False False False \n",
- "... ... ... ... ... ... ... ... ... \n",
- "13184 1.0 7 850 850 ... False False False \n",
- "5759 2.0 8 2150 0 ... False False False \n",
- "8433 1.0 6 1790 0 ... False False False \n",
- "10253 1.0 6 830 0 ... False False False \n",
- "11363 2.0 11 3190 0 ... False False False \n",
- "\n",
- " condition_1 condition_2 condition_3 condition_4 condition_5 sqtf \\\n",
- "9876 False False True False False 0 \n",
- "14982 False False True False False 0 \n",
- "1464 False False True False False 1 \n",
- "19209 False False False True False 0 \n",
- "2039 False False True False False 0 \n",
- "... ... ... ... ... ... ... \n",
- "13184 False False True False False 0 \n",
- "5759 False False True False False 0 \n",
- "8433 False False True False False 0 \n",
- "10253 False False True False False 0 \n",
- "11363 False False True False False 1 \n",
- "\n",
- " price_per_sqft \n",
- "9876 105.063694 \n",
- "14982 255.458515 \n",
- "1464 237.304075 \n",
- "19209 185.051546 \n",
- "2039 209.150327 \n",
- "... ... \n",
- "13184 129.411765 \n",
- "5759 269.767442 \n",
- "8433 125.698324 \n",
- "10253 102.409639 \n",
- "11363 272.727273 \n",
- "\n",
- "[224 rows x 400 columns]\n"
- ]
- },
{
"name": "stderr",
"output_type": "stream",
"text": [
- "e:\\MII\\laboratory\\mai\\Lib\\site-packages\\featuretools\\synthesis\\deep_feature_synthesis.py:169: UserWarning: Only one dataframe in entityset, changing max_depth to 1 since deeper features cannot be created\n",
- " warnings.warn(\n"
- ]
- },
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- " price bedrooms bathrooms sqft_living sqft_lot floors \\\n",
- "id \n",
- "7129300520 221900.0 3 1.00 1180 5650 1.0 \n",
- "6414100192 538000.0 3 2.25 2570 7242 2.0 \n",
- "5631500400 180000.0 2 1.00 770 10000 1.0 \n",
- "2487200875 604000.0 4 3.00 1960 5000 1.0 \n",
- "1954400510 510000.0 3 2.00 1680 8080 1.0 \n",
- "\n",
- " grade sqft_above sqft_basement yr_built ... view_2 view_3 \\\n",
- "id ... \n",
- "7129300520 7 1180 0 1955 ... False False \n",
- "6414100192 7 2170 400 1951 ... False False \n",
- "5631500400 6 770 0 1933 ... False False \n",
- "2487200875 7 1050 910 1965 ... False False \n",
- "1954400510 8 1680 0 1987 ... False False \n",
- "\n",
- " view_4 condition_1 condition_2 condition_3 condition_4 \\\n",
- "id \n",
- "7129300520 False False False True False \n",
- "6414100192 False False False True False \n",
- "5631500400 False False False True False \n",
- "2487200875 False False False False False \n",
- "1954400510 False False False True False \n",
- "\n",
- " condition_5 sqtf price_per_sqft \n",
- "id \n",
- "7129300520 False 0 188.050847 \n",
- "6414100192 False 0 209.338521 \n",
- "5631500400 False 0 233.766234 \n",
- "2487200875 True 0 308.163265 \n",
- "1954400510 False 0 303.571429 \n",
- "\n",
- "[5 rows x 402 columns]\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- "e:\\MII\\laboratory\\mai\\Lib\\site-packages\\woodwork\\type_sys\\utils.py:33: UserWarning: Could not infer format, so each element will be parsed individually, falling back to `dateutil`. To ensure parsing is consistent and as-expected, please specify a format.\n",
+ "d:\\MII\\AIM-PIbd-32-Kaznacheeva-E-K\\aimenv\\Lib\\site-packages\\woodwork\\type_sys\\utils.py:33: UserWarning: Could not infer format, so each element will be parsed individually, falling back to `dateutil`. To ensure parsing is consistent and as-expected, please specify a format.\n",
" pd.to_datetime(\n",
- "e:\\MII\\laboratory\\mai\\Lib\\site-packages\\featuretools\\synthesis\\deep_feature_synthesis.py:169: UserWarning: Only one dataframe in entityset, changing max_depth to 1 since deeper features cannot be created\n",
- " warnings.warn(\n"
+ "d:\\MII\\AIM-PIbd-32-Kaznacheeva-E-K\\aimenv\\Lib\\site-packages\\woodwork\\type_sys\\utils.py:33: UserWarning: Could not infer format, so each element will be parsed individually, falling back to `dateutil`. To ensure parsing is consistent and as-expected, please specify a format.\n",
+ " pd.to_datetime(\n",
+ "d:\\MII\\AIM-PIbd-32-Kaznacheeva-E-K\\aimenv\\Lib\\site-packages\\woodwork\\type_sys\\utils.py:33: UserWarning: Could not infer format, so each element will be parsed individually, falling back to `dateutil`. To ensure parsing is consistent and as-expected, please specify a format.\n",
+ " pd.to_datetime(\n",
+ "d:\\MII\\AIM-PIbd-32-Kaznacheeva-E-K\\aimenv\\Lib\\site-packages\\woodwork\\type_sys\\utils.py:33: UserWarning: Could not infer format, so each element will be parsed individually, falling back to `dateutil`. To ensure parsing is consistent and as-expected, please specify a format.\n",
+ " pd.to_datetime(\n",
+ "d:\\MII\\AIM-PIbd-32-Kaznacheeva-E-K\\aimenv\\Lib\\site-packages\\woodwork\\type_sys\\utils.py:33: UserWarning: Could not infer format, so each element will be parsed individually, falling back to `dateutil`. To ensure parsing is consistent and as-expected, please specify a format.\n",
+ " pd.to_datetime(\n",
+ "d:\\MII\\AIM-PIbd-32-Kaznacheeva-E-K\\aimenv\\Lib\\site-packages\\woodwork\\type_sys\\utils.py:33: UserWarning: Could not infer format, so each element will be parsed individually, falling back to `dateutil`. To ensure parsing is consistent and as-expected, please specify a format.\n",
+ " pd.to_datetime(\n",
+ "d:\\MII\\AIM-PIbd-32-Kaznacheeva-E-K\\aimenv\\Lib\\site-packages\\woodwork\\type_sys\\utils.py:33: UserWarning: Could not infer format, so each element will be parsed individually, falling back to `dateutil`. To ensure parsing is consistent and as-expected, please specify a format.\n",
+ " pd.to_datetime(\n",
+ "d:\\MII\\AIM-PIbd-32-Kaznacheeva-E-K\\aimenv\\Lib\\site-packages\\woodwork\\type_sys\\utils.py:33: UserWarning: Could not infer format, so each element will be parsed individually, falling back to `dateutil`. To ensure parsing is consistent and as-expected, please specify a format.\n",
+ " pd.to_datetime(\n",
+ "d:\\MII\\AIM-PIbd-32-Kaznacheeva-E-K\\aimenv\\Lib\\site-packages\\woodwork\\type_sys\\utils.py:33: UserWarning: Could not infer format, so each element will be parsed individually, falling back to `dateutil`. To ensure parsing is consistent and as-expected, please specify a format.\n",
+ " pd.to_datetime(\n",
+ "d:\\MII\\AIM-PIbd-32-Kaznacheeva-E-K\\aimenv\\Lib\\site-packages\\woodwork\\type_sys\\utils.py:33: UserWarning: Could not infer format, so each element will be parsed individually, falling back to `dateutil`. To ensure parsing is consistent and as-expected, please specify a format.\n",
+ " pd.to_datetime(\n",
+ "d:\\MII\\AIM-PIbd-32-Kaznacheeva-E-K\\aimenv\\Lib\\site-packages\\woodwork\\type_sys\\utils.py:33: UserWarning: Could not infer format, so each element will be parsed individually, falling back to `dateutil`. To ensure parsing is consistent and as-expected, please specify a format.\n",
+ " pd.to_datetime(\n",
+ "d:\\MII\\AIM-PIbd-32-Kaznacheeva-E-K\\aimenv\\Lib\\site-packages\\woodwork\\type_sys\\utils.py:33: UserWarning: Could not infer format, so each element will be parsed individually, falling back to `dateutil`. To ensure parsing is consistent and as-expected, please specify a format.\n",
+ " pd.to_datetime(\n",
+ "d:\\MII\\AIM-PIbd-32-Kaznacheeva-E-K\\aimenv\\Lib\\site-packages\\woodwork\\type_sys\\utils.py:33: UserWarning: Could not infer format, so each element will be parsed individually, falling back to `dateutil`. To ensure parsing is consistent and as-expected, please specify a format.\n",
+ " pd.to_datetime(\n",
+ "d:\\MII\\AIM-PIbd-32-Kaznacheeva-E-K\\aimenv\\Lib\\site-packages\\woodwork\\type_sys\\utils.py:33: UserWarning: Could not infer format, so each element will be parsed individually, falling back to `dateutil`. To ensure parsing is consistent and as-expected, please specify a format.\n",
+ " pd.to_datetime(\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " work_year experience_level employment_type job_title \\\n",
+ "id \n",
+ "1 2023 SE FT Principal Data Scientist \n",
+ "2 2023 MI CT ML Engineer \n",
+ "3 2023 MI CT ML Engineer \n",
+ "4 2023 SE FT Data Scientist \n",
+ "5 2023 SE FT Data Scientist \n",
+ "\n",
+ " salary salary_currency salary_in_usd employee_residence remote_ratio \\\n",
+ "id \n",
+ "1 80000 EUR 85847 ES 100 \n",
+ "2 30000 USD 30000 US 100 \n",
+ "3 25500 USD 25500 US 100 \n",
+ "4 175000 USD 175000 CA 100 \n",
+ "5 120000 USD 120000 CA 100 \n",
+ "\n",
+ " company_location company_size \n",
+ "id \n",
+ "1 ES L \n",
+ "2 US S \n",
+ "3 US S \n",
+ "4 CA M \n",
+ "5 CA M \n",
+ " work_year experience_level employment_type job_title salary \\\n",
+ "id \n",
+ "2385 2022 SE FT Data Engineer 175000 \n",
+ "941 2023 SE FT Analytics Engineer 150000 \n",
+ "1617 2023 MI FT Data Analyst 65000 \n",
+ "1443 2023 MI FT Data Analyst 61200 \n",
+ "416 2023 SE FT Data Scientist 175000 \n",
+ "\n",
+ " salary_currency salary_in_usd employee_residence remote_ratio \\\n",
+ "id \n",
+ "2385 USD 175000 US 100 \n",
+ "941 USD 150000 US 0 \n",
+ "1617 GBP 78990 GB 0 \n",
+ "1443 USD 61200 US 0 \n",
+ "416 USD 175000 US 100 \n",
+ "\n",
+ " company_location company_size \n",
+ "id \n",
+ "2385 US M \n",
+ "941 US M \n",
+ "1617 GB M \n",
+ "1443 US M \n",
+ "416 US M \n",
+ " work_year experience_level employment_type job_title salary \\\n",
+ "id \n",
+ "2321 2022 SE FT Analytics Engineer 116250 \n",
+ "473 2023 EX FT Data Engineer 286000 \n",
+ "2269 2022 EN FT Data Engineer 135000 \n",
+ "430 2023 SE FT Data Analyst 208450 \n",
+ "3574 2020 MI FT Data Engineer 88000 \n",
+ "\n",
+ " salary_currency salary_in_usd employee_residence remote_ratio \\\n",
+ "id \n",
+ "2321 USD 116250 US 100 \n",
+ "473 USD 286000 US 100 \n",
+ "2269 USD 135000 US 0 \n",
+ "430 USD 208450 US 100 \n",
+ "3574 GBP 112872 GB 50 \n",
+ "\n",
+ " company_location company_size \n",
+ "id \n",
+ "2321 US M \n",
+ "473 US M \n",
+ "2269 US M \n",
+ "430 US M \n",
+ "3574 GB L \n"
]
}
],
"source": [
+ "import pandas as pd\n",
"import featuretools as ft\n",
+ "from sklearn.model_selection import train_test_split\n",
+ "\n",
+ "# Загрузка данных\n",
+ "df = pd.read_csv(\"..//static//csv//ds_salaries.csv\")\n",
+ "\n",
+ "# Создание уникального идентификатора для каждой строки\n",
+ "df['id'] = range(1, len(df) + 1)\n",
"\n",
"# Предобработка данных (например, кодирование категориальных признаков, удаление дубликатов)\n",
- "# Удаление дубликатов по идентификатору\n",
- "df = df.drop_duplicates(subset='id')\n",
- "duplicates = train_data_encoded[train_data_encoded['id'].duplicated(keep=False)]\n",
- "\n",
- "# Удаление дубликатов из столбца \"id\", сохранив первое вхождение\n",
- "df_encoded = df_encoded.drop_duplicates(subset='id', keep='first')\n",
- "\n",
- "print(duplicates)\n",
- "\n",
+ "# Удаление дубликатов по всем столбцам\n",
+ "df = df.drop_duplicates()\n",
"\n",
"# Создание EntitySet\n",
- "es = ft.EntitySet(id='house_data')\n",
+ "es = ft.EntitySet(id='data_science_jobs')\n",
"\n",
- "# Добавление датафрейма с домами\n",
- "es = es.add_dataframe(dataframe_name='houses', dataframe=df_encoded, index='id')\n",
+ "# Добавление датафрейма с данными о рабочих местах\n",
+ "es = es.add_dataframe(\n",
+ " dataframe_name='jobs',\n",
+ " dataframe=df,\n",
+ " index='id'\n",
+ ")\n",
"\n",
"# Генерация признаков с помощью глубокой синтезы признаков\n",
- "feature_matrix, feature_defs = ft.dfs(entityset=es, target_dataframe_name='houses', max_depth=2)\n",
+ "feature_matrix, feature_defs = ft.dfs(entityset=es, target_dataframe_name='jobs', max_depth=1)\n",
"\n",
"# Выводим первые 5 строк сгенерированного набора признаков\n",
"print(feature_matrix.head())\n",
"\n",
- "train_data_encoded = train_data_encoded.drop_duplicates(subset='id')\n",
- "train_data_encoded = train_data_encoded.drop_duplicates(subset='id', keep='first') # or keep='last'\n",
+ "# Разделение данных на обучающую и тестовую выборки\n",
+ "train_data, test_data = train_test_split(df, test_size=0.3, random_state=42)\n",
"\n",
- "# Определение сущностей (Создание EntitySet)\n",
- "es = ft.EntitySet(id='house_data')\n",
- "\n",
- "es = es.add_dataframe(dataframe_name='houses', dataframe=train_data_encoded, index='id')\n",
- "\n",
- "# Генерация признаков\n",
- "feature_matrix, feature_defs = ft.dfs(entityset=es, target_dataframe_name='houses', max_depth=2)\n",
+ "# Разделение оставшейся части на валидационную и тестовую выборки\n",
+ "val_data, test_data = train_test_split(test_data, test_size=0.5, random_state=42)\n",
"\n",
"# Преобразование признаков для контрольной и тестовой выборок\n",
- "val_feature_matrix = ft.calculate_feature_matrix(features=feature_defs, entityset=es, instance_ids=val_data_encoded.index)\n",
- "test_feature_matrix = ft.calculate_feature_matrix(features=feature_defs, entityset=es, instance_ids=test_data_encoded.index)"
+ "val_feature_matrix = ft.calculate_feature_matrix(features=feature_defs, entityset=es, instance_ids=val_data['id'])\n",
+ "test_feature_matrix = ft.calculate_feature_matrix(features=feature_defs, entityset=es, instance_ids=test_data['id'])\n",
+ "\n",
+ "# Вывод первых 5 строк сгенерированных признаков для валидационной и тестовой выборок\n",
+ "print(val_feature_matrix.head())\n",
+ "print(test_feature_matrix.head())"
]
},
{
@@ -1152,34 +1001,176 @@
},
{
"cell_type": "code",
- "execution_count": 34,
+ "execution_count": 44,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
- "Время обучения модели: 5.18 секунд\n",
- "Среднеквадратичная ошибка: 125198557176601739264.00\n"
+ "Время обучения модели: 1.81 секунд\n",
+ "Среднеквадратичная ошибка (RMSE): 49834.60\n",
+ "Средняя абсолютная ошибка (MAE): 37776.22\n",
+ "Коэффициент детерминации (R²): 0.37\n",
+ "Кросс-валидация RMSE: 51653687796568.14 (± 37705548691705.71)\n",
+ "Корреляционная матрица признаков:\n",
+ " work_year remote_ratio experience_level_EX \\\n",
+ "work_year 1.000000 -0.236430 0.003156 \n",
+ "remote_ratio -0.236430 1.000000 0.007190 \n",
+ "experience_level_EX 0.003156 0.007190 1.000000 \n",
+ "experience_level_MI -0.128381 -0.000650 -0.092433 \n",
+ "experience_level_SE 0.194923 -0.035201 -0.252152 \n",
+ "... ... ... ... \n",
+ "company_location_UA 0.005969 -0.005896 -0.005778 \n",
+ "company_location_US 0.267002 -0.077706 0.022562 \n",
+ "company_location_VN 0.014787 -0.015545 -0.002888 \n",
+ "company_size_M 0.421975 -0.154550 -0.003061 \n",
+ "company_size_S -0.257948 0.108512 0.012020 \n",
+ "\n",
+ " experience_level_MI experience_level_SE \\\n",
+ "work_year -0.128381 0.194923 \n",
+ "remote_ratio -0.000650 -0.035201 \n",
+ "experience_level_EX -0.092433 -0.252152 \n",
+ "experience_level_MI 1.000000 -0.744400 \n",
+ "experience_level_SE -0.744400 1.000000 \n",
+ "... ... ... \n",
+ "company_location_UA -0.017059 0.005553 \n",
+ "company_location_US -0.255712 0.324686 \n",
+ "company_location_VN -0.008526 -0.023258 \n",
+ "company_size_M -0.097174 0.236746 \n",
+ "company_size_S 0.060936 -0.163489 \n",
+ "\n",
+ " employment_type_FL employment_type_FT \\\n",
+ "work_year -0.050350 0.116310 \n",
+ "remote_ratio 0.025238 -0.068702 \n",
+ "experience_level_EX -0.009144 0.001938 \n",
+ "experience_level_MI 0.035964 -0.033295 \n",
+ "experience_level_SE -0.040667 0.113486 \n",
+ "... ... ... \n",
+ "company_location_UA 0.156722 -0.079394 \n",
+ "company_location_US -0.053906 0.082093 \n",
+ "company_location_VN -0.000843 0.001628 \n",
+ "company_size_M -0.047840 0.125424 \n",
+ "company_size_S 0.095761 -0.173783 \n",
+ "\n",
+ " employment_type_PT job_title_AI Developer \\\n",
+ "work_year -0.093825 0.027726 \n",
+ "remote_ratio 0.041919 -0.016126 \n",
+ "experience_level_EX -0.011933 -0.009591 \n",
+ "experience_level_MI -0.006230 -0.004301 \n",
+ "experience_level_SE -0.096100 -0.045802 \n",
+ "... ... ... \n",
+ "company_location_UA -0.002202 0.300345 \n",
+ "company_location_US -0.078434 -0.099216 \n",
+ "company_location_VN -0.001101 -0.000885 \n",
+ "company_size_M -0.100277 -0.043467 \n",
+ "company_size_S 0.108664 0.064994 \n",
+ "\n",
+ " job_title_AI Programmer ... company_location_SG \\\n",
+ "work_year 0.004219 ... -0.021620 \n",
+ "remote_ratio 0.001772 ... 0.016794 \n",
+ "experience_level_EX -0.004085 ... -0.007079 \n",
+ "experience_level_MI -0.012059 ... 0.044089 \n",
+ "experience_level_SE -0.032896 ... -0.042828 \n",
+ "... ... ... ... \n",
+ "company_location_UA -0.000754 ... -0.001306 \n",
+ "company_location_US -0.047600 ... -0.082490 \n",
+ "company_location_VN -0.000377 ... -0.000653 \n",
+ "company_size_M -0.021372 ... -0.055210 \n",
+ "company_size_S -0.004676 ... -0.008104 \n",
+ "\n",
+ " company_location_SI company_location_SK \\\n",
+ "work_year -0.017648 -0.008821 \n",
+ "remote_ratio 0.027712 0.018050 \n",
+ "experience_level_EX -0.005778 -0.002888 \n",
+ "experience_level_MI 0.042620 -0.008526 \n",
+ "experience_level_SE -0.029172 0.011453 \n",
+ "... ... ... \n",
+ "company_location_UA -0.001066 -0.000533 \n",
+ "company_location_US -0.067335 -0.033654 \n",
+ "company_location_VN -0.000533 -0.000266 \n",
+ "company_size_M -0.030233 -0.037352 \n",
+ "company_size_S -0.006615 0.080574 \n",
+ "\n",
+ " company_location_TH company_location_TR \\\n",
+ "work_year -0.001648 -0.051424 \n",
+ "remote_ratio 0.011871 -0.004714 \n",
+ "experience_level_EX -0.005003 -0.006461 \n",
+ "experience_level_MI 0.008196 0.052106 \n",
+ "experience_level_SE -0.020249 -0.036503 \n",
+ "... ... ... \n",
+ "company_location_UA -0.000923 -0.001192 \n",
+ "company_location_US -0.058306 -0.075293 \n",
+ "company_location_VN -0.000462 -0.000596 \n",
+ "company_size_M -0.039024 -0.003949 \n",
+ "company_size_S -0.005728 -0.007397 \n",
+ "\n",
+ " company_location_UA company_location_US \\\n",
+ "work_year 0.005969 0.267002 \n",
+ "remote_ratio -0.005896 -0.077706 \n",
+ "experience_level_EX -0.005778 0.022562 \n",
+ "experience_level_MI -0.017059 -0.255712 \n",
+ "experience_level_SE 0.005553 0.324686 \n",
+ "... ... ... \n",
+ "company_location_UA 1.000000 -0.067335 \n",
+ "company_location_US -0.067335 1.000000 \n",
+ "company_location_VN -0.000533 -0.033654 \n",
+ "company_size_M -0.030233 0.314961 \n",
+ "company_size_S 0.035342 -0.229439 \n",
+ "\n",
+ " company_location_VN company_size_M company_size_S \n",
+ "work_year 0.014787 0.421975 -0.257948 \n",
+ "remote_ratio -0.015545 -0.154550 0.108512 \n",
+ "experience_level_EX -0.002888 -0.003061 0.012020 \n",
+ "experience_level_MI -0.008526 -0.097174 0.060936 \n",
+ "experience_level_SE -0.023258 0.236746 -0.163489 \n",
+ "... ... ... ... \n",
+ "company_location_UA -0.000533 -0.030233 0.035342 \n",
+ "company_location_US -0.033654 0.314961 -0.229439 \n",
+ "company_location_VN 1.000000 -0.037352 -0.003306 \n",
+ "company_size_M -0.037352 1.000000 -0.463577 \n",
+ "company_size_S -0.003306 -0.463577 1.000000 \n",
+ "\n",
+ "[250 rows x 250 columns]\n",
+ "Коэффициенты модели:\n",
+ " Feature Coefficient\n",
+ "0 work_year 3996.696898\n",
+ "1 remote_ratio 5.199270\n",
+ "2 experience_level_EX 88740.552288\n",
+ "3 experience_level_MI 20170.854874\n",
+ "4 experience_level_SE 44093.474726\n",
+ ".. ... ...\n",
+ "245 company_location_UA -64984.628104\n",
+ "246 company_location_US 40574.678578\n",
+ "247 company_location_VN 24478.024917\n",
+ "248 company_size_M -2895.244061\n",
+ "249 company_size_S -23506.811439\n",
+ "\n",
+ "[250 rows x 2 columns]\n"
]
}
],
"source": [
"import time\n",
- "from sklearn.model_selection import train_test_split\n",
+ "import pandas as pd\n",
+ "from sklearn.model_selection import train_test_split, cross_val_score\n",
"from sklearn.linear_model import LinearRegression\n",
- "from sklearn.metrics import mean_squared_error\n",
+ "from sklearn.metrics import mean_squared_error, mean_absolute_error, r2_score\n",
"\n",
- "# Разделение данных на обучающую и валидационную выборки. Удаляем целевую переменную\n",
- "X = feature_matrix.drop('price', axis=1)\n",
- "y = feature_matrix['price']\n",
+ "# Загрузка данных\n",
+ "df = pd.read_csv(\"..//static//csv//ds_salaries.csv\")\n",
"\n",
- "# One-hot encoding для категориальных переменных (преобразование категориальных объектов в числовые)\n",
+ "# Разделение данных на признаки и целевую переменную\n",
+ "X = df.drop(['salary_in_usd', 'salary', 'salary_currency'], axis=1) # Удаляем целевую переменную и ненужные столбцы\n",
+ "y = df['salary_in_usd']\n",
+ "\n",
+ "# One-hot encoding для категориальных переменных\n",
"X = pd.get_dummies(X, drop_first=True)\n",
"\n",
"# Проверяем, есть ли пропущенные значения, и заполняем их медианой или другим подходящим значением\n",
"X.fillna(X.median(), inplace=True)\n",
"\n",
+ "# Разделение данных на обучающую и валидационную выборки\n",
"X_train, X_val, y_train, y_val = train_test_split(X, y, test_size=0.2, random_state=42)\n",
"\n",
"# Обучение модели\n",
@@ -1192,24 +1183,72 @@
"# Время обучения модели\n",
"train_time = time.time() - start_time\n",
"\n",
- "# Предсказания и оценка модели и вычисляем среднеквадратичную ошибку\n",
+ "# Предсказания и оценка модели\n",
"predictions = model.predict(X_val)\n",
"mse = mean_squared_error(y_val, predictions)\n",
+ "mae = mean_absolute_error(y_val, predictions)\n",
+ "r2 = r2_score(y_val, predictions)\n",
"\n",
"print(f'Время обучения модели: {train_time:.2f} секунд')\n",
- "print(f'Среднеквадратичная ошибка: {mse:.2f}')\n"
+ "print(f'Среднеквадратичная ошибка (RMSE): {mse**0.5:.2f}')\n",
+ "print(f'Средняя абсолютная ошибка (MAE): {mae:.2f}')\n",
+ "print(f'Коэффициент детерминации (R²): {r2:.2f}')\n",
+ "\n",
+ "# Кросс-валидация\n",
+ "cv_scores = cross_val_score(model, X, y, cv=5, scoring='neg_mean_squared_error')\n",
+ "cv_rmse_scores = (-cv_scores)**0.5\n",
+ "print(f'Кросс-валидация RMSE: {cv_rmse_scores.mean():.2f} (± {cv_rmse_scores.std():.2f})')\n",
+ "\n",
+ "# Анализ корреляции\n",
+ "correlation_matrix = X.corr()\n",
+ "print(\"Корреляционная матрица признаков:\")\n",
+ "print(correlation_matrix)\n",
+ "\n",
+ "# Цельность: Проверка логической связи между признаками и целевой переменной\n",
+ "# В данном случае, мы можем проанализировать коэффициенты модели\n",
+ "coefficients = pd.DataFrame({'Feature': X.columns, 'Coefficient': model.coef_})\n",
+ "print(\"Коэффициенты модели:\")\n",
+ "print(coefficients)"
]
},
{
"cell_type": "code",
- "execution_count": 35,
+ "execution_count": null,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
- "e:\\MII\\laboratory\\mai\\Lib\\site-packages\\sklearn\\metrics\\_regression.py:492: FutureWarning: 'squared' is deprecated in version 1.4 and will be removed in 1.6. To calculate the root mean squared error, use the function'root_mean_squared_error'.\n",
+ "d:\\MII\\AIM-PIbd-32-Kaznacheeva-E-K\\aimenv\\Lib\\site-packages\\woodwork\\type_sys\\utils.py:33: UserWarning: Could not infer format, so each element will be parsed individually, falling back to `dateutil`. To ensure parsing is consistent and as-expected, please specify a format.\n",
+ " pd.to_datetime(\n",
+ "d:\\MII\\AIM-PIbd-32-Kaznacheeva-E-K\\aimenv\\Lib\\site-packages\\woodwork\\type_sys\\utils.py:33: UserWarning: Could not infer format, so each element will be parsed individually, falling back to `dateutil`. To ensure parsing is consistent and as-expected, please specify a format.\n",
+ " pd.to_datetime(\n",
+ "d:\\MII\\AIM-PIbd-32-Kaznacheeva-E-K\\aimenv\\Lib\\site-packages\\woodwork\\type_sys\\utils.py:33: UserWarning: Could not infer format, so each element will be parsed individually, falling back to `dateutil`. To ensure parsing is consistent and as-expected, please specify a format.\n",
+ " pd.to_datetime(\n",
+ "d:\\MII\\AIM-PIbd-32-Kaznacheeva-E-K\\aimenv\\Lib\\site-packages\\woodwork\\type_sys\\utils.py:33: UserWarning: Could not infer format, so each element will be parsed individually, falling back to `dateutil`. To ensure parsing is consistent and as-expected, please specify a format.\n",
+ " pd.to_datetime(\n",
+ "d:\\MII\\AIM-PIbd-32-Kaznacheeva-E-K\\aimenv\\Lib\\site-packages\\woodwork\\type_sys\\utils.py:33: UserWarning: Could not infer format, so each element will be parsed individually, falling back to `dateutil`. To ensure parsing is consistent and as-expected, please specify a format.\n",
+ " pd.to_datetime(\n",
+ "d:\\MII\\AIM-PIbd-32-Kaznacheeva-E-K\\aimenv\\Lib\\site-packages\\woodwork\\type_sys\\utils.py:33: UserWarning: Could not infer format, so each element will be parsed individually, falling back to `dateutil`. To ensure parsing is consistent and as-expected, please specify a format.\n",
+ " pd.to_datetime(\n",
+ "d:\\MII\\AIM-PIbd-32-Kaznacheeva-E-K\\aimenv\\Lib\\site-packages\\woodwork\\type_sys\\utils.py:33: UserWarning: Could not infer format, so each element will be parsed individually, falling back to `dateutil`. To ensure parsing is consistent and as-expected, please specify a format.\n",
+ " pd.to_datetime(\n",
+ "d:\\MII\\AIM-PIbd-32-Kaznacheeva-E-K\\aimenv\\Lib\\site-packages\\woodwork\\type_sys\\utils.py:33: UserWarning: Could not infer format, so each element will be parsed individually, falling back to `dateutil`. To ensure parsing is consistent and as-expected, please specify a format.\n",
+ " pd.to_datetime(\n",
+ "d:\\MII\\AIM-PIbd-32-Kaznacheeva-E-K\\aimenv\\Lib\\site-packages\\woodwork\\type_sys\\utils.py:33: UserWarning: Could not infer format, so each element will be parsed individually, falling back to `dateutil`. To ensure parsing is consistent and as-expected, please specify a format.\n",
+ " pd.to_datetime(\n",
+ "d:\\MII\\AIM-PIbd-32-Kaznacheeva-E-K\\aimenv\\Lib\\site-packages\\woodwork\\type_sys\\utils.py:33: UserWarning: Could not infer format, so each element will be parsed individually, falling back to `dateutil`. To ensure parsing is consistent and as-expected, please specify a format.\n",
+ " pd.to_datetime(\n",
+ "d:\\MII\\AIM-PIbd-32-Kaznacheeva-E-K\\aimenv\\Lib\\site-packages\\woodwork\\type_sys\\utils.py:33: UserWarning: Could not infer format, so each element will be parsed individually, falling back to `dateutil`. To ensure parsing is consistent and as-expected, please specify a format.\n",
+ " pd.to_datetime(\n",
+ "d:\\MII\\AIM-PIbd-32-Kaznacheeva-E-K\\aimenv\\Lib\\site-packages\\woodwork\\type_sys\\utils.py:33: UserWarning: Could not infer format, so each element will be parsed individually, falling back to `dateutil`. To ensure parsing is consistent and as-expected, please specify a format.\n",
+ " pd.to_datetime(\n",
+ "d:\\MII\\AIM-PIbd-32-Kaznacheeva-E-K\\aimenv\\Lib\\site-packages\\woodwork\\type_sys\\utils.py:33: UserWarning: Could not infer format, so each element will be parsed individually, falling back to `dateutil`. To ensure parsing is consistent and as-expected, please specify a format.\n",
+ " pd.to_datetime(\n",
+ "d:\\MII\\AIM-PIbd-32-Kaznacheeva-E-K\\aimenv\\Lib\\site-packages\\woodwork\\type_sys\\utils.py:33: UserWarning: Could not infer format, so each element will be parsed individually, falling back to `dateutil`. To ensure parsing is consistent and as-expected, please specify a format.\n",
+ " pd.to_datetime(\n",
+ "d:\\MII\\AIM-PIbd-32-Kaznacheeva-E-K\\aimenv\\Lib\\site-packages\\sklearn\\metrics\\_regression.py:492: FutureWarning: 'squared' is deprecated in version 1.4 and will be removed in 1.6. To calculate the root mean squared error, use the function'root_mean_squared_error'.\n",
" warnings.warn(\n"
]
},
@@ -1217,16 +1256,15 @@
"name": "stdout",
"output_type": "stream",
"text": [
+ "RMSE: 8277.602700993119\n",
+ "R²: 0.9826437806135544\n",
+ "MAE: 1270.2934354194408 \n",
"\n",
- "RMSE: 17870.38470608543\n",
- "R²: 0.9973762630189477\n",
- "MAE: 5924.569330616996 \n",
+ "Кросс-валидация RMSE: 13606.980806552549 \n",
"\n",
- "Кросс-валидация RMSE: 34577.766841359786 \n",
- "\n",
- "Train RMSE: 12930.759734777745\n",
- "Train R²: 0.9987426148033223\n",
- "Train MAE: 2495.3698282637165\n",
+ "Train RMSE: 4839.006207438376\n",
+ "Train R²: 0.9941174224388726\n",
+ "Train MAE: 664.4994041278297\n",
"\n"
]
},
@@ -1234,13 +1272,13 @@
"name": "stderr",
"output_type": "stream",
"text": [
- "e:\\MII\\laboratory\\mai\\Lib\\site-packages\\sklearn\\metrics\\_regression.py:492: FutureWarning: 'squared' is deprecated in version 1.4 and will be removed in 1.6. To calculate the root mean squared error, use the function'root_mean_squared_error'.\n",
+ "d:\\MII\\AIM-PIbd-32-Kaznacheeva-E-K\\aimenv\\Lib\\site-packages\\sklearn\\metrics\\_regression.py:492: FutureWarning: 'squared' is deprecated in version 1.4 and will be removed in 1.6. To calculate the root mean squared error, use the function'root_mean_squared_error'.\n",
" warnings.warn(\n"
]
},
{
"data": {
- "image/png": "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67ysihoxYgQmTJiAY8eOweVyYdOmTZg/f76yvbLvs6NHj8aIESMwbtw4/P7773j33XerbE2fJ554Av369cO1115bqlAOUW1w0SRBAwYMUL69KYvL5cLTTz+NTz/9FPn5+WjTpg1mzJihVHnZs2cP3nrrLaSkpCh/WJ45IZOoLM888wy++eYbPPjgg9i7dy+GDRumfFt/5MgR/PLLL5gyZQry8vLwySefKH/IL1++HAaDAatWrfL7437x4sVlXqdPnz5466234HQ68c033+C+++5Tqk5Vht1ux/PPP4+HHnoIjRs3LnMfg8GAH374Afv378fRo0chhEBWVpYyRAOA8q2+VqtF7969z3rNpKSkCle1ev755zFy5Eh06NABnTt3xrRp0/Diiy8q25ctW4bExER89dVXfvegrG/lO3bsiHfeeQc9evTACy+8gK5du2LmzJlYv359hWKpiOjoaISGhsLn853zPpRo27ZtqX3VarXf42XLluGaa67Be++959een59fZiGJymrcuDHWrFmDwsJCv96gvXv3KtvLUzJUMSUl5ZzPvSRROf0Px/379wOAUnUq0NdGYmKi33UtFguGDRuGTZs2KZPKgYrd76SkJBQVFVX4Z9isWbNS+5aXXFfkNVeie/fuMJlMuO+++7Bv375S2/fu3QuTyXTW34GkpCRs3rwZHo8HWq22As+m8g4cOFCqbf/+/QgJCVF6a0JCQsp9LiqVCg0bNgzommq1utS9P70qIHDq93bfvn249tpr/bbt27ev1M8hMjJSOefNN9+MFi1aYObMmfj888/99nvzzTeRnZ3tV9mvLBW5LwBw22234ZFHHsGnn34Kh8MBrVaL//u//1O2B/I+e7oBAwbAYDDgtttuw5VXXomkpKRSSVCg9wgAvvnmG2zcuLHKi8sQXUh1Zk7Q2LFjsXHjRnz22WfYuXMnhg4div79+ytvUCtWrEBiYiK+//57NG3aFE2aNME999zDniA6p7i4OGzcuBEDBgzA7Nmz0alTJyxduhQ2mw2NGzfG6NGjYTQasWLFCtx+++3KcSWlmk8f3nT48OFSJVlLdOvWDWq1GiaTCW+//TZ+//13vPPOO5WOe+7cubDZbBUa7tm8eXP06tULvXv3LjU+PiYmBldffTUWLlyIzMzMUseeXqL15ptvxo4dO8osByvOKJFc8o19+/bt8dhj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1Rg7dqzfcLfo6GjMmDEDI0eOhEpVeweV1d7IiYiIiIio2mzbtk1JgFQqFcaNG4f9+/dj1KhRtToBAgBJCCGCHURlFRQUwGKxwGq1IiwsLNjhEBERERFdNFwuF9q1a4eYmBjMnz8f7du3D3ZIZxVIbsDhcEREREREddz333+PPXv2YNKkSUqbXq/HunXrEBcXB0mSghhd1WMSRERERERUR6WlpWHChAn44YcfoFarcd1116F169bK9vj4+CBGV31q92A+IiIiIiIKmN1ux7PPPotWrVrhhx9+AAD4fD588MEHQY7swmBPEBERERFRHSGEwNdff42JEyfiyJEjSntCQgJmz56NW2+9NYjRXThMgoiIiIiI6oB9+/Zh/PjxWL16tdKm1WoxceJEPPvsszCbzUGM7sJiEkREREREdJFbv349rrnmGng8HqWtT58+eOONN9CyZcsgRhYcnBNERERERHSR69KlC1q0aAEAaNSoEZYvX45Vq1bVyQQIYE8QEREREdFFJzs7GzExMcpjjUaDBQsWYPXq1XjqqacQEhISxOiCjz1BREREREQXiYKCAjz66KNo1KgRtm3b5rftqquuwrRp0+p8AgQwCSIiIiIiqvWEEPj444/RsmVLvPbaa3C5XBg7dixkWQ52aDUSh8MREREREdViO3fuxNixY/HHH38obQaDAf369YPP54NKxX6PM9WYOzJ9+nRIkoSHH3442KEQEREREdV4+fn5mDBhAjp16uSXAN1www3YvXs3pk6dCq1WG8QIa64a0RP0999/Y+HChWjXrl2wQyEiIiIiqtFkWcaHH36IJ554AtnZ2Up7cnIy3njjDQwYMCCI0dUOQe8JKioqwvDhw/HOO++gXr16wQ6HiIiIiKhGE0Jg/vz5SgJkNBrx0ksvISUlhQlQBQU9CRozZgwGDhyI3r17n3Nfl8uFgoICv39ERERERHWJWq3GggULAAC33HIL9u7di6eeegp6vT7IkdUeQR0O99lnn2Hbtm34+++/K7T/K6+8gueff76aoyIiIiIiqhl8Ph/ef/99tGvXDl26dFHau3Tpgl27dqFVq1ZBjK72ClpP0NGjRzFhwgR8/PHHMBgMFTpm8uTJsFqtyr+jR49Wc5RERERERMHx119/oWvXrrjvvvvw0EMPwefz+W1nAlR5khBCBOPC33zzDW688Uao1WqlzefzQZIkqFQquFwuv21lKSgogMVigdVqRVhYWHWHTERERERU7XJycvDUU0/hvffew+l/qq9atQp9+/YNYmT+ZFkgPd8Bm9sLk06DhHAjVCopaPEEkhsEbThcr1698O+///q1jRo1Ci1btsQTTzxxzgSIiIiIiOhi4vP58Pbbb+OZZ55Bfn6+0t66dWvMnz8fV199ddBiO1NqdiFWpWQhLacITq8PBo0aSdFm9GsTi+SY0GCHd05BS4JCQ0PRpk0bvzaTyYTIyMhS7UREREREF7MNGzZgzJgx2L59u9IWFhaG559/HmPGjKlR6/2kZhdi8frDyLW5EW8xIERnhN3tRUqGFRlWB0Z1b1LjE6GgV4cjIiIiIqrLXn31VXTv3t0vAbrzzjuxb98+PPzwwzUqAZJlgVUpWci1udEsxoxQgxZqlYRQgxbNYszItbmxelcWZDkoM24qrEYlQevWrcOcOXOCHQYRERER0QXTt29fqFTFf5a3b98ef/zxBz788EPExcUFObLS0vMdSMspQrzFAEnyn/8jSRLiLQakZhchPd8RpAgrJqglsomIiIiI6pqioiKYzWblcYcOHfDkk0+ifv36uP/++6HR1Nw/0W1uL5xeH0J0xjK3G3VqZBU4YXN7L3Bkgam5d5iIiIiI6CKSkZGBSZMmYefOndi2bZvfMLeXXnopiJFVnEmngUGjht3tRaih9DA9h9sHvUYNk65mpxk1ajgcEREREdHFxuPxYNasWWjRogU++eQTpKSkYP78+cEOq1ISwo1IijYj0+rEmSvtCCGQaXUiOcaMhPCye4pqipqdohERERER1WK//PILxo0bhz179ihtkZGRiIyMDGJUladSSejXJhYZVgcOZBfPDTLq1HC4fci0OhFh0qFv69igrhdUEewJIiIiIiKqYkePHsWtt96K3r17KwmQJEl44IEHsG/fPowYMSLIEVZeckwoRnVvgjb1Lci3e3D4hA35dg/aJlhqRXlsgD1BRERERERVxuVy4bXXXsO0adNgt9uV9q5du2LBggXo1KlTEKOrOskxoUi82oz0fAdsbi9MOg0Swo01vgeoBJMgIiIiIqIqcujQIUyZMgVeb3F1tOjoaMyYMQMjR45UymBfLFQqCQ0jQoIdRqVcXD8JIiIiIqIgatmyJSZMmACVSoVx48Zh//79GDVq1EWXANV2/GkQEREREVWCw+HA66+/DpfL5dc+ZcoUbNu2DW+88QbCw8ODExydFZMgIiIiIqIArVixAq1bt8YjjzyC2bNn+20LCwtD+/btgxQZVQSTICIiIiKiCkpNTcWgQYNw/fXX49ChQwCAGTNmoLCwMMiRUSCYBBERERERnYPdbsezzz6L1q1b44cfflDar7nmGmzYsAGhoTW/LDSdwupwRERERETlEELg66+/xsSJE3HkyBGlPSEhAbNnz8att94KSaodZaHpFCZBRERERERlEEJgyJAh+O6775Q2rVaLiRMn4tlnn4XZbA5idHQ+OByOiIiIiKgMkiShXbt2yuM+ffpg586dmDFjBhOgWo5JEBERERERint+ShY5LTF58mT06NEDy5cvx6pVq9CyZcsgRUdViUkQEREREdV5u3btQq9evfDCCy/4tYeEhOD333/HTTfdxLk/FxEmQURERERUZxUUFOCRRx5B+/btsXbtWrz66qtIS0sLdlhUzZgEEREREVGdI4TA0qVL0aJFC7z++uvw+XwAgPr16yM7OzvI0VF1YxJERERERHXKjh07cNVVV+HOO+/E8ePHAQAGgwHPP/88du3ahSuuuCLIEVJ1Y4lsIiIiIqoT8vPzMWXKFCxYsACyLCvtQ4YMwWuvvYamTZsGMTq6kJgEEREREVGd8M4772DevHnK4+TkZMybNw/9+/cPYlQUDBwOR0RERER1wvjx45GcnIyQkBC8/PLLSElJYQJUR7EniIiIiIguOrm5ufjtt99w4403Km16vR6ffvopYmJi0KhRoyBGR8HGniAiIiIiumj4fD4sWrQIzZs3x6233oo9e/b4be/cuTMTIGISREREREQXh82bN6Nr1664//77cfLkSXi9Xjz55JPBDotqICZBRERERFSr5eTk4O6770bXrl2xZcsWpX3YsGF48803gxgZ1VScE0REREREtZLX68XChQvxzDPPID8/X2lv06YN5s+fj549ewYvOKrRmAQRERERUa1z9OhRDB48GDt27FDawsLC8MILL+Chhx6CVqsNYnRU0zEJIiIiIqJaJy4uDh6PR3k8cuRITJ8+HXFxcUGMimoLzgkiIiIiohpPCOH3WKvVYt68eejQoQP+/PNPLFmyhAkQVRiTICIiIiKq0X777Td06tQJ27dv92u/9tprsXXrVnTv3r1ary/LAkdz7dh7vABHc+2QZXHu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",
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAA38AAAIjCAYAAACzjKK3AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAADxHElEQVR4nOzdd3xT1f/H8VdGk3SmFGjLKLPIkL2HCgpStcLXr+CW5UAUUMEBKILyVXF8FdAqiPp1ggpuQEAEQURUhih7LyltKaV7pEnu7w9+jYQWbLFQxvv5eOQBOffccz/3Jk37yTn3HJNhGAYiIiIiIiJyXjNXdAAiIiIiIiJy+in5ExERERERuQAo+RMREREREbkAKPkTERERERG5ACj5ExERERERuQAo+RMREREREbkAKPkTERERERG5ACj5ExERERERuQAo+RMREREREbkAKPkTERERESmFhIQE0tPTfc8nT55MTk5OxQUkUkZK/kTOUQMHDiQkJKSiwxAREblgzJkzhyeffJL9+/czY8YMnnjiCQIDAys6LJFSMxmGYVR0ECJSOocPH2bGjBksX76cH374gdTUVK688kpatWrFjTfeSKtWrSo6RBERkfPWsmXL6N27N5mZmZjNZl566SUefPDBig5LpNSU/ImcIz7++GPuvvtusrOzqVOnDoWFhSQlJdGqVSt+//13CgsLGTBgANOnT8dms1V0uCIiIuel9PR0Nm/eTExMDDVr1qzocETKRMM+Rc4BK1as4Pbbbyc6OpoVK1awe/duevTogcPhYNWqVSQmJnLLLbfw3nvvMWLECL99//vf/9K5c2cqV65MYGAgbdq04dNPPy12DJPJxJNPPul77na7ueaaa4iIiGDTpk2+Oid7dOvWDYClS5diMplYunSp3zHi4+OLHadbt26+/Yrs2bMHk8nEu+++61e+ZcsW+vbtS0REBA6Hg7Zt2/L1118XO5f09HRGjBhBnTp1sNvt1KxZk/79+5OamnrC+BITE6lTpw5t27YlOzsbAJfLxbhx42jTpg1Op5Pg4GAuvfRSvv/++2LHTElJ4c4776RWrVpYLBbfNSnN0Nx//etf1KlTB4fDQWRkJL1792b9+vV+dd555x2uuOIKIiMjsdvtNGnShKlTpxZrq06dOlx77bV8++23tGzZEofDQZMmTfj888/96r377rsnfS2PfY2Obbukusdex6+++or4+HiqV6+O3W6nfv36/Oc//8Hj8fjqdOvW7W/fS2U975IMHDjwpMc4/v05e/Zs2rRpQ2BgIFWqVOH222/nwIEDpTpWad9zn3zyCY899hjR0dEEBwfTu3dv9u/f79fW8uXLueGGG6hVqxZ2u52YmBhGjBhBXl7eSc+vUqVKdOvWjeXLl/vVK3pPHG/YsGF+17rIhx9+6LsOERER3HzzzcVi7NatG02bNi2273//+19MJhN79uzxO/7AgQP96s2ePRuTyUSdOnX8yo9/7yUlJdG/f3+qVq2K3W6nadOmvPnmm8WOeyLz58+na9euhIaGEhYWRrt27Zg5c+ZJ93nyySdP+r459nOpaPj9rl27iIuLIzg4mOrVqzNhwgSO/249JyeHhx56iJiYGOx2Ow0bNuS///1vsXonOu7TTz8N/PVeKulzPCQkpNi13rVrFzfccAMREREEBQXRsWNH5s2b51fnxx9/5JJLLqFKlSo4HA7q1avHqFGjyM/P99Up+sw49rX1er00b978lK6LYRjUqVOHf/3rX8XOIz8/H6fTyT333OMrKygoYPz48cTGxvp+Lh599FEKCgpKvH6TJ08u1m6jRo0wmUwMGzaszNfo2N8b4eHhdOrUiZo1a5b4e03kbGat6ABE5O8999xzeL1ePv74Y9q0aVNse5UqVXj//ffZtGkTb7zxBuPHjycyMhKAKVOm0Lt3b2677TZcLhcff/wxN9xwA3PnziU+Pv6Ex7zrrrtYunQpixYtokmTJgB88MEHvu3Lly9n+vTpTJo0iSpVqgAQFRV1wvZ++OEHvvnmm1M6f4CNGzfSpUsXatSowejRowkODmbWrFlcd911fPbZZ/z73/8GIDs7m0svvZTNmzdzxx130Lp1a1JTU/n666/5888/fbEeKyMjg6uvvpqAgAC++eYbX8KWmZnJW2+9xS233MLdd99NVlYWb7/9NnFxcfz666+0bNnS18aAAQP47rvvGD58OC1atMBisTB9+nTWrl1bqvMbPHgw0dHRJCYmkpCQQI8ePdi9ezdBQUEATJ06lYsvvpjevXtjtVqZM2cO9913H16vl6FDh/q1tX37dm666SaGDBnCgAEDeOedd7jhhhtYsGABV155pV/dCRMmULduXd/z7Oxs7r333hPGeemllzJ48GAANm/ezLPPPuu3/d133yUkJISRI0cSEhLCkiVLGDduHJmZmbz44osAPP7449x1110ApKamMmLECAYPHsyll15a7HhlOe+S2O123nrrLb+yVatW8corrxSLe9CgQbRr146JEyeSnJzMlClTWLFiBb/99hvh4eEnPEZZ3nPPPPMMJpOJUaNGkZKSwuTJk+nRowfr1q3z3Tc0e/ZscnNzuffee6lcuTK//vorr776Kn/++SezZ8/2O3aVKlWYNGkSAH/++SdTpkzhmmuuYf/+/SeN+USeeeYZnnjiCW688UbuuusuDh06xKuvvspll132t9ehtNxuN48//vjf1nO5XPTo0YMtW7Zw77330rBhQ7788ksGDx7M4cOHGT169En3f/fdd7njjju4+OKLGTNmDOHh4fz2228sWLCAW2+99W+PP3XqVL8vb3bv3s24ceOK1fN4PFx11VV07NiRF154gQULFjB+/HjcbjcTJkwAjiY6vXv35vvvv+fOO++kZcuWLFy4kEceeYQDBw74XsMiV155Jf379/crO/bzprSSk5Pp3Lkzubm53H///VSuXJn33nuP3r178+mnn/o+N7OysmjcuDE33ngjQUFBrFy5khdeeIHc3FxeffXVE7b/wQcfFPuiqrTXxWQycfvtt/PCCy+QlpZGRESEb985c+aQmZnJ7bffDhxNMnv37s2PP/7I4MGDady4MevXr2fSpEls27aNL7/80u/YDoeDd955x2845k8//cTevXtP+RqV5J/+XhOpEIaInPUiIiKM2rVr+5UNGDDACA4O9it74oknDMCYM2eOryw3N9evjsvlMpo2bWpcccUVfuWAMX78eMMwDGPMmDGGxWIxvvzyyxPG9M477xiAsXv37mLbvv/+ewMwvv/+e19Zhw4djKuvvtrvOIZhGJdffrlx2WWX+e2/e/duAzDeeecdX1n37t2NZs2aGfn5+b4yr9drdO7c2WjQoIGvbNy4cQZgfP7558Xi8nq9xeLLz883unXrZkRGRho7duzwq+92u42CggK/siNHjhhRUVHGHXfc4SvLy8szzGazcc899/jVLek1Ko1Zs2YZgLF69Wpf2fGvo2EYRlxcnFGvXj2/stq1axuA8dlnn/nKMjIyjGrVqhmtWrXylRW9fqtWrfLb/9ChQ8VeoyI1atQwBg0a5Hte0utcUpz33HOPERQU5PfaFSnptT5Wac+7JCe6/rNnz/aL2+VyGZGRkUbTpk2NvLw8X725c+cagDFu3LiTHqcs77kaNWoYmZmZvu1Fr/WUKVN8ZSWd88SJEw2TyWTs3bvX7/yO/1yYPn26ARi//vqrr6x27dpGfHx8sTaHDh1qHPtnwJ49ewyLxWI888wzfvXWr19vWK1Wv/KuXbsaF198cbE2X3zxxWKfC7Vr1zYGDBjge/76668bdrvduPzyy4vFf+x779VXXzUAY9q0ab7tbrfb6N69u2G3243U1NRixy+Snp5uhIaGGh06dPB7TQ3jr9fkRMaPH28AxqFDh/zKV61aVey9OmDAAAMwhg8f7td+fHy8YbPZfG18+eWXBmA8/fTTfm327dvXMJlMfp89gDF06NATxlf0Xpo9e3axbcHBwX7X+sEHHzQAY/ny5b6yrKwso27dukadOnUMj8dzwuNcc801RtOmTX3Pj//Mz8/PN2rVquX7XD+V67J161YDMKZOnep37N69ext16tTxvVYffPCBYTab/c7DMAxj2rRpBmCsWLHCVwYYffv2NaxWq99n6J133mnceuutxa5vaa9RWX6viZzNNOxT5ByQlZXl68k7maKet8zMTF/ZsbOQHTlyhIyMDC699NIT9kglJCQwceJEXnnllRKH45yKzz//nFWrVvHcc88V2xYZGcmff/550v3T0tJYsmQJN954I1lZWaSmppKamsrhw4eJi4tj+/btvuF5n332GS1atCjx29rjh7h5vV769+/Pzz//zDfffEP9+vX9tlssFt/9k16vl7S0NNxuN23btvW7fjk5OXi9XipXrly6C1KC3NxcUlNTWbduHW+++SZRUVFcdNFFvu3Hvo4ZGRmkpqbStWtXdu3aRUZGhl9b1atX9zv/sLAw+vfvz2+//UZSUtIpx+hyubDb7Setc2ycRa/VpZdeSm5uLlu2bCnzMcty3qdq9erVpKSkcN999+FwOHzl8fHxNGrUqNjwr+OV5T3Xv39/QkNDfc/79u1LtWrV/HoPjj3nnJwcUlNT6dy5M4Zh8Ntvv/m15/V6fT8P69at4/3336datWo0btzYr15hYaGvXtHj2CF9cPTn1Ov1cuONN/rVi46OpkGDBsWGO3s8nmJt5ubmnvRa5ebmMmHCBIYNG0atWrVOWCc1NZU5c+bgdDq54447fNssFgsPPvggBQUFfPfddyc8zqJFi8jKymL06NF+rykUf03Kw7HDCIuGFbpcLl+M33zzDRaLhfvvv99vv4ceegjDMJg/f36Zj3nsZ2HR43jffPMN7du355JLLvGVhYSEMHjwYPbs2eMb0l8kLS2NgwcP8uWXX7Jy5Uouu+yyEx7/tdde4/Dhw4wfP/6Edf7uulx00UV06NCBGTNm+MUwf/58brvtNt9rNXv2bBo3bkyjRo38zveKK64AKPbejIqKIj4+nnfeeQc4+p6aNWsWgwYN+sfXqMjJfq+JnM007FPkHFC9enV27tz5t/V27NgBQI0aNXxlc+fO5emnn2bdunV+90aU9AfQ/PnzWb16NXD0F3B58Hg8PPbYY9x22200b9682PbOnTvzySefMHnyZG6++WasVitHjhwpdl6GYfDEE0/wxBNPlHiclJQUatSowc6dO+nTp0+pYnv88cf5+eefMZlMJ/yj9b333uOll15iy5YtFBYW+sqPHSpZuXJlGjRowFtvvUXXrl1p2bIlZrO52L0oJzNhwgSef/55ABo0aMDSpUv9koQVK1Ywfvx4Vq5cWSzWjIwMnE6n73lsbGyx17cokdyzZw/R0dGljuv44/zdPYwbN25k7NixLFmyxO9LiKL9y6os532qioaCNWzYsNi2Ro0a8eOPP550/7K85xo0aOD33GQyERsb63cf1b59+xg3bhxff/11sZ+F46/h/v37qVq1qu95tWrV+Oyzz4q9Tt9++61fvZJs374dwzCKxVgkICDA7/mWLVv+ts3jvfzyy+Tn5/PYY48xcuTIEuu8+OKLviHCrVq1KnbcosT22Gt2vKLPy5LuSyxvZrOZevXq+ZUd+/MGR99j1atX9/uZhr/OpaThiH/n2KT4RPbu3UuHDh2KlR973GOvUZMmTUhOTgaO3rc3ZcqUEtvNyMjg2WefZeTIkScc7l+a6wJHvxAZNmwYe/fupXbt2syePZvCwkL69evnq7N9+3Y2b958wvdbSkpKsbJBgwYxaNAgXnrpJWbPnk2lSpV8yeKxynqN4O9/r4mczZT8iZwDrr32Wl577TXefvtt7rzzzhLrJCcn895771G1alU6duwIHL0vr3fv3lx22WW8/vrrVKtWjYCAAN55550SJz349ddfufvuuwkODubpp5/mhhtuKPEP4rJ4++232bNnDwsXLixx++DBg1m4cCEjRowoNllNEa/XC8DDDz9MXFxciXViY2PLHNsvv/zCu+++S0JCAoMHD2bdunV+PVsffvghAwcO5LrrruORRx4hMjISi8XCxIkTiyXjn3zyCbfddlux+IKDg0sVy1133UX37t35888/mTRpEn369OGnn37C6XSyc+dOunfvTqNGjXj55ZeJiYnBZrPxzTffMGnSJN/1OZ3S0tJwuVwnTRzT09Pp2rUrYWFhTJgwgfr16+NwOFi7di2jRo0qc5xnw3mfaR6PhyuvvJK0tDRGjRpFo0aNCA4O5sCBAwwcOLDYOUdFRfHhhx8CR/8g/9///sdVV13Fjz/+SLNmzXz1OnTo4JswpEhCQgJfffWV77nX68VkMjF//nwsFkux2I5PKOvUqVNs8pXZs2czffr0Es8tNTWVF198kTFjxvjd33W8fv360b9//5Peeyowbty4YvfJ9urV6x+1OXv2bDIzM1mzZg3PPfccNWrUKPa+AXj++ecxm8088sgjHD58+B8d8+abb2bEiBHMmDGDxx57jA8//JC2bdv6/e7xer00a9aMl19+ucQ2YmJiipXFx8djs9n48ssveeeddxgwYABmc/kMePu732siZzMlfyLngLFjx/Lll19y7733smXLFm699Vbf7In79u1j8eLFjBs3jiNHjjBz5kxfAvPZZ5/hcDhYuHChX1JTNBTmeFdeeSVTp04lPz/fN7FC0QxnpyI3N5ennnqK++67j9q1a5dYx+FwMG/ePLZt28b+/fsxDIPk5GTfjf6A79vjgIAAevTocdJj1q9fnw0bNpQqvqeeeooBAwbQsmVL2rZty9NPP81//vMf3/ZPP/2UevXq8fnnn/tdg5KGObVq1Yo333yTSy+9lAkTJtCxY0defPFFVqxYUapYYmNjfQlsjx49qFWrFjNnzuTee+9lzpw5FBQU8PXXX/sNlStp1lH4q6f02Ji3bdsGUGx2xdIqGvp0/HDCYy1dupTDhw/z+eef+w0X27179ykds6znfaqK3ptbt24t1jOwdevWE753i5TlPbd9+3a/54ZhsGPHDl/vwfr169m2bRvvvfee34QfixYtKrE9h8Ph9zPRu3dvIiIiSEhI4I033vCVV6lSpdjPzvGTZNSvXx/DMKhbt67fkOMTCQ4OLtbmunXrTlj/6aefJjQ0lAceeOCk7darV48ePXpw0UUXsWLFCgoLC/16/4qGD5/svVw0hHvDhg2n9MVQWXi9Xnbt2uV3zY7/eatduzbfffcdWVlZfr1/Refyd++xkjRr1qzY9T8+aa9duzZbt24ttu+JjluUTB47g+Xo0aP9Ev/ExESmTJnCxIkTCQ0NPWHyV5rrAhAREUF8fDwzZszgtttuY8WKFcVm6qxfvz6///473bt3L/XvI6vVSr9+/XjmmWfYuHEj//vf/0qsV9ZrVJrfayJnM93zJ3IOiI6OZuXKlVx99dW89NJLtG7dmg8//JCcnBxq167NHXfcQWBgIHPmzOGWW27x7Ve05MCx0+zv2bOn2B99RTp37ozFYiE4OJhp06bxww8/lGla9eNNmTKFnJycUs3sd9FFF9G9e3d69OhBly5d/LZFRkbSrVs33njjDQ4ePFhs30OHDvn+36dPH37//Xe++OKLYvWM46ZUL/pDp0WLFjz88MM8//zzfn/EF/0hdex+v/zyCytXrizWdmZmJv369aN3796MHTuWHj16UK1atb8975IU3btTNGy0pDgyMjJOmMQnJib6nX9mZibvv/8+LVu2POUhnx9//DE2m83vvpjjlRSny+Xi9ddfP6VjlvW8T1Xbtm2JjIxk2rRpfkN158+fz+bNm086Ky6U7T33/vvvk5WV5Xv+6aefcvDgQa6++mqg5HM2DOOEw++O53K5cLvdZRpyXOT666/HYrHw1FNPFYvbMIx/1MOzZ88epk6dypNPPul3T+PJXHXVVWRkZPgtIeD1epkyZQp2u/2kXwT17NmT0NBQJk6cWOzexuPPrTwkJCT4tZ+QkEBAQADdu3cH4JprrsHj8fjVA5g0aRImk8n3+pe3a665hl9//dXvMysnJ4fp06dTp04d30zOJUlNTcXr9foNd4ejX5pFRUUxZMiQvz3+312XIv369WPTpk088sgjWCwWbr75Zr/tN954IwcOHCjx91FeXh45OTklHv+OO+5g/fr1XHbZZcWGoBYp6zUqy+81kbORev5EzhExMTF89dVXHDx4kBUrVvDiiy+ybt06pk2bRsuWLWnZsmWxb0Tj4+N5+eWXueqqq7j11ltJSUnhtddeIzY2lj/++OOkx4uLi+P222/n0UcfpVevXqeUyHz77bc888wz/2gilCKvvfYal1xyCc2aNePuu++mXr16JCcns3LlSv78809+//13AB555BE+/fRTbrjhBu644w7atGlDWloaX3/9NdOmTaNFixYltj9+/Hg+++wz7r77blasWIHZbObaa6/l888/59///jfx8fHs3r2badOm0aRJE99agEWGDh1KXl5esWUF/s4333zDW2+9RefOnYmIiGDXrl28+eabBAcH+yYQ6dmzJzabjV69enHPPfeQnZ3Nm2++SWRkZInJ8EUXXcSdd97JqlWriIqK4n//+x/JycmnlDRt376d8ePH89FHHzF69GjCwsJOWLdz585UqlSJAQMGcP/992Mymfjggw9O+Y/tsp73qQoICOD5559n0KBBdO3alVtuucW31EOdOnVOOBy5SFnecxEREVxyySUMGjSI5ORkJk+eTGxsLHfffTdw9B7D+vXr8/DDD3PgwAHCwsL47LPPit37VyQnJ8dv2OcHH3xAfn7+SaenP5H69evz9NNPM2bMGPbs2cN1111HaGgou3fv5osvvmDw4ME8/PDDZW4XYNmyZTRu3LjECTdO5K677mLatGncd999rF+/noYNG/LVV1+xaNEiJk6ceNLPlbCwMCZNmsRdd91Fu3btuPXWW6lUqRK///47ubm5vPfee6d0HiVxOBwsWLCAAQMG0KFDB+bPn8+8efN47LHHfPeo9erVi8svv5zHH3+cPXv20KJFC7799lu++uorHnzwwWKTTZWX0aNH89FHH3H11Vdz//33ExERwXvvvcfu3bv57LPPfMMg77vvPgICAmjYsCFms5kff/yRmTNncu2111KpUiW/Nr/99ltmzJjhmwzrn1yXIvHx8VSuXJnZs2dz9dVXF5vgrF+/fsyaNYshQ4bw/fff06VLFzweD1u2bGHWrFksXLiQtm3bFouhcePGpKamnvQLh9Jeo2PPv7x+r4lUiDM5taiIlJ/SLiPw9ttvGw0aNDDsdrvRqFEj45133vFNZX4sSpiqOjU11ahatarx73//u1i7pVnqoVq1akZOTs7fHud4J5r+f+fOnUb//v2N6OhoIyAgwKhRo4Zx7bXXGp9++qlfvcOHDxvDhg0zatSoYdhsNqNmzZrGgAEDfFPDlzRlt2EYxtKlSw2TyeSbdt/r9RrPPvusUbt2bcNutxutWrUy5s6dW2yK/Y8++sgwmUzGggUL/NorzWu0YcMGo2fPnkblypUNm81mxMTEGDfffLPxxx9/+NX7+uuvjebNmxsOh8OoU6eO8fzzzxv/+9//SpxWPz4+3li4cKHRvHlz3+t+/LTwpV3q4aOPPjKaNm1qTJkypdgU+SVdxxUrVhgdO3Y0AgMDjerVqxuPPvqosXDhwhKvt2H8/VIPpT3vkpR2qYcin3zyidGqVSvDbrcbERERxm233Wb8+eefJz1GkdK+5z766CNjzJgxRmRkpBEYGGjEx8f7Ld9gGIaxadMmo0ePHkZISIhRpUoV4+677zZ+//33E06nX/QICQkxWrdubXzwwQd+7ZV2qYcin332mXHJJZcYwcHBRnBwsNGoUSNj6NChxtatW311yrrUA2B88cUXfnVLWqri+M+H5ORkY9CgQUaVKlUMm81mXHzxxcb06dOLHfdEvv76a6Nz585GYGCgERYWZrRv39746KOPTrpPWZd6CA4ONnbu3Gn07NnTCAoKMqKioozx48cXW0YhKyvLGDFihFG9enUjICDAaNCggfHiiy8W+7miHJd6MIyjn5t9+/Y1wsPDDYfDYbRv396YO3euX52pU6cazZo1M4KDg42QkBCjSZMmxlNPPWVkZ2f76hR9ZrRs2dIv5pJ+hstyXYrcd999BmDMnDmzxO0ul8t4/vnnjYsvvtiw2+1GpUqVjDZt2hhPPfWUkZGRUerrV9L20lyjf/p7TeRsYTKM0zD+QUREKkSdOnVo2rQpc+fOrehQ5BhLly7l8ssvZ/bs2fTt27eiw5FyMnDgQD799NNiIwEudKdyXUaMGMHbb79NUlISQUFBpzE6kQub7vkTERERkQqTn5/Phx9+SJ8+fZT4iZxmuudPRERERM64lJQUvvvuOz799FMOHz78tzPBisg/p+RPRERERM64TZs2cdtttxEZGckrr7xCy5YtKzokkfOe7vkTERERERG5AOiePxERERERkQuAkj8REREREZELgO75O4O8Xi+JiYmEhoYWW4xbREREREQuHIZhkJWVRfXq1TGbz1CfXIWuMniMiRMnGoDxwAMP+Mry8vKM++67z4iIiDCCg4ON66+/3khKSvLbb+/evcY111xjBAYGGlWrVjUefvhho7Cw0K/O999/b7Rq1cqw2WxG/fr1S1xMOCEhwbeQc/v27Y1ffvnFb3tpYvk7+/fv91uQVw899NBDDz300EMPPfS4sB/79+8vU07xT5wVPX+rVq3ijTfeoHnz5n7lI0aMYN68ecyePRun08mwYcO4/vrrWbFiBQAej4f4+Hiio6P56aefOHjw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mVDpTY22JwEYlxKO8/tFotrjR56tGgWVLiRHNF6fiIiIOk+rT/uMiIho9qs9nTx5EmVlZUoAlpmZicrKSuzcuVOp89VXX0GWZYwbN06ps3HjRvh8pw8vWLNmDQYOHKicTpqZmYl169YF3WvNmjVKHsP+/fsjLi4uqI7D4cC2bduUOkREXZnfL2P2S5uw9IzAT/a6UbHxnyh882aUrf4bhBCQAWh+mrgzZ0xtMvADgN+OT8a4/lGQJAlGnRoefwBOr79dn4WIiIjOTatn/oQQkGUZd955Z4O9dK1VXV2NvLw85XV+fj52796tBJJPPPEErrzySsTFxeHo0aO47777kJaWhuzsbADA4MGDMX36dCxatAjLli2Dz+fDLbfcgquuugoJCQkAgGuuuQZPPPEErrvuOixZsgS5ubl44YUX8Nxzzyn3vf3223HhhRfi2WefxaWXXoqVK1dix44dSjoISZJwxx134A9/+APS09PRv39/PPLII0hISOjQPZBERK0lywJvbfsBz3x+GFXe02nahRCoObwFFeveQKCqFADgObkPNQe/QcjgCyCL2lm95o6DnpAaiTDT6dUNLm8Aeo0aIbputaiEiIio12h1qofy8nI8/vjjWL58ORYvXoyHH3640bx/LbF+/XpcdNFFDcrnzZuHV155BZdddhl27dqFyspKJCQkYNq0afh//+//BR28Ul5ejltuuQUff/wxVCoVrrzySrz44oswm0+fQvf999/j5ptvxvbt2xEVFYVbb70VS5YsCbrn+++/j4cffhjHjh1Deno6nn76acycOVO5LoTAY489htdeew2VlZWYNGkSXn75ZQwYMKDFz8tUD0QkywIFlS44vX6E6DRIDDO22/64wyUOLFy+HScrg/OR+spOoHzNq3D/uPt0oUqD0PMvgzVzDlQ64+llIRIgn/GvhAFAWoIFo/qEIyKkNvgTQuCIrRrDEq1YfGEq9/wRERGdRWfEBq0O/uocPnwYS5YswaZNm/Doo4/id7/7HdRqHuvdHAZ/RL1bnq0KX+SW4GhpNdz+AAwaNVKjzcjOiG3TBOiyLPDahsN46ou84HJPDexbVsKx47+AHFDKDf1GISLrRmgjk5QyjQSYjVqkRocgJSoE/oCANyDD45dRWuVBqFGL9BgzjDo1XN4AiuxuRITosGBiPyZzJyIiaoFuFfzV2bhxI+6+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EREREXU1zPPXgbpSnj8iIiIiIuo8nREbcM8fERERERFRL8Dgj4iIiIiIqBdg8EdERERERNQLMPgjIiIiIiLqBRj8ERERERER9QIM/oiIiIiIiHoBBn9ERERERES9AJO8d6C6lIoOh6OTe0JERERERJ2pLiboyLTrDP46UFVVFQAgOTm5k3tCRERERERdQVVVFaxWa4fcSxIdGWr2crIso7CwEBaLBZIktcs9HA4HkpOTceLECYSGhrbLPSgYx7zjccw7Hse8Y3G8Ox7HvONxzDsex7zjNTfmQghUVVUhISEBKlXH7MbjzF8HUqlUSEpK6pB7hYaG8i91B+OYdzyOecfjmHcsjnfH45h3PI55x+OYd7ymxryjZvzq8MAXIiIiIiKiXoDBHxERERERUS/A4K+H0ev1eOyxx6DX6zu7K70Gx7zjccw7Hse8Y3G8Ox7HvONxzDsex7zjdbUx54EvREREREREvQBn/oiIiIiIiHoBBn9ERERERES9AIM/IiIiIiKiXoDBHxERERERUS/A4K+HWbp0Kfr16weDwYBx48bh22+/7ewudTmPP/44JEkK+ho0aJBy3e124+abb0ZkZCTMZjOuvPJKlJSUBLVx/PhxXHrppTCZTIiJicG9994Lv98fVGf9+vU477zzoNfrkZaWhhUrVjToS0/9fm3cuBGzZs1CQkICJEnCqlWrgq4LIfDoo48iPj4eRqMRWVlZOHLkSFCd8vJyzJ07F6GhoQgLC8N1112H6urqoDrff/89Jk+eDIPBgOTkZDz99NMN+vL+++9j0KBBMBgMGDZsGD777LNW96U7ONuYz58/v8Hnfvr06UF1OOYt9+STT2Ls2LGwWCyIiYnBZZddhkOHDgXV6Uo/S1rSl66uJWM+ZcqUBp/zxYsXB9XhmLfcK6+8guHDhyvJqTMzM/H5558r1/kZb3tnG3N+xtvXU089BUmScMcddyhlPe5zLqjHWLlypdDpdOLNN98U+/btE4sWLRJhYWGipKSks7vWpTz22GNi6NChoqioSPkqLS1Vri9evFgkJyeLdevWiR07dojx48eLCRMmKNf9fr/IyMgQWVlZYteuXeKzzz4TUVFR4oEHHlDq/PDDD8JkMom77rpL7N+/X/ztb38TarVarF69WqnTk79fn332mXjooYfEhx9+KACIjz76KOj6U089JaxWq1i1apXY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q9XinXfeafNnJCLqbAz+iIh6oH379mHOnDlISkrCW2+9hU8++QQWiwUzZszAmjVrOrt7RA28+OKLWLBgAVSq1v1q4vP5cMkll8But+PDDz/EoUOH8O6772LYsGGorKwMqrt8+XIUFRVh3759WLp0KaqrqzFu3Dj885//DKo3f/58vPjiiz/3kYiIuhwGf0REPcxHH32EESNGwOPx4O2338ZvfvMbTJ8+HZ9//jni4uIwbdo0LF26VKm/fft2XHLJJYiKioLVasWFF16I7777LqjN+jMwQghce+21GD58OCoqKrBixYqgWZX6X/369QMAPP744xg5cqTSntfrRVpaGiRJUn5BP3M258z7AsCJEyfwm9/8BmFhYYiIiMDs2bNx7NixoPe8+eabGDp0KPR6PeLj43HLLbe06DkA4OjRo5g9ezZiY2NhNpsxduxYrF27Nqj9oqIiXHHFFYiMjAx61jMDjTqHDx/GiBEjYDabYTabMWnSJHz77bfK9dWrV2PSpEkICwtDZGQkfvGLX+Do0aPK9WPHjkGSJKxcuRITJkyAwWBARkYGNmzYoNRZv359k9+DM2fOpkyZ0qDO888/r1xfsmQJBgwYAJPJhJSUFDzyyCPw+XwA0KLvdUvG8EylpaX46quvzmmGet++fTh69ChefvlljB8/Hn379sXEiRPxhz/8AePHjw+qGxYWhri4OPTr1w/Tpk3DBx98gLlz5+KWW25RPgMAMGvWLOzYsSPo+0BE1BMw+CMi6mHuuOMOTJkyBatWrcKUKVNgNBqh1+sxadIkLF++HPPnz8d9990Hp9MJAKiqqsK8efOwadMmbN26Fenp6Zg5cyaqqqoabf+2227Dli1b8OWXXyI8PBxz5sxBUVERioqK8PzzzyMpKUl5vX379kbbeOmll1BSUtKq5/L5fMjOzobFYsE333yDzZs3w2w2Y/r06fB6vQCAV155BTfffDNuuOEG7N27F//73/+QlpbWoucAgOrqasycORPr1q3Drl27MH36dMyaNQvHjx9X3nf33Xfj8OHDWL16NYqKivCf//yn2X5brVY89dRT2L17N3bu3InU1NSgpY1OpxN33XUXduzYgXXr1kGlUuHyyy9vsOfs3nvvxd13341du3YhMzMTs2bNQllZWVCdQ4cOKWNfVFTUaH+EEFi0aJFSJykpKei6xWLBihUrsH//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MWTIEOh0OmzYsAFvvvkmlixZEnSfyspKFBcXw+Px4PDhw3j11VexatUq/POf/0RYWJhSb+vWrdDr9UFLbYmIeoTO3nRIRETt68zDMc703XffiTFjxgiDwSDS09PF+++/3+AQEJxxWEZpaamIiYkRr776alBbzR34AkA888wzSllLDko5875FRUXi2muvFVFRUUKv14uUlBSxaNEiYbfblTrLli0TAwcOFFqtVsTHx4tbb721xc+Rn58vLrroImE0GkVycrJ46aWXxIUXXihuv/12IYQQNptNJCUliTfeeKPFz/Hhhx+KwYMHC4PBICIiIsSMGTPE999/r1xfs2aNGDx4sNDr9WL48OFi/fr1Qf2sO/DlX//6lzj//POFTqcTQ4YMEV999dVZ+1C/nUmTJolf//rX4sSJE0F1zvxe33vvvSIyMlKYzWYxZ84c8dxzzwmr1drguZr6Xp9tDJty3333iauuuqpB+TvvvCNGjx4tLBaLiI2NFTNnzhR79uxRrpeWlorbbrtNZGRkCLPZLCwWixg2bJh45plnRCAQCBqLui+DwSBSU1PFvHnzxM6dOxvc84YbbhA33nhjs/0lIuqOJCF+2ulMREREXc6xY8fQv39/7Nq1KyhXYk9TXFyMoUOH4rvvvkPfvn07rR+nTp3CwIEDsWPHjgb7AImIujvu+SMiIqJOFxcXh7///e/ntJe0LR07dgwvv/wyAz8i6pE480dERNSF9ZaZPyIian8M/oiIiIiIiHoBLvskIiIiIiLqBRj8ERERERER9QIM/oiIiIiIiHoBBn9ERERERES9AIM/IiIiIiKiXoDBHxERERERUS/A4I+IiIiIiKgXYPBHRERERETUC/x/CmmV7NxufGwAAAAASUVORK5CYII=",
"text/plain": [
"
"
]
@@ -1250,31 +1288,47 @@
}
],
"source": [
+ "import pandas as pd\n",
+ "import matplotlib.pyplot as plt\n",
"from sklearn.ensemble import RandomForestRegressor\n",
- "from sklearn.metrics import r2_score, mean_absolute_error\n",
- "from sklearn.model_selection import cross_val_score\n",
+ "from sklearn.metrics import r2_score, mean_absolute_error, mean_squared_error\n",
+ "from sklearn.model_selection import train_test_split, cross_val_score\n",
"\n",
+ "# Загрузка данных\n",
+ "df = pd.read_csv(\"..//static//csv//ds_salaries.csv\")\n",
+ "\n",
+ "# Создание уникального идентификатора для каждой строки\n",
+ "df['id'] = range(1, len(df) + 1)\n",
+ "\n",
+ "# Предобработка данных (например, кодирование категориальных признаков, удаление дубликатов)\n",
+ "# Удаление дубликатов по всем столбцам\n",
+ "df = df.drop_duplicates()\n",
+ "\n",
+ "# Создание EntitySet\n",
+ "es = ft.EntitySet(id='data_science_jobs')\n",
+ "\n",
+ "# Добавление датафрейма с данными о рабочих местах\n",
+ "es = es.add_dataframe(\n",
+ " dataframe_name='jobs',\n",
+ " dataframe=df,\n",
+ " index='id'\n",
+ ")\n",
+ "\n",
+ "# Генерация признаков с помощью глубокой синтезы признаков\n",
+ "feature_matrix, feature_defs = ft.dfs(entityset=es, target_dataframe_name='jobs', max_depth=1)\n",
"\n",
"# Удаление строк с NaN\n",
"feature_matrix = feature_matrix.dropna()\n",
- "val_feature_matrix = val_feature_matrix.dropna()\n",
- "test_feature_matrix = test_feature_matrix.dropna()\n",
"\n",
"# Разделение данных на обучающую и тестовую выборки\n",
- "X_train = feature_matrix.drop('price', axis=1)\n",
- "y_train = feature_matrix['price']\n",
- "X_val = val_feature_matrix.drop('price', axis=1)\n",
- "y_val = val_feature_matrix['price']\n",
- "X_test = test_feature_matrix.drop('price', axis=1)\n",
- "y_test = test_feature_matrix['price']\n",
- "\n",
- "X_test = X_test.reindex(columns=X_train.columns, fill_value=0) \n",
+ "X_train = feature_matrix.drop('salary_in_usd', axis=1)\n",
+ "y_train = feature_matrix['salary_in_usd']\n",
"\n",
"# Кодирования категориальных переменных с использованием одноразового кодирования\n",
- "X = pd.get_dummies(X, drop_first=True)\n",
+ "X_train = pd.get_dummies(X_train, drop_first=True)\n",
"\n",
"# Разобьём тренировочный тест и примерку модели\n",
- "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)\n",
+ "X_train, X_test, y_train, y_test = train_test_split(X_train, y_train, test_size=0.2, random_state=42)\n",
"\n",
"# Выбор модели\n",
"model = RandomForestRegressor(random_state=42)\n",
@@ -1289,7 +1343,6 @@
"r2 = r2_score(y_test, y_pred)\n",
"mae = mean_absolute_error(y_test, y_pred)\n",
"\n",
- "print()\n",
"print(f\"RMSE: {rmse}\")\n",
"print(f\"R²: {r2}\")\n",
"print(f\"MAE: {mae} \\n\")\n",
@@ -1319,9 +1372,9 @@
"plt.figure(figsize=(10, 6))\n",
"plt.scatter(y_test, y_pred, alpha=0.5)\n",
"plt.plot([y_test.min(), y_test.max()], [y_test.min(), y_test.max()], 'k--', lw=2)\n",
- "plt.xlabel('Фактическая цена')\n",
- "plt.ylabel('Прогнозируемая цена')\n",
- "plt.title('Фактическая цена по сравнению с прогнозируемой')\n",
+ "plt.xlabel('Фактическая зарплата (USD)')\n",
+ "plt.ylabel('Прогнозируемая зарплата (USD)')\n",
+ "plt.title('Фактическая зарплата по сравнению с прогнозируемой')\n",
"plt.show()"
]
},
@@ -1329,25 +1382,22 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "# Выводы и итог \n",
+ "# Выводы и итог\n",
+ "Модель случайного леса (RandomForestRegressor) показала удовлетворительные результаты при прогнозировании зарплат в области Data Science. Метрики качества и кросс-валидация позволяют предположить, что модель не сильно переобучена и может быть использована для практических целей.\n",
"\n",
- "**Модель случайного леса (RandomForestRegressor)** показала удовлетворительные результаты при прогнозировании цен на недвижимость. Метрики качества и кросс-валидация позволяют предположить, что модель не сильно переобучена и может быть использована для практических целей. \n",
+ "Точность предсказаний: Модель показывает довольно высокий R² (0.8029), что указывает на хорошее объяснение вариации зарплат. Однако, значения RMSE и MAE довольно высоки, что говорит о том, что модель не очень точно предсказывает зарплаты, особенно для высоких значений.\n",
"\n",
- "*Точность предсказаний:* Модель демонстрирует довольно высокий R² (0.9987), что указывает на большую часть вариации целевого признака (цены недвижимости). Однако, значения RMSE и MAE остаются высоки (12930 и 2495), что свидетельствует о том, что модель не всегда точно предсказывает значения, особенно для объектов с высокими или низкими ценами. \n",
+ "Переобучение: Разница между RMSE на обучающей и тестовой выборках не очень большая, что указывает на то, что переобучение не является критическим. Однако, стоит быть осторожным и продолжать мониторинг этого показателя.\n",
"\n",
- "*Переобучение:* Разница между RMSE на обучающей и тестовой выборках незначительна, что указывает на то, что модель не склонна к переобучению. Однако в будущем стоит следить за этой метрикой при добавлении новых признаков или усложнении модели, чтобы избежать излишней подгонки под тренировочные данные. Также стоит быть осторожным и продолжать мониторинг этого показателя. \n",
+ "Кросс-валидация: Значение RMSE после кросс-валидации немного выше, чем на тестовой выборке, что может указывать на некоторую нестабильность модели.\n",
"\n",
- "*Кросс-валидация:* При кросс-валидации наблюдается небольшое увеличение ошибки RMSE по сравнению с тестовой выборкой (рост на 2-3%). Это может указывать на небольшую нестабильность модели при использовании разных подвыборок данных. Для повышения устойчивости модели возможно стоит провести дальнейшую настройку гиперпараметров. \n",
- "\n",
- "*Рекомендации:* Следует уделить внимание дополнительной обработке категориальных признаков, улучшению метода feature engineering, а также возможной оптимизации модели (например, через подбор гиперпараметров) для повышения точности предсказаний на экстремальных значениях.\n",
- "\n",
- "Кажется на этом закончили :)"
+ "Рекомендации: Следует уделить внимание дополнительной обработке категориальных признаков, улучшению метода feature engineering, а также возможной оптимизации модели (например, через подбор гиперпараметров) для повышения точности предсказаний на экстремальных значениях. Также стоит рассмотреть возможность использования других моделей, таких как градиентный бустинг или нейронные сети, для сравнения результатов и выбора наиболее эффективной модели."
]
}
],
"metadata": {
"kernelspec": {
- "display_name": "mai",
+ "display_name": "aimenv",
"language": "python",
"name": "python3"
},
@@ -1361,7 +1411,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
- "version": "3.12.6"
+ "version": "3.12.5"
}
},
"nbformat": 4,
diff --git a/lab_4/Lab4.ipynb b/lab_4/Lab4.ipynb
new file mode 100644
index 0000000..c43967a
--- /dev/null
+++ b/lab_4/Lab4.ipynb
@@ -0,0 +1,1948 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "**Начало лабораторной работы**"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Index(['work_year', 'experience_level', 'employment_type', 'job_title',\n",
+ " 'salary', 'salary_currency', 'salary_in_usd', 'employee_residence',\n",
+ " 'remote_ratio', 'company_location', 'company_size'],\n",
+ " dtype='object')\n"
+ ]
+ }
+ ],
+ "source": [
+ "import pandas as pd\n",
+ "df = pd.read_csv(\"..//static//csv//ds_salaries.csv\")\n",
+ "print(df.columns)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "
\n",
+ "\n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
\n",
+ "
work_year
\n",
+ "
experience_level
\n",
+ "
employment_type
\n",
+ "
job_title
\n",
+ "
salary
\n",
+ "
salary_currency
\n",
+ "
salary_in_usd
\n",
+ "
employee_residence
\n",
+ "
remote_ratio
\n",
+ "
company_location
\n",
+ "
company_size
\n",
+ "
\n",
+ " \n",
+ " \n",
+ "
\n",
+ "
0
\n",
+ "
2023
\n",
+ "
SE
\n",
+ "
FT
\n",
+ "
Principal Data Scientist
\n",
+ "
80000
\n",
+ "
EUR
\n",
+ "
85847
\n",
+ "
ES
\n",
+ "
100
\n",
+ "
ES
\n",
+ "
L
\n",
+ "
\n",
+ "
\n",
+ "
1
\n",
+ "
2023
\n",
+ "
MI
\n",
+ "
CT
\n",
+ "
ML Engineer
\n",
+ "
30000
\n",
+ "
USD
\n",
+ "
30000
\n",
+ "
US
\n",
+ "
100
\n",
+ "
US
\n",
+ "
S
\n",
+ "
\n",
+ "
\n",
+ "
2
\n",
+ "
2023
\n",
+ "
MI
\n",
+ "
CT
\n",
+ "
ML Engineer
\n",
+ "
25500
\n",
+ "
USD
\n",
+ "
25500
\n",
+ "
US
\n",
+ "
100
\n",
+ "
US
\n",
+ "
S
\n",
+ "
\n",
+ "
\n",
+ "
3
\n",
+ "
2023
\n",
+ "
SE
\n",
+ "
FT
\n",
+ "
Data Scientist
\n",
+ "
175000
\n",
+ "
USD
\n",
+ "
175000
\n",
+ "
CA
\n",
+ "
100
\n",
+ "
CA
\n",
+ "
M
\n",
+ "
\n",
+ "
\n",
+ "
4
\n",
+ "
2023
\n",
+ "
SE
\n",
+ "
FT
\n",
+ "
Data Scientist
\n",
+ "
120000
\n",
+ "
USD
\n",
+ "
120000
\n",
+ "
CA
\n",
+ "
100
\n",
+ "
CA
\n",
+ "
M
\n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " work_year experience_level employment_type job_title \\\n",
+ "0 2023 SE FT Principal Data Scientist \n",
+ "1 2023 MI CT ML Engineer \n",
+ "2 2023 MI CT ML Engineer \n",
+ "3 2023 SE FT Data Scientist \n",
+ "4 2023 SE FT Data Scientist \n",
+ "\n",
+ " salary salary_currency salary_in_usd employee_residence remote_ratio \\\n",
+ "0 80000 EUR 85847 ES 100 \n",
+ "1 30000 USD 30000 US 100 \n",
+ "2 25500 USD 25500 US 100 \n",
+ "3 175000 USD 175000 CA 100 \n",
+ "4 120000 USD 120000 CA 100 \n",
+ "\n",
+ " company_location company_size \n",
+ "0 ES L \n",
+ "1 US S \n",
+ "2 US S \n",
+ "3 CA M \n",
+ "4 CA M "
+ ]
+ },
+ "execution_count": 10,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df.head()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "