Python — Прогнозирование футбольных матчей

#python #pandas #forecasting #poisson

#python #панды #прогнозирование #poisson

Вопрос:

Я довольно новичок в python и pandas, и я все еще много борюсь. Курс, который я посещаю, поставил передо мной задачу, которая кажется мне невыполнимой, я надеюсь, что кто-нибудь сможет мне помочь.

У меня есть фрейм данных (упрощенный, он содержит результаты всего сезона 16):

     season   date        team1          team2                score1   score2   result
12  2016    2016-08-13  Hull City       Leicester City       2.0    1.0        team1_win
13  2016    2016-08-13  Arsenal         Swansea City         0.0    1.0        team2_win
14  2016    2016-08-13  Southampton     Manchester Utd       1.0    1.0        draw
15  2016    2016-08-13  Middlesbrough   Stoke City           1.0    1.0        draw
16  2016    2016-08-13  Crystal Palace  West Bromwich Albion 0.0    1.0        team2_win
... ... ... ... ... ... ... ...

 

Теперь я хотел бы предсказать, сколько голов каждый Арсенал и Манчестер забьет в последней игре сезона Арсенал-Манчестер. (Вероятно, это не будет работать с данными части, которые я привел здесь) Это должно быть сделано с помощью регрессии подсчета.

Я попытался использовать код, который я получил из другого примера, но с треском провалился:

 modelArs = smf.poisson("score1 ~ score2   team2", data=train_data)
resultArs = modelManc.fit();
 

И я знаю, что это, вероятно, полная чушь, которую я там сделал, но я просто полностью потерян.

Вторая задача — отобразить, какая команда выиграет, на основе дерева решений.

Третья задача — использовать регрессию mnlogit для отображения вероятности ничьей и победы для каждой команды.

Я знаю, что прошу многого, но любая помощь мне очень помогает. Мне также помогло бы включение некоторой информации о том, что вы на самом деле сделали. Я просто пытаюсь как-то пройти курс, а потом покончить с python.

Ответ №1:

сначала вам нужно закодировать категориальные переменные, такие как team1, team2, результат горячее кодирование — это не что иное, как преобразование независимых переменных с ограниченными возможными значениями в числовую форму.

обратитесь к этой ссылке, чтобы узнать, как работает горячее кодирование: горячее кодирование

В этих данных некоторые переменные кажутся бесполезными, например, результаты, потому что у вас не будет доступа к результатам, когда вам нужны прогнозы, поэтому их можно опустить. И эта модель может быть обучена для целей обучения, но она не будет эффективной с таким количеством атрибутов, поскольку результат игры зависит не только от таких атрибутов, как [сезон, дата, команда1, команда2] есть много факторов, которые вам нужно учитывать.