IIS_2023_1/alexandrov_dmitrii_lab_1/readme.md

47 lines
4.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## Задание
Сгенерировать определенный тип данных и сравнить на нем 3 модели. Построить графики, отобразить качество моделей, объяснить полученные результаты.
Вариант 1.
Данные: make_moons (noise=0.3, random_state=rs)
Модели:
· Линейная регрессия
· Полиномиальная регрессия (со степенью 3)
· Гребневая полиномиальная регрессия (со степенью 3, alpha = 1.0)
### Запуск программы
Файл lab1.py содержит и запускает программу, аргументов и настройки ~~вроде~~ не требует,
### Описание программы
Генерирует один из 50 наборов данных, показывает окно с графиками и пишет оценку моделей обучения по заданию.
Использует библиотеки matplotlib для демонстрации графиков и sklearn для создания и использования моделей.
### Результаты тестирования
Для различных значений rs результаты следующие:
значение - линейная - полиномиальная - гребневая полиномиальная
1 - 0.54 - 0.08 - 0.35
2 - 0.62 - 0.58 - 0.63
3 - 0.6 - 0.67 - 0.65
4 - 0.52 - 0.46 - 0.5
5 - 0.4 - 0.42 - 0.44
Из данных результатов можно заключить, что чёткой зависимости точности от выбранной модели нет.
Однако, после этого я добавил в генератор данных число значений: 500. Результаты оказались более детерминированными:
значение - линейная - полиномиальная - гребневая полиномиальная
1 - 0.54 - 0.63 - 0.63
2 - 0.52 - 0.63 - 0.62
3 - 0.56 - 0.64 - 0.64
4 - 0.5 - 0.63 - 0.62
5 - 0.5 - 0.52 - 0.53
Из данных результатов можно заключить, что в общем случае модель линейной регрессии уступает полиномиальным. Гребневая полиномиальная регрессия чаще уступала обычной полиномиальной, однако в незначительном количестве ситуаций была оценена выше - но во всех случаях результаты были близки, поэтому можно с уверенностью предположить, что результаты идентичны и различаются по воле шума обучения.
После изучения число значений в генераторе заменено на 250, поскольку графики становились неразличимыми^
значение - линейная - полиномиальная - гребневая полиномиальная
1 - 0.48 - 0.54 - 0.54
2 - 0.5 - 0.56 - 0.56
3 - 0.57 - 0.6 - 0.6
4 - 0.57 - 0.66 - 0.68
5 - 0.49 - 0.54 - 0.55
По данным результатам видно, что в большинстве ситуаций уже гребневая полиномиальная регрессия показывает лучшую точность.
Результаты объясняются следующим образом:
Линейная регрессия будучи математически прямой плохо отражает сложные функции и нелинейные зависимости, в то время как полиномиальная регрессия способна отражать перегибы и изменяющиеся в зависимости от меры значений зависимости. Гребневая полиномиальная вышла идентичной простой полиномиальной из-за одинаковых настроек - обе они по заданию имеют третью степень, а гребневая регрессия имеет слишком малый параметр alpha, что результирует в малом эффекте гребневой функции.