# Рубежный контроль №1 (весна 2025 года)

Необходимо подготовить отчет по рубежному контролю и разместить его в Вашем репозитории. Вы можете использовать титульный лист, или в начале ноутбука в текстовой ячейке указать Ваши Ф.И.О. и группу.

**Тема:** Методы обработки данных

---

## Варианты заданий

| Номер варианта | Номер задачи №1 | Номер задачи №2 |
|:--------------:|:---------------:|:---------------:|
| 1              | 1               | 21              |
| 2              | 2               | 22              |
| 3              | 3               | 23              |
| 4              | 4               | 24              |
| 5              | 5               | 25              |
| 6              | 6               | 26              |
| 7              | 7               | 27              |
| 8              | 8               | 28              |
| 9              | 9               | 29              |
| 10             | 10              | 30              |
| 11             | 11              | 31              |
| 12             | 12              | 32              |
| 13             | 13              | 33              |
| 14             | 14              | 34              |
| 15             | 15              | 35              |
| 16             | 16              | 36              |
| 17             | 17              | 37              |
| 18             | 18              | 38              |
| 19             | 19              | 39              |
| 20             | 20              | 40              |
| 21             | 5               | 23              |
| 22             | 7               | 33              |

---

## Определение номера варианта

- **Группы ИУ5-21М, ИУ5-22М, ИУ5-23М, ИУ5-24М**: номер варианта = номер в списке группы
- **Группы ИУ5И-21М, ИУ5И-22М, ИУ5И-23М, ИУ5И-24М**: номер варианта = 15 + номер в списке группы
- **Группа ИУ5-25МВ**: номер варианта = 20 + номер в списке группы

---

## Дополнительные требования по группам

- **ИУ5-21М, ИУ5И-21М**: для пары произвольных колонок данных построить график "Диаграмма рассеяния"
- **ИУ5-22М, ИУ5И-22М**: для произвольной колонки данных построить гистограмму
- **ИУ5-23М, ИУ5И-23М**: для произвольной колонки данных построить график "Ящик с усами (boxplot)"
- **ИУ5-24М, ИУ5И-24М**: для произвольной колонки данных построить график "Скрипичная диаграмма (violin plot)"
- **ИУ5-25МВ**: для произвольной колонки данных построить парные диаграммы (pairplot)

---

## Требования к наборам данных

Каждая задача предполагает использование набора данных. Набор данных выбирается Вами произвольно с учетом следующих условий:

1. Вы можете использовать **один набор данных** для решения всех задач, или решать каждую задачу на своем наборе данных
2. Набор данных должен **отличаться** от набора данных, который использовался в лекции для решения рассматриваемой задачи
3. Вы можете выбрать произвольный набор данных (например тот, который Вы использовали в лабораторных работах) или **создать собственный набор данных** (что актуально для некоторых задач, например, для задач удаления псевдоконстантных или повторяющихся признаков)
4. Выбранный или созданный Вами набор данных должен **удовлетворять условиям** поставленной задачи. Например, если решается задача устранения пропусков, то набор данных должен содержать пропуски

---

## Условия задач

**Задача №1.** Для набора данных проведите кодирование одного (произвольного) категориального признака с использованием метода "count (frequency) encoding".

**Задача №2.** Для набора данных проведите кодирование одного (произвольного) категориального признака с использованием метода "target (mean) encoding".

**Задача №3.** Для набора данных проведите кодирование одного (произвольного) категориального признака с использованием метода "weight of evidence (WoE) encoding".

**Задача №4.** Для набора данных проведите кодирование одного (произвольного) категориального признака с использованием метода "label encoding".

**Задача №5.** Для набора данных проведите кодирование одного (произвольного) категориального признака с использованием метода "one-hot encoding".

**Задача №6.** Для набора данных проведите устранение пропусков для одного (произвольного) числового признака с использованием метода заполнения **средним значением**.

**Задача №7.** Для набора данных проведите устранение пропусков для одного (произвольного) числового признака с использованием метода заполнения **медианой**.

**Задача №8.** Для набора данных проведите устранение пропусков для одного (произвольного) числового признака с использованием метода заполнения **модой**.

**Задача №9.** Для набора данных проведите устранение пропусков для одного (произвольного) числового признака с использованием метода заполнения **"хвостом распределения"**.

**Задача №10.** Для набора данных проведите устранение пропусков для одного (произвольного) категориального признака с использованием метода заполнения **наиболее распространенным значением**.

**Задача №11.** Для набора данных проведите устранение пропусков для одного (произвольного) категориального признака с использованием метода заполнения **отдельной категорией** для пропущенных значений.

**Задача №12.** Для набора данных проведите нормализацию для одного (произвольного) числового признака с использованием функции **"логарифм - np.log(X)"**.

**Задача №13.** Для набора данных проведите нормализацию для одного (произвольного) числового признака с использованием функции **"обратная зависимость - 1 / X"**.

**Задача №14.** Для набора данных проведите нормализацию для одного (произвольного) числового признака с использованием функции **"квадратный корень"**.

**Задача №15.** Для набора данных проведите нормализацию для одного (произвольного) числового признака с использованием функции **"возведение в степень"**.

**Задача №16.** Для набора данных проведите нормализацию для одного (произвольного) числового признака с использованием **преобразования Бокса-Кокса (Box-Cox transformation)**.

**Задача №17.** Для набора данных проведите нормализацию для одного (произвольного) числового признака с использованием **преобразования Йео-Джонсона (Yeo-Johnson transformation)**.

**Задача №18.** Для набора данных проведите масштабирование данных для одного (произвольного) числового признака на основе **Z-оценки**.

**Задача №19.** Для набора данных проведите масштабирование данных для одного (произвольного) числового признака с использованием метода **"Mean Normalisation"**.

**Задача №20.** Для набора данных проведите масштабирование данных для одного (произвольного) числового признака с использованием **MinMax-масштабирования**.

**Задача №21.** Для набора данных проведите масштабирование данных для одного (произвольного) числового признака с использованием **масштабирования по медиане**.

**Задача №22.** Для набора данных проведите масштабирование данных для одного (произвольного) числового признака с использованием **масштабирования по максимальному значению**.

**Задача №23.** Для набора данных для одного (произвольного) числового признака проведите **обнаружение и удаление** выбросов на основе **правила трех сигм**.

**Задача №24.** Для набора данных для одного (произвольного) числового признака проведите **обнаружение и удаление** выбросов на основе **5% и 95% квантилей**.

**Задача №25.** Для набора данных для одного (произвольного) числового признака проведите **обнаружение и удаление** выбросов на основе **межквартильного размаха**.

**Задача №26.** Для набора данных для одного (произвольного) числового признака проведите **обнаружение и замену** (найденными верхними и нижними границами) выбросов на основе **правила трех сигм**.

**Задача №27.** Для набора данных для одного (произвольного) числового признака проведите **обнаружение и замену** (найденными верхними и нижними границами) выбросов на основе **5% и 95% квантилей**.

**Задача №28.** Для набора данных для одного (произвольного) числового признака проведите **обнаружение и замену** (найденными верхними и нижними границами) выбросов на основе **межквартильного размаха**.

**Задача №29.** Для набора данных проведите **удаление константных и псевдоконстантных признаков**.

**Задача №30.** Для набора данных проведите **удаление повторяющихся признаков**.

**Задача №31.** Для набора данных проведите процедуру отбора признаков. Используйте **метод обертывания (wrapper method), прямой алгоритм (sequential forward selection)**.

**Задача №32.** Для набора данных проведите процедуру отбора признаков. Используйте **метод обертывания (wrapper method), обратный алгоритм (sequential backward selection)**.

**Задача №33.** Для набора данных проведите процедуру отбора признаков. Используйте **метод обертывания (wrapper method), алгоритм полного перебора (exhaustive feature selection)**.

**Задача №34.** Для набора данных проведите процедуру отбора признаков. Используйте **метод вложений (embedded method)**. Используйте подход на основе **линейной или логистической регрессии** (в зависимости от того, на решение какой задачи ориентирован выбранный Вами набор данных - задачи регрессии или задачи классификации).

**Задача №35.** Для набора данных проведите процедуру отбора признаков. Используйте **метод вложений (embedded method)**. Используйте подход на основе **дерева решений**.

**Задача №36.** Для набора данных проведите процедуру отбора признаков. Используйте класс **SelectKBest для 5 лучших признаков**, и метод, основанный на **взаимной информации**.

**Задача №37.** Для набора данных проведите процедуру отбора признаков. Используйте класс **SelectPercentile для 5% лучших признаков**, и метод, основанный на **взаимной информации**.

**Задача №38.** Для набора данных проведите процедуру отбора признаков. Используйте класс **SelectKBest для 10 лучших признаков**, и метод, основанный на **взаимной информации**.

**Задача №39.** Для набора данных проведите процедуру отбора признаков. Используйте класс **SelectPercentile для 10% лучших признаков**, и метод, основанный на **взаимной информации**.

**Задача №40.** Для набора данных проведите процедуру отбора признаков. Используйте **метод на основе корреляции признаков**.