40 lines
4.9 KiB
Markdown
40 lines
4.9 KiB
Markdown
|
# Лабораторная работа 6. Нейронная сеть
|
|||
|
### Задание на лабораторную:
|
|||
|
Использовать нейронную сеть для данных из курсовой работы, самостоятельно сформулировав задачу. Интерпретировать результаты и оценить, насколько хорошо она подходит для решения сформулированной вами задачи.
|
|||
|
|
|||
|
**Вариант 20 (четный).**
|
|||
|
Нейроная сеть: MLPRegressor.
|
|||
|
|
|||
|
**Набор данных:** "Moscow tutors". Ссылка: https://www.kaggle.com/datasets/vadimantipov/moscow-tutors
|
|||
|
|
|||
|
**Задача:** предсказать стоимость занятий репетиторов на основе имеющихся данных.
|
|||
|
|
|||
|
***
|
|||
|
### Как запустить лабораторную работу:
|
|||
|
Для запуска лабораторной работы необходимо открыть файл `lr6.py`, нажать на ПКМ и в выпадающем списке выбрать опцию "Run".
|
|||
|
***
|
|||
|
### Технологии:
|
|||
|
**Pandas** - это библиотека на языке Python, которая предоставляет удобные и эффективные инструменты для обработки и анализа данных. Она предоставляет высокоуровневые структуры данных, такие как DataFrame, которые позволяют легко и гибко работать с табличными данными.
|
|||
|
|
|||
|
**Matplotlib** - это библиотека визуализации данных на языке программирования Python, которая предоставляет широкий спектр инструментов для создания различных типов графиков, диаграмм и визуализаций данных.
|
|||
|
|
|||
|
**Scikit-learn (Sklearn)** - это библиотека для языка программирования Python, которая предоставляет инструменты для разработки и применения различных алгоритмов машинного обучения, включая классификацию, регрессию, кластеризацию, снижение размерности и многое другое. Scikit-learn также предлагает функции для предобработки данных, оценки моделей и выбора наилучших параметров.
|
|||
|
***
|
|||
|
### Что делает лабораторная работа:
|
|||
|
В лабораторной работе сначала загружаются данные из файла `tutors.csv`, пустые значения убираются из выборки, строковые значения приводятся к числовому типу.
|
|||
|
Далее происходит разделение данных на обучащий (95% данных) и тестовый (5% данных) наборы при помощи функции *train_test_split*.
|
|||
|
Перед обучением модели данные масштабируются с использованием *StandardScaler*.
|
|||
|
После создается модель MLPRegressor, происходит обучение модели на тренировочных данных, предсказание стоимости занятий и оценка качества модели.
|
|||
|
|
|||
|
Результатом работы являются предсказанные стоимости занятий и оценка качества модели, выведенные в консоль, а также график, отображающий фактические и предсказанные стоимости занятий репетиторов.
|
|||
|
***
|
|||
|
### Пример выходных данных:
|
|||
|
***Оценка качества модели и стоимости занятий***
|
|||
|
![](consoleRes.JPG)
|
|||
|
|
|||
|
***График***
|
|||
|
![](plotRes.JPG)
|
|||
|
***
|
|||
|
**Вывод**: результатом лабораторной работы стали предсказанные стоимости занятий репетиторов, полученные при помощи нейроной сети *MLPRegressor*.
|
|||
|
Оценка качества модели показала результат *0.07*, что является очень низким значением (чуть выше, чем у линейной регрессии) и говорит о том, что нейроная сеть *MLPRegressor* плохо справилась со своей задачей.
|
|||
|
По фактическим и предсказанным стоимостям в консоли и на графике видно, что значения сильно расходятся.
|