Использование модели машинного обучения для прогнозирования того, какие недавние и нынешние игроки НБА попадут в Зал славы. (Код и Данные)

Введение

Высшим достижением, помимо победы в чемпионате, любого игрока НБА или любого спортивного игрока является включение в Зал славы. По мере развития карьеры игроков НБА большинство болельщиков, как правило, могут сказать, какие игроки будут в Зале славы, а какие нет. Мы, как болельщики, принимаем во внимание множество разных вещей, чтобы сделать это суждение, включая статистику игроков, чемпионаты и влияние на игру в баскетбол. Но есть ли способ предсказать будущих членов Зала Славы в менее разговорной манере?

Данные и методология

В этом проекте я использую бывших игроков НБА (последний раз играл более 4 лет назад), чтобы предсказать, какие недавние и действующие игроки (последний раз играли менее 4 лет назад) попадут в Зал славы. Чтобы предсказать, попадет ли игрок НБА в Зал славы, мне нужно как можно больше информации о нем, включая его статистику карьеры, измерения и награды. На веб-сайте Basketball Reference есть данные о каждом игроке NBA и ABA, включая все необходимое, чтобы делать прогнозы будущих членов Зала славы.

Веб-скрапинг данных

Из Basketball Reference данные о каждом игроке NBA и ABA извлекаются из Интернета, включая положение каждого игрока, рост, средние показатели за карьеру, чемпионаты и личные награды. Бывшие игроки определяются как сыгравшие свою последнюю игру более 4 лет назад, что соответствует процессу выборов в Зал славы НБА. Недавние и текущие игроки — это игроки, которые играют в настоящее время или играли 4 года назад или меньше. Данные, полученные из Интернета для двух разных классификаций игроков, одинаковы, с той лишь разницей, что бывшие игроки будут иметь звездочку рядом со своим именем, если они являются членами Зала славы.

Очистка данных

После парсинга данных их необходимо очистить, чтобы в дальнейшем использовать их для моделей машинного обучения. Первое, на что следует обратить внимание, — это карьерные награды каждого игрока. Они были добавлены в конец измерений и статистики карьеры каждого игрока в произвольном порядке. В одном столбце может быть указано количество матчей всех звезд для одного игрока, тогда как у другого игрока может быть количество чемпионатов в том же столбце. Для решения этой проблемы была создана колонка для каждой конкретной награды. После этого я удалил повторяющиеся столбцы, а также столбцы «Дата рождения» и «Колледжи», потому что они не будут влиять на то, находится ли игрок в Зале славы или нет. Финальная очистка заключалась в замене пропущенных значений в статистических столбцах средним значением позиции игрока. Например, если у игрока отсутствовали данные о проценте трехочковых очков, и он был защитником, его процент трехочковых очков был бы средним процентом трехочковых очков всех защитников.

После очистки данных набор данных был разделен на 2, один из наборов данных был бывшими игроками, а другой — недавними и текущими игроками. Затем к бывшим игрокам была добавлена ​​​​еще одна колонка, обозначающая, находятся ли они в Зале славы или нет.

Прогноз машинного обучения

Следующим шагом было использование бывших игроков для обучения и тестирования различных моделей машинного обучения, чтобы предсказать, какие игроки попадут в Зал славы. Для обучения и тестирования были выбраны четыре различные модели классификации: классификация опорных векторов (SVC), логистическая регрессия, дерево решений и k-ближайших соседей. Каждая отдельная модель была протестирована, чтобы найти наилучшие параметры, а затем обучена и протестирована с теми же подмножествами набора данных бывших игроков. Оценив эффективность и точность каждой модели, я определил, что лучшей моделью машинного обучения является логистическая регрессия.

Полученные результаты

Затем модель логистической регрессии использовалась для прогнозирования того, какие недавние и нынешние игроки НБА станут будущими членами Зала славы.

Выше показаны недавние и нынешние игроки, которые, по прогнозам, попадут в Зал славы. Самое интересное для меня то, что среди них есть несколько игроков, которые еще очень молоды, в частности, Джоэл Эмбиид, Никола Йокич и Лука Дончич. Все они играли 7 лет или меньше и всего менее 530 игр, но они были настолько хороши за короткий промежуток времени, что модель уже думает, что они будут в Зале славы, когда их карьера закончится.