.. | ||
main.py | ||
models.png | ||
README.md |
Лабораторная работа №1: Работа с типовыми наборами данных и различными моделями
Задание. Вариант 7
Всего вариантов 21, мой вариант 28, поэтому взял 7 вариант
Задание: Используя код из пункта «Регуляризация и сеть прямого распространения»из [1](стр. 228), сгенерируйте определенный тип данных и сравните на нем 3 модели (по варианту). Постройте графики, отобразите качество моделей, объясните полученные результаты.
- Данные: make_moons (noise=0.3, random_state=rs) Модели: · Персептрон · Многослойный персептрон с 10-ю нейронами в скрытом слое (alpha = 0.01) · Многослойный персептрон со 100-а нейронами в скрытом слое (alpha = 0.01)
Описание программы
Программа создает и сравнивает три модели машинного обучения на основе датасета make_moons с использованием библиотеки scikit-learn. Сравниваются следующие модели:
- Персептрон
- Многослойный персептрон с 10 нейронами в скрытом слое (alpha = 0.01)
- Многослойный персептрон с 100 нейронами в скрытом слое (alpha = 0.01)
Как запустить лабораторную работу
-
Установите необходимые библиотеки:
pip install numpy matplotlib scikit-learn
-
Запустите скрипт:
python main.py
-
После выполнения программы будет создан файл "models.png" с тремя графиками, представляющими результаты каждой модели.
Использованные технологии
- Python
- scikit-learn
- Matplotlib
Что программа делает
Программа генерирует датасет make_moons, разделяет его на обучающий и тестовый наборы, затем обучает и сравнивает три модели машинного обучения. Результаты представлены в виде точности каждой модели и трех графиков.
Тесты
Вывод
Полученные результаты показывают, что многослойный персептрон с 100 нейронами в скрытом слое демонстрирует наивысшую точность среди рассмотренных моделей. В то время как простой персептрон и многослойный персептрон с 10 нейронами в скрытом слое показывают приемлемую, но более низкую точность. Таким образом, увеличение числа нейронов в скрытом слое существенно повысило производительность модели.