IIS_2023_1/zhukova_alina_lab_1
2023-10-18 20:09:27 +04:00
..
flask-server.py zhukova_alina_lab_1 is ready 2023-10-18 20:09:27 +04:00
img_screen_1.png zhukova_alina_lab_1 is ready 2023-10-18 20:09:27 +04:00
img_screen_2.png zhukova_alina_lab_1 is ready 2023-10-18 20:09:27 +04:00
img_screen_3.png zhukova_alina_lab_1 is ready 2023-10-18 20:09:27 +04:00
readme.md zhukova_alina_lab_1 is ready 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/

Что делает программа

Генерирует набор данных типа луны (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/) img.png

Полученные графики разбиения точек на классы

Линейная регрессия - Перцептрон 10 нейронов - Перцептрон 100 нейронов img.png

Вывод анализа точности работы моделей img.png