华为AI Gallery社区《基于机器学习的欧洲杯赛事预测》技术分析系列——(一)基本原理

他山之石可以攻玉。

华为AI Gallery社区的技术贴。文章中将预测结果进行了二分类问题的处理(胜/平负两类)。

写这篇文章主要是分析其技术路线及其优缺点。

基于机器学习的欧洲杯赛事预测

由于2020年疫情的影响,欧洲杯延期到了今年举行,24支劲旅将在31天内,展开51场精彩对决。作为与奥运会、世界杯比肩的世界顶级三大体育赛事之一,四年一届的欧洲杯吸引了全世界球迷的目光。

欧足联为纪念欧洲杯60周年,本届赛事将采无主办国的巡回赛方式在欧洲的12个国家13个城市举行:丹麦哥本哈根、比利时布鲁塞尔、匈牙利布达佩斯、荷兰阿姆斯特丹、爱尔兰都柏林、罗马尼亚布加勒斯特、苏格兰格拉斯哥、西班牙毕尔巴鄂、阿塞拜疆巴库、德国慕尼黑、意大利罗马、俄罗斯圣彼得堡、英格兰伦敦。其中半决赛和决赛都将在伦敦的温布利球场举行。

本届比赛的参赛球队共24支,分成6个小组,每个小组前两名和4支成绩最好的第三名球队晋级16强,随后是淘汏赛,直至决出最后冠军。

分组情况如下:

A组:土耳其、意大利、威尔士、瑞士。 B组:丹麦、芬兰、比利时、俄罗斯。 C组:荷兰、乌克兰、奥地利、北马其顿。 D组:英格兰、克罗地亚、捷克、苏格兰。 E组:西班牙、瑞典、波兰、斯洛伐克。 F组:德国、法国、葡萄牙、匈牙利。 作为一名AI攻城狮和球迷,我采用了AI开发平台ModelArts 对各参赛队伍的实力情况进行分析,并结合数据挖掘、机器学习等人工智能技能来分析和预测欧洲杯赛果。

运行环境

进入Notebook后,请在本页面的右上角确认所选择的kernel是PySpark-2.3.2,选择的规格是CPU:2核 4GB

该规格下运行全部cell大约需要17分钟

Notebook内容概述

总体上,本notebook从数据处理、模型构建、赛果预测三部分进行介绍。

1 数据处理

本案例数据集为Kaggle从1872年到2021年5月28日的所有比赛数据,包括FIFA世界杯、世界杯预选赛、欧洲杯、友谊赛等,共 42105 场比赛的数据。

该数据集共包含9个特征:

  • date:比赛日期
  • home_team:主队名称
  • away_team:客队名称
  • home_score:主队分数(不含点球)
  • away_score:客队分数(不含点球)
  • tournament:比赛类型(FIFA世界杯、世界杯预选赛、欧洲杯、友谊赛等)
  • city:比赛所在城市
  • country:比赛所在国家或地区
  • neutral:比赛是否在中立场地进行

预测足球赛事的输赢可以看做一个二分类问题(将平局看做负)。

本次预测标签为赛果(win_result),计算home_score和away_score的差值,若两者差值大于0,则赛果win_result为胜(1),反之为负(0)。

1.2 特征衍生

本小节将做特征进行衍生,主要分为5种衍生方式:

  1. 主队最近5、2、1场比赛的胜负情况,包括胜利场数、失败场数、净胜球(主队分数减去客队分数)均值。
  2. 主队与当前客队的最近5、2、1场比赛的胜负情况,包括胜利场数、失败场数、净胜球均值。
  3. 主队最近15、7、3、2、1年比赛的胜负情况,包括总场数、胜利场数、失败场数。
  4. 主客队历史上全部赛事的胜负情况,。
  5. 赛事发生的月份、季节。

1.2.1 主队最近5、2、1场比赛的胜负情况

当前主队在历史上的比赛场次有可能少于5场、2场、1场。

获取的12个衍生特征:

  • num_5:最近5场比赛场次(可能出现不满5场的情况)
  • win_num_5:最近5场胜场次
  • lose_num_5:最近5场负场次
  • diff_mean_5:最近5场得分差平均值
  • num_2:最近2场比赛场次(可能出现不满2场的情况)
  • win_num_2:最近2场胜场次
  • lose_num_2:最近2场负场次
  • diff_mean_2:最近2场得分差平均值
  • num_1:最近1场比赛场次(可能出现不满2场的情况)
  • win_num_1:最近1场胜场次
  • lose_num_1:最近1场负场次
  • diff_1:最近1场得分差平均值

1.2.2 主队与当前客队的最近5、2、1场比赛的胜负情况

主队与当前客队在历史上的比赛场次有可能少于5场、2场、1场。

获取的12个衍生特征:

  • num_team_5:最近5场比赛场次(可能出现不满5场的情况)
  • win_num_team_5:最近5场胜场次
  • lose_num_team_5:最近5场负场次
  • diff_mean_team_5:最近5场得分差平均值
  • num_team_2:最近2场比赛场次(可能出现不满2场的情况)
  • win_num_team_2:最近2场胜场次
  • lose_num_team_2:最近2场负场次
  • diff_mean_team_2:最近2场得分差平均值
  • nu_team_1:最近1场比赛场次(可能出现不满1场的情况)
  • win_nu_team_1:最近1场胜场次
  • lose_num_team_1:最近1场负场次
  • diff_team_1:最近1场得分差平均值

1.2.3 主队最近15、7、3、2、1年比赛的胜负情况

获取主队在过去的15年、7年、3年、2年、1年中的比赛场数、胜利场数、失败场数。

1.2.4 主队过去全部比赛的胜负情况

获取主客队在过去全部比赛的比赛场数、胜利场数、失败场数、胜率、净进球均值。

  • home_num:当前主队作为主场的比赛场次
  • home_win_num:当前主队作为主场的比赛胜场次
  • home_lose_num:当前主队作为主场的比赛负场次
  • home_win_rate:当前主队作为主场的胜率
  • away_num:当前客队作为客场的比赛场次
  • away_win_num:当前客队作为客场的比赛胜场次
  • away_lose_num:当前客队作为客场的比赛负场次
  • away_win_rate:当前客队作为客场的胜率

1.2.5 比赛发生的月份和季节

以上是华为AI Gallery作者通过比赛基本信息为特征构建的模型框架。

从用意来讲,该基本面方式进行足球胜平负预测的优缺点如下:

优点:通过基本面预测可以较为合理的找出双方之间的实力差。

缺点:完全按照基本面进行预测很难找出冷门,这种预测遇到强队VS弱队,必然是强队获胜的。

下期介绍该技术思路的数据预处理及其代码。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sundayhost

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值