Изучите примеры построения моделей классификации из следующих ноутбуков: lab3_ex1_basic_classifiers.ipynb, lab3_ex2_logisticregr_hotcode.ipynb, lab3_ex3_naive_bayes.ipynb, lab3_ex4_imbalance.pdf, lab3_ex5_classificationmodel.ipynb.
В соответствии с индивидуальным вариантом загрузите предобработанный датасет для задачи классификации (который у вас получился в первой лабораторной работе) в рабочую область. Выделите целевой и входные признаки. Разбейте данные на обучающую и тестовую выборки (обязательно используйте стратификацию). Определите тип классификации (бинарная или мультиклассовая).
Проверьте дисбаланс классов (используя визуализации). В случае дисбаланса проведите их балансировку, используя инструменты из библиотеки imblearn (самостоятельно определите метод решения проблемы дисбалансов и обоснуйте, почему его можно применять).
Решите задачу классификации, используя следующие модели из библиотеки sklearn:
Для каждой модели подберите гиперпараметры, используя классы GridSearchCV и RandomizedSearchCV, а также фреймворк Optuna (для любых двух моделей используйте GridSearchCV и RandomizedSearchCV, а для остальных -- Optuna).
При подборе гиперпараметров всеми способами обязательно используйте технику кросс-валидации (можно использовать функцию
cross_val_score, а можно классKFold)
Оцените качество полученных моделей при помощи метрик классификации. Отобразите classification_report, постройте roc-auc кривые и визуализируйте матрицу путаницы (confusion_matrix). Для модели KNN постройте график зависимости точности (accuracy) от изменения параметра k. Проинтерпретируйте полученные результаты. Поясните ошибки 1 и 2 рода.
Самостоятельно реализуйте вышеперечисленные метрики качества, используя библиотеку numpy (F1, Accuracy, Precision, Recal, confusion_matrix, roc-auc score). Сравните вычисленные значения метрик с библиотечными.
Самостоятельно (без использования sklearn) реализуйте классификатор на основе алгоритма kNN. Ваша реализация должна поддерживать выбор количества соседей (параметр k), а также другие функции расстояния (не только евклидово). Не забудьте вычислить метрики для вашей модели.
Напишите вывод о проделанной лабораторной работе, в котором прописана лучшая модель регрессии и обоснование, почему вы так считаете.