## Задание
Работа с типовыми наборами данных и различными моделями.
Сгенерируйте определенный тип данных и сравните на нем 3 модели

Вариант №2

Данные: make_circles(noise=0.2, factor=0.5, random_state=1)

Модели:
+ Линейная регрессия
+ Полиномиальная регрессия (degree=3)
+ Гребневая рекрессия (degree=3, alpha=1.0)

## Используемые технологии
В лабораторной были использованы библиотеки:
+ matplotlib - используется для создания графиков
+ sklearn - используется для работы с моделями машинного обучения

## Как запустить
Запустить файл main.py, который выполнит необходимые действия над моделями 
и выведет графики на экран.

## Что делает программа
Генерирует набор данных типа circles, делит его на обучающую и тестовую выборки.
По очереди обучает на данных обучающей выборки 3 модели:
модель линейной регрессии, модель полиномиальной регрессии со степенью 3 и 
модель гребневой регрессии со степенью 3 и alpha=1.0.

После обучения предсказания моделей проверяются на тестовых данных. 
Строится 4 графика, один для отображения первоначальных тестовых и обучающих данных, где:
`o` - точки обучающей выборки первого и второго типа.
`x` - точки тестовой выборки первого и второго типа.
И по одному графику для каждой модели, где:
`o` - точки тестовой выборки первого и второго типа.

Далее программа выведет оценки точности моделей. Полученные оценки:
+ Линейная регрессия - 0.268
+ Полиномиальная регрессия со степенью 3 - 0.134
+ Гребневая регрессия со степенью 3, alpha=1.0 - 0.131

## Скриншоты работы программы
График для отображения первоначальных тестовых и обучающих данных и
полученные графики разбиения точек на классы:

Линейная регрессия - Полиномиальная регрессия (со степенью 3) - Гребневая регрессия (со степенью 3, alpha=1.0)
![img.png](img_screen_1.png)

Вывод анализа точности работы моделей: 
![img.png](img_screen_2.png)

## Вывод
Исходя из этого, можно сделать вывод: лучший результат показала модель линейной регрессии.