3.9 KiB
Задание
Работа с типовыми наборами данных и различными моделями. Сгенерируйте определенный тип данных и сравните на нем 3 модели
Вариант №10
Данные: make_moons (noise=0.3, random_state=rs)
Модели:
- Линейная регрессия
- Многослойный персептрон с 10-ю нейронами в скрытом слое (alpha = 0.01)
- Многослойный персептрон со 100-а нейронами в скрытом слое (alpha = 0.01)
Используемые технологии
В лабораторной были использованы библиотеки:
- numpy - позволяет работать с массивами и матрицами
- matplotlib - используется для создания графиков
- sklearn - используется для работы с моделями машинного обучения
- Flask - предоставляет способ быстрого создания веб-страниц для визуализации работы приложения
Как запустить
Запустить файл flask-server, который поднимет локальный сервер и позволит обратиться к программе через браузер по ссылке http://127.0.0.1:5000/
Что делает программа
Генерирует набор данных типа луны (moons), делит его на обучающую и тестовую выборки. По очереди обучает на данных обучающей выборки 3 модели: модель линейной регрессии, модель многослойного перцептрона с 10 нейронами в скрытом слое и модель многослойного перцептрона со 100 нейронами в скрытом слое.
После обучения проверяются предсказания моделей на тестовых данных. Строится три графика, по одному для каждой модели,
где #FF0000
, #0000FF
- точки обучающей выборки первого и второго типа.
#FF000066
, #0000FF66
- точки тестовой выборки первого и второго типа
#FFFF00
- линия по которой модель разделила данные на группы
Далее программа выведет оценки точности моделей. Полученные оценки:
- Линейная регрессия - 0.68
- Перцептрон с 10 нейронами в скрытом слое - 0.95
- Перцоптрон со 100 нейронами в скрытом слое - 0.95
Так как для двух последних моделей оценки оказались одинаковы, я сравнила их точность на всех данных, а не только на тестовой выборке.
- Точность Перцептрона с 10 нейронами в скрытом слое - 0.91
- Точность Перцептрона со 100 нейронами в скрытом слое - 0.95
Скриншоты работы программы
Главная страница в браузере (доступ по ссылке http://127.0.0.1:5000/)
Полученные графики разбиения точек на классы
Линейная регрессия - Перцептрон 10 нейронов - Перцептрон 100 нейронов