Введение 4
1 Постановка задачи 3
1.1 Цели работы 3
1.2 Правила игры PlayerUnknown’s Battlegrounds 4
1.3 Описание базы данных 6
2 Предобработка данных 9
2.1 Exploratory data analysis 9
2.2 Feature engineering 13
2.3 Сжатие памяти 15
3 Алгоритмы машинного обучения 16
3.1 Задача регрессии 16
3.2 Нейронные сети 17
3.3 Random forest 18
3.4 Gradient boosting machine 19
3.5 Обзор используемых технологий 20
4 Оптимизация гиперпараметров 21
4.1 Описание алгоритма GridSearch 21
4.2 Сэмплирование 22
4.3 Поиск гиперпараметров для нейронной сети 22
4.4 Поиск гиперпараметров для случайного леса 23
4.5 Поиск гиперпараметров для градиентного бустинга 23
5 Результаты работы 25
5.1 Калибровка модели 25
5.2 Результаты работы моделей 25
6 Анализ модели градиентного бустинга 27
7 Заключение 29
Список литературы 30
Машинное обучение — одна из самых бурно развивающихся отраслей прикладной математики в последнее десятилетие. Все крупные компании имеют свои собственные отделы по анализу данных, что позволяет оптимизировать производство. В связи с этим появился огромный спрос на квалифицированных специалистов в области машинного обучения. Одним из способов обмена опытом и получения новых навыков в этой отрасли являются соревнования по машинному обучению.
Данная исследование основано на работе с базой данных о сыгранных партиях в популярную многопользовательскую видеоигру PlayerUnknown’s Battlegrounds. На сайте kaggle.com с октября 2018 г. по январь 2019 г. проводилось соревнование по машинному обучению по предсказанию места, занятого игроком в рамках одной партии в PlayerUnknown’s Battlegrounds.
Эта база данных обладает своими особенностями, поэтому она интересна для анализа и разнообразных экспериментов.
Работа состоит из 7 глав и введения. В 1 главе определяются цели работы, и приводится постановка задачи. Глава 2 содержит описание необходимых преобразований данных. В 3 главе кратко описываются используемые алгоритмы машинного обучения. Глава 4 содержит описание процесса обучения моделей. В 5 главе сравниваются результаты полученных моделей. Глава 6 содержит краткий анализ одной из построенных моделей. В 7 главе описаны итоги работы.
В ходе работы получены следующие результаты:
• применены различные алгоритмы машинного обучения для решения исходной задачи,
• подробно описан процесс предобработки данных и поиска лучшей модели,
• приведено сравнение полученных результатов между собой, работа лучшей модели попадает в топ-16% среди участников соревнования,
• приведён краткий анализ лучшей из полученных моделей.
[1] D. E. Rumelhart, G. E. Hinton, R. J. Williams. Learning representations by back-propagation errors. Nature v. 323, p.533-536, 1986.
[2] L. Breiman, J. H. Friedman, R. A. Olshen, C. J. Stone. Classification and regression trees. Wadsworth, Inc., 1984.
[3] L. Breiman. Random forests. Machine Learning, 45:5 - 32, 10 2001.
[4] J. H. Friedman. Greedy Function Approximation: A Gradient Boosting Machine. The Annals of Statistics v. 29, p.1189-1232, 1999.
[5] Ke G. et al. Lightgbm: A highly efficient gradient boosting decision tree //Advances in Neural Information Processing Systems. - 2017. - С. 3146-3154.
[6] С. А. Арефьев. Модель оценивания пар игроков в теннис: дипломная работа. СПбГУ, Санкт-Петербург, 2017.
[7] PUBG Finish Placement Prediction (Kernels Only), URL: https://www. kaggle.com/c/pubg-finish-placement-prediction
[8] Python Data Analysis Library, URL: https://pandas.pydata.org/
[9] scikit-learn, URL: https://scikit-learn.org/stable/
[10] Keras: The Python Deep Learning library, URL: https://keras.io/
[11] NumPy, URL: https://www.numpy.org/
[12] sklearn.ensemble.RandomForestRegressor, URL: https://scikit-learn.org/stable/modules/generated/sklearn.ensemble. RandomForestRegressor.html
[13] LightGBM parameters, URL: https://lightgbm.readthedocs.io/en/ latest/Parameters.html
[14] How to use Kaggle, URL: https://www.kaggle.com/docs/kernels
[15] LightGBM documentation, URL: https://lightgbm.readthedocs.io/ en/latest/