# Задание
Использовать нейронную сеть (четные варианты – MLPRegressor, нечетные – MLPClassifier) для данных из таблицы 1 по варианту, самостоятельно сформулировав задачу. Интерпретировать результаты и оценить, насколько хорошо она подходит для решения сформулированной вами задачи.    
## Задание по варианту
MLPRegressor
## Решение
### Запуск программы
Для запуска программы необходимо запустить файл main.py, содержащий код программы  
### Используемые технологии
Программа использует следующие библиотеки:  
- numpy - библиотека для работы с массивами и матрицами.
- matplotlib - библиотека для создания графиков и визуализации данных.
- sklearn - библиотека для машинного обучения и анализа данных.
### Что делает программа
Программа читает данные из csv файла. Подготавливает их для работы модели, приводя текстовые параметры к числам.  И пытается научиться предсказывать прохождение подготовительных курсов с помощью моделей нейронных сетей.
### Тесты
Данные без подготовки:  
   gender race/ethnicity parental level of education         lunch test preparation course  math score  reading score  writing score  
0  female        group B           bachelor's degree      standard                    none          72             72             74  
1  female        group C                some college      standard               completed          69             90             88  
2  female        group B             master's degree      standard                    none          90             95             93  
3    male        group A          associate's degree  free/reduced                    none          47             57             44  
4    male        group C                some college      standard                    none          76             78             75  
  
Данные после подготовки:  
   gender  race/ethnicity  parental level of education  lunch  test preparation course  math score  reading score  writing score  
0       0               0                            0      0                        0          72             72             74  
1       0               1                            1      0                        1          69             90             88  
2       0               0                            2      0                        0          90             95             93  
3       1               2                            3      1                        0          47             57             44  
4       1               1                            1      0                        0          76             78             75  
  
MLPRegressor: 0.1347847602324338  
MLPClassifier: 0.65  

Модель регрессии показала себя хуже чем модель классификации. Хотя модель классификации показала себя чуть лучше, результаты её работы всё равно не очень высоки.  
Итоговый результат лежит в границах между 0 и 1, и в тестовых результатах является целым. Это значит, что угадывая произвольно модель в любом случае может достигнуть точности близкой к 0.5  

Вывод:  Модели нейронных сетей MLPRegressor и MLPClassifier не подходят для решения поставленной задачи, предсказания прохождения курсов по остальным данным. Или на практике не существует соответствующей зависимости в данных.