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