54 lines
4.5 KiB
Markdown
54 lines
4.5 KiB
Markdown
|
## Задание
|
|||
|
Использовать нейронную сеть по варианту для выбранных данных,
|
|||
|
самостоятельно сформулировав задачу.
|
|||
|
Интерпретировать результаты и оценить, насколько хорошо она подходит для
|
|||
|
решения сформулированной вами задачи
|
|||
|
|
|||
|
Вариант №10
|
|||
|
|
|||
|
## Используемые технологии
|
|||
|
В лабораторной были использованы библиотеки:
|
|||
|
+ pandas - позволяет работать с наборами данных
|
|||
|
+ matplotlib - используется для создания графиков
|
|||
|
+ sklearn - используется для работы с моделями и методами машинного обучения
|
|||
|
+ numpy - позволяет работать с массивами и матрицами
|
|||
|
+ Flask - предоставляет способ быстрого создания веб-страниц для визуализации работы приложения
|
|||
|
|
|||
|
## Используемые компоненты
|
|||
|
+ MLPRegressor - многослойный перцептрон, который обучается с
|
|||
|
использованием обратного распространения без функции активации в выходном слое
|
|||
|
+ accuracy_score - метрика измерения точности для определения качества регресии
|
|||
|
+ mean_absolute_error - метрика измерения точности регресии через среднюю абсолютную ошибку
|
|||
|
|
|||
|
## Как запустить
|
|||
|
Запустить файл flask-server, который поднимет локальный сервер
|
|||
|
и позволит обратиться к программе через браузер по ссылке [http://127.0.0.1:5000/](http://127.0.0.1:5000/)
|
|||
|
|
|||
|
## Что делает программа
|
|||
|
Берет все записи из датасета (датасет Chess Game Dataset)
|
|||
|
[https://www.kaggle.com/datasets/datasnaek/chess](https://www.kaggle.com/datasets/datasnaek/chess)),
|
|||
|
Преобразует данные нечисловых столбцов в числовые значения, осуществляет нормализацию и взвешивание параметров.
|
|||
|
Строит регрессионную зависимость используя нейронную сеть MLPRegressor,
|
|||
|
Оценивает качество полученной модели с помощью метрик accuracy_score и mean_absolute_error
|
|||
|
|
|||
|
## Анализ и скриншоты работы программы
|
|||
|
|
|||
|
С помощью регрессии планировалось получить предсказание об исходе партий,
|
|||
|
а именно вероятность победы того или иного игрока.
|
|||
|
Предсказание строиться исходя из ходов в шахматной записи,
|
|||
|
каждому из которого присваивается своя ценность, а также учитывается рейтинг игроков
|
|||
|
и открывающая комбинация ходов.
|
|||
|
|
|||
|
![img.png](img_screen_1.png)
|
|||
|
|
|||
|
Судить о модели можно и по средней абсолютной ошибке, но намного проще воспринимать
|
|||
|
ее по точности данных предсказаний. Отклонение по исходу партии представляет
|
|||
|
точность модели как процент неверных ответов об исходе партии.
|
|||
|
Так как регрессионная модель выдает результаты от -1 до +1, а нам нужно получить
|
|||
|
исход игры, значения из регресии с помощью специальной фунции приводятся к одному
|
|||
|
числу из -1, 0, +1, где 0 означает ничью, +1 победу игрока играющего белыми,
|
|||
|
-1 победу игрока играющего черными.
|
|||
|
|
|||
|
При варьировании параметров структуры модели (50,50 нейронов и 50,50,50 нейронов),
|
|||
|
и количества итераций (от 200 до 1000) была найдена наилучшая модель,
|
|||
|
которая дает точность в 78%, и отклонение по абсолютной ошибке 0.81
|