Изучите примеры построения моделей линейной регрессии из следующих ноутбуков: lab2_ex1_multir_polinomr.ipynb, lab2_ex2_polinomr+pipeline.ipynb, lab2_ex3_elasticnet+gridsearch.ipynb, lab2_ex4_optuna.ipynb.
В соответствии с индивидуальным вариантом загрузите предобработанный датасет для задачи регрессии (который у вас получился в прошлой лабораторной работе) в рабочую область. Выделите целевой и входные признаки. Разбейте данные на обучающую и тестовую выборки.
Решите задачу регрессии, используя линейные модели из библиотеки sklearn:
Для каждой модели подберите гиперпараметры, используя классы GridSearchCV и RandomizedSearchCV, а также фреймворк Optuna (для любых двух моделей линйеной регрессии используйте GridSearchCV и RandomizedSearchCV, а для остальных трех -- Optuna).
При подборе гиперпараметров всеми способами обязательно используйте технику кросс-валидации
Реализуйте пайплайн Pipeline из библиотеки sklearn для полиномиальной регрессии. Пайплайн должен включать в себя генерацию (подготовку) полиномиальных признаков и линейную регрессию для них.
Оцените качество полученных моделей при помощи метрик регрессии: MAE, MSE, RMSE, MAPE, R². Также постройте точечный график Predicted vs. Actual для анализа ошибок предсказания каждой модели. Проинтерпретируйте полученные результаты.
Самостоятельно реализуйте вышеперечисленные метрики качества, используя библиотеку numpy. Сравните вычисленные значения метрик с библиотечными.
Самостоятельно (без использования sklearn) реализуйте линейный регрессор с вариантом регуляризации по вашему выбору. Для оптимизации используйте стохастический градиентный спуск. Не забудьте вычислить метрики для вашей модели.
Напишите вывод о проделанной лабораторной работе, в котором прописана лучшая модель регрессии и обоснование, почему вы так считаете.