Изучите материалы.
Загрузите и подготовьте данные:
в соответствии с индивидуальным вариантом загрузите предобработанный датасет в формате CSV для решения задачи классификации;
выделите целевой признак и предикторы. Определить тип задачи классификации (бинарная или мультиклассовая);
проверьте баланс классов. В случае дисбаланса классов проведите их балансировку (см. Lab3_Ex4 Imbalance.pdf);
При разделении данных на обучающую и тестовую выборки используйте два метода:
stratify)Решите задачу классификации на ваших данных с использованием следующих классификаторов из Scikit-learn:
При необходимости подобрать гиперпараметры для соответствующего
классификатора тремя способами (GridSearchCV; RandomizedSearchCV; фреймворк Optuna)
Постройте итоговую модель классификаторов (см. Lab3_Ex5 ClassificationModel.ipynb).
Постройте графики для визуализации результатов классификации, чтобы показать, как работают классификаторы. Например, представьте график, демонстрирующий влияние изменения k на точность модели kNN. Для бинарной классификации постройте ROC curve.
Вычислите значения метрик оценки качества для обученных моделей классификации: F1, Accuracy, Precision, Recall, матрица ошибок (confusion matrix), ROC AUC score. Поясните ошибки первого и второго рода.
Самостоятельно реализуйте вычисление следующих метрик оценки качества модели классификации: Accuracy, Precision, Recall, F1, матрица ошибок. Поместите пользовательские функции в отдельный файл и подключите его к основной программе как библиотеку функций.
Самостоятельно разработайте и реализуйте классификатор на основе алгоритма kNN в контексте реализации Scikit-learn. Поместите разработанный классификатор kNN в отдельный файл и подключите его к основной программе как библиотеку алгоритмов ML.
Напишите класс для классификатора kNN. Основные функции должны
включать:
Создайте таблицу (объект DataFrame) и выведите в них наименования используемых классификаторов и значения вычисленных метрик оценки качества как с использованием Scikit-learn (Образец 1).

Создайте две таблицы (объект DataFrame) и выведите в них наименования используемых классификаторов и значения вычисленных метрик оценки качества как с использованием Scikit-learn, так и пользовательских функций (Образец 2 и Образец 3). Убедитесь, что при выводе значений предусмотрено необходимое количество знаков после запятой (см. Образец 2 и Образец 3).

Напишите вывод о выполненной Лабораторной работе, в котором выберите лучшую модель классификации и обоснуйте свое решение.
2 пары, считая пару выдачи