ITPub博客

首页 > 人工智能 > 人工智能 > AI预测世界杯比赛结果,惊掉下巴!

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

人工智能 作者:带你聊技术 时间:2022-12-19 17:23:11 0 删除 编辑

哈喽,大家好。

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

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

文末有源码和数据集的获取方式。

提醒大家,本文只做学习交流使用,不做决策参考,更不要盲目赌球。

1. 获取数据集

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

虽然有数据集很大,但作者只用了 2018-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模型进行训练,并对比他们的 AUC。

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

4. 预测

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

作者通过爬取维基百科解析出比赛数据,考虑到国内很多朋友无法访问维基百科。源代码中我已经将比赛数据放在本地文件中。

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

如果大家觉得本文对你有用就点个 在看 鼓励一下吧,后续我会持续分享优秀的 Python+AI 项目。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70024922/viewspace-2928610/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2022-12-05

  • 博文量
    420
  • 访问量
    322538