IIS_2023_1/zhukova_alina_lab_1/readme.md

61 lines
3.9 KiB
Markdown
Raw Normal View History

2023-10-18 20:09:27 +04:00
## Задание
Работа с типовыми наборами данных и различными моделями.
Сгенерируйте определенный тип данных и сравните на нем 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/](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/](http://127.0.0.1:5000/))
![img.png](img_screen_1.png)
Полученные графики разбиения точек на классы
Линейная регрессия - Перцептрон 10 нейронов - Перцептрон 100 нейронов
![img.png](img_screen_2.png)
Вывод анализа точности работы моделей
![img.png](img_screen_3.png)