IIS_2023_1/almukhammetov_bulat_lab_1/README.md
BulatReznik fcfd628305 AddLab1
2023-10-07 12:53:20 +04:00

51 lines
4.2 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.

Вариант 2
Задание:
Используя код из пункта «Регуляризация и сеть прямого распространения «из [1] (стр. 228), сгенерируйте определенный тип данных и сравните на нем 3 модели (по варианту)Постройте графики, отобразите качество моделей, объясните полученные результаты.
Данные:
make_circles (noise=0.2, factor=0.5, random_state=rs) Модели: · Линейную регрессию · Полиномиальную регрессию (со степенью 3) · Гребневую полиномиальную регрессию (со степенью 3, alpha= 1.0)
Запуск:
Запустите файл lab1.py
Описание программы:
1. Генерирует набор данных с использованием функции make_circles из scikit-learn. Этот набор данных представляет собой два класса, где точки одного класса окружают точки другого класса с добавленным шумом.
2. Разделяет данные на обучающий и тестовый наборы с помощью функции train_test_split.
3. Создает три разные модели для классификации данных:
4. Линейная регрессия (Logistic Regression).
5. Полиномиальная регрессия третьей степени (Polynomial Regression).
6. Гребневая полиномиальная регрессия третьей степени с регуляризацией и альфой равной единице (Ridge Polynomial Regression).
7. Обучаем каждую из этих моделей на обучающем наборе данных и оцениваем их точность на тестовом наборе данных.
8. Выводит результаты точности каждой модели.
9. Разделение областей предсказаний моделей (границы решения).
10. Тестовые и обучающие точки, окрашенные в соответствии с классами. (красным и синим)
Результаты:
<p>
<div>Точность</div>
<img src="Рисунок1.png">
</p>
<p>
<div>Графики регрессии</div>
<img src="Рисунок2.png">
<img src="Рисунок3.png">
<img src="Рисунок4.png">
</p>
Исходя из получивших графиков и точночсти с данным типом генерации данных из этих трех моделей наиболее точной получились полиномиальную регрессия (со степенью 3) и гребневaz полиномиальная регрессия (со степенью 3, alpha= 1.0). Они так же являются идентичными между собой. Чтобы проверить это утверждение я провел дополнительное тестирование и написал скрипт, который для 10 разных random_state (2-11) вычисляет точность для трех разных моделей.
Результаты:
Значения точности для каждой модели:
Линейная регрессия 0.40 0.52 0.44 0.56 0.48 0.49 0.50 0.49 0.46 0.40
Полиномиальная регрессия (со степенью 3) 0.63 0.67 0.74 0.64 0.80 0.73 0.64 0.81 0.46 0.62
Гребневая полиномиальная регрессия (со степенью 3, alpha = 1.0) 0.63 0.67 0.74 0.64 0.80 0.73 0.64 0.81 0.46 0.62
Средние значения точности:
Линейная регрессия - Средняя точность: 0.47
Полиномиальная регрессия (со степенью 3) - Средняя точность: 0.68
Гребневая полиномиальная регрессия (со степенью 3, alpha = 1.0) - Средняя точность: 0.68