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)
|
|||
|
|