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 |