# Лабораторная работа №1 ## ПИбд-42 Машкова Маргарита (Вариант 19) ## Задание Cгенерировать определенный тип данных и сравнить на нем 3 модели по варианту. Построить графики, отобразить качество моделей, объяснить полученные результаты. ### Данные: > make_moons (noise=0.3, random_state=rs) ### Модели: > - Линейная регрессия > - Полиномиальная регрессия (со степенью 5) > - Гребневая полиномиальная регрессия (со степенью 5, alpha= 1.0) ## Запуск программы Для запуска программы необходимо запустить файл main.py ## Используемые технологии > **Язык программирования:** python > > **Библиотеки:** > - `matplotlib` - пакет для визуализации данных. > - `sklearn` - предоставляет широкий спектр инструментов для машинного обучения, статистики и анализа данных. ## Описание работы программы Изначально генерируются синтетические данные Х и у для проведения экспериментов при помощи функции `make_moons` с заданными параметрами. Функция `train_test_split` делит данные так, что тестовая выборка составляет 40% от исходного набора данных. Разделение происходит случайным образом (т.е. элементы берутся из исходной выборки не последовательно). После чего для каждой из заданных по варианту моделей выполняются следующие действия: 1. Создание модели с заданными параметрами. 2. Обучение модели на исходных данных. 3. Предсказание модели на тестовых данных. 4. Оценка качества модели по 3 метрикам: * **Коэффициент детерминации**: метрика, которая измеряет, насколько хорошо модель соответствует данным. Принимает значения от 0 до 1, где 1 означает идеальное соответствие модели данным, а значения ближе к 0 указывают на то, что модель плохо объясняет вариацию в данных. Для вычисления коэффициента детерминации модели используется метод `score` библиотеки scikit-learn. * **Средняя абсолютная ошибка (MAE):** Для вычисления данной метрики используется метод `mean_absolute_error` библиотеки scikit-learn. * **Средняя квадратичная ошибка (MSE):** Для вычисления данной метрики используется метод `mean_squared_error` библиотеки scikit-learn. Последние 2 метрики измеряют разницу между предсказанными значениями модели и фактическими значениями. Меньшие значения MAE и MSE указывают на лучшую производительность модели. Вычисленные значения метрик выводятся в консоль. После чего строятся графики, отображающие работу моделей. На первом графике отображаются ожидаемые результаты предсказания, на остальных - предсказания моделей. Чем меньше прозрачных точек - тем лучше отработала модель. ## Тесты ![Вывод в консоли](console.png) ![Графики](plots.png) **Вывод:** исходя из полученных результатов, схожую хорошую производительность имеют линейная регрессия и гребневая полиномиальная регрессия. Самую низкую производительность имеет полиномиальная регрессия.