AI 预测世界杯比赛结果,惊掉下巴

哈喽,大家好。

今天看到Kaggle上有一个预测世界杯比赛结果的项目,截至目前 4 场比赛预测结果全中。

今天把源码研究了一下,做了中文注释,给大家分享下。

技术提升

1. 获取数据集

数据集使用 1872-2022年国际足球比赛数据和FIFA 1992-2022年球队排名数据。

比赛数据

排名数据

df =  pd.read_csv("./kaggle/input/international-football-results-from-1872-to-2017/results.csv")

df = df[(df["date"] >= "2018-8-1")].reset_index(drop=True)

2. 特征工程

选取的特征要能够较好地反映预测结果,如:

    世界杯球队的平均进球数 球队最近5场比赛的平均进球数 世界杯球队的平均犯规数 球队最近5场比赛的平均犯规数 球队在世界杯中 FIFA 平均排名 球队在最近5场比赛中 FIFA 平均排名 FIFA积分 最近5场FIFA积分 比赛得分 最近5场比赛积分 Mean game points by rank faced at the Cycle. Mean game points by rank faced at last 5 games.

通过观察这些特征的小提琴图,筛选对预测结果又很强区分的特征。

对于值比较小的特征,可以尝试用箱型图观察。

最终生成的特征为:

最终特征如下:

    rank_dif goals_dif goals_dif_l5 goals_suf_dif goals_suf_dif_l5 dif_rank_agst dif_rank_agst_l5 goals_per_ranking_dif dif_points_rank dif_points_rank_l5 is_friendly

3. 建模

GradientBoosting

随机森林

最终选取GradientBoosting作为预测模型。

4. 预测

预测需要获取 2022 世界杯比赛数据。

kaggle地址:https://www.kaggle.com/code/sslp23/predicting-fifa-2022-world-cup-with-ml/notebook

经验分享 程序员 微信小程序 职场和发展