61 lines
3.9 KiB
Markdown
61 lines
3.9 KiB
Markdown
## Задание
|
||
Работа с типовыми наборами данных и различными моделями.
|
||
Сгенерируйте определенный тип данных и сравните на нем 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)
|
||
|