2022世界杯小组赛已经全部结束了,西和十六强对阵也全部出炉,结果接下来的分结比赛会更令人期待。今天我做了一个预测,人工基于机器学习的智能终极预测结果显示:决赛将上演梅西与C罗对决,这真是预测一个令人惊讶又令人兴奋的结果,因此决定用此文分享出来!世界赛成生的世界
十六强对阵
今年的世界杯,除了比赛本身外(老实说,为梅我看的比赛很少),我最关注的其实是与世界杯相关的数字技术和数据,比如之前曾经《聊聊世界杯的半自动越位技术》,也深深感受到《数字技术改进了世界杯的观看体检
》。
在接下来的淘汰赛阶段,相信大家注意力会更偏重在比赛本身,我想到利用人工智能(机器学习)来预测淘汰赛的赛果,在关注世界杯的同时也顺便练练技术。
有了这个想法,还想知道有没有现成的经验可借鉴。找了一下发现Kaggle上还真有于是我就借鉴了其中一个作者的想法和数据(https://www.kaggle.com/code/sslp23/predicting-fifa-2022-world-cup-with-ml/data?scriptVersionId=111479915)来完成预测,在此对该文作者表示感谢。下面进入正题,对实现过程和技术不感兴趣的朋友可直接下拉到“四、预测结果”查看结果。
一、数据准备
咱们需要几个数据,分别是:
各个国家队在FIFA的排名数据,以下这样的数据有6万多行。
各个国家队相互之间的历史战绩数据,以下这样的数据有4万多行。
FIFA2022世界杯的比赛对阵情况,对阵的数据获取比较容易,老外可以在维基百科上爬,由于众所周知的原因,我们需要自己生成数据。
咱顺带看看中国国家队在过去的三十年间在FIFA的排名情况吧,国家队在还处在“上升期”,原谅我又扎了一下老铁们的心!
二、数据理解和特征工程
所拥有的原始数据是很难直接用于预测的,因此需要做不少的工作来生成可用于预测的特征,在此过程中也需要结合对足球的理解(从术语的角度来说就是业务与技术的结合),细节不多说了,从需要的工具和主要的工作两方面来简要描述一下要点:
1、这一阶段最主要的技术包括-Python-Pandas-Excel2、 一些主要的工作包括:
-需要将几张表
融合
-将对阵进球数转换成胜负平
-将对阵进球数转换成得分(310)
-检查一些维度之间的相关性-历史对阵中主场因素处理
-标记比赛重要度(友谊赛)
-有一些空值需要处理(舍弃)
-数据归一化
-其它操作
实践一再证明,数据处理是所有工作当中最耗时的,也确实需要技巧!经过一波操作,最终得到如下示例的表。
target一列是比赛结果,0代表赢球,其余的数字列是经过精心准备后决定用于建模预测的维度。
三、建模
建模过程相对容易些,选择几个模型,使用网格搜索超参数。因为本次的任务是一个分类任务(而且是二元的,淘汰赛只有晋级和被淘汰两个选项),因此可以采用的算法也是挺多的。
本次使用sklearnt,经过了一些筛选,最后确定使用梯度提升决策树(GradientBoostingClassifier)
在训练中,它实现了86%的准确率,在测试集中实现了76%,略优于随机森林等算法。
四、预测结果
每一次预测结果由几部分组成:
对阵双方
预测会晋级的球队名称
赢得比赛的概率值,这个值介于0.5~1.0之间,该值越大代表预测的置信度越高。
1、预测十六进八的结果
显然,除了南美的巴西和阿根廷赢球的概率很大以外,其它球队比赛过程中如果受到一个很强的临场因素(比如红牌,虽然本届世界杯小组赛打完才出现2张红牌,不排除淘汰赛也会出现2张红牌)或其它未包含在预测模型中的因素影响,鹿死谁手其实还蛮难说
。
2、预测八进四的结果
在8强还未产生的情况下预测4强以甚至最终的冠军其实是很有挑战的,从概率也可看出,英国和法国之间其实非常接近,谁晋级都绝不令人意外。
3、预测半决赛结果
同样,南美双雄之间其实也难分伯仲,阿根廷如果能一路走到半决赛,相信球队的凝聚力会大大增加,希望他们之间的化学反应能够弥补年龄上的劣势吧,这是阿根廷的球迷们希望看到的。
4、预测决赛结果
如果决赛真的能在阿根廷与葡萄牙之间展开,这场比赛的收视率会有多高应该都能想到了,它对决定梅西和C罗的历史地位也是不言自明的。如果这样的一场比赛最终会出现,它一定会成为数十亿计的球迷一生的记忆!
现在,这一切还只停留在本次模型的预测当中,会成真吗?有一点期待……
五、总结
作为一个球迷,一个曾经对国足比赛都很痴迷的球迷,虽然近几年用在看球赛的时间不多,但对于世界杯的关注依然是每四年一次的必修课。预测是人类一直孜孜以求的事,数据科学似乎是一个“神奇”的领域,将数据科学用于世界杯的预测,对我来说是第一次尝试。最重要的事是通过此案例学到或加深了对相关知识和技术的理解与应用,这是最大的收获。
再补充一点,虽有历史比赛数据和模型支撑,毕竟足球是圆的,一些不可预测的因素可能会临场影响比赛结果,本文中所有的预测结果仅作参考,请勿用作彩票购买指南或相关目的,本人对因此带来的任何结果不承担任何相关的责任!
(全文完)
喜欢就关注吧!
做评委的感受——再谈数字化转型与持续改善的融合
选用SPC控制图的要点
数字化六西格玛解决数字化时代的三个难题!
ISO9000质量管理原则在数字化时代得到更好落实
是时候放弃使用FMEA分析的RPN方法了!
论FMEA中简化SOD评分尺度的得失……
是时候放弃使用Xbar-R控制图了!
探寻Xbar-R与Xbar-s图的本质区别
讨论应用Xbar-R/s图的常见问题:测量数据的独立性
数字化六西格玛项目及工具
数字化时代的数据思维与客户价值思维
数字化六西格玛
数据分析与编程▶用闭环思维看待数据分析的层次
中美两国农业关键数据大对比
解决VBA循环期间Excel屏幕不刷新的问题
独特思路、超详细解说,一文弄懂Python Generator!
独特思路、超详细解说,一文弄懂Python Closure!
常见连续分布及相互关系
常见离散分布之间的关系
在Minitab中使用Python代码——软件安装、设置及编程详解
Python科学计算不可不知的随机数知识
Measurement System Analysis Design
概率分布之间的关系(附最全关系图)
一个有趣的概率题
往期文章㈡:旅行
登山徒步▶登天津最高峰太白山穿越(上)太白山穿越(下)安徽黄山(一)安徽黄山(二)安徽黄山(三)《黄山游记》后记庐山●秀峰游记南岳衡山登山记在天堂与地狱之间行走身进桃花源,心入魔幻界凤凰古城旅行攻略(交通、门票、住宿、餐饮)罗浮山登山记广东丹霞山游记中岳嵩山旅行攻略北岳恒山旅行攻略广东丹霞山·神奇的巴寨湖南屋脊 | 壶瓶山浙江屋脊 | 百山祖 - 黄茅尖穿越(上)浙江屋脊 | 百山祖 - 黄茅尖穿越(下)巅峰之旅 | 登武夷山最高峰(上)
巅峰之旅 | 登武夷山最高峰(下)巅峰之旅 | 海南●五指山登山记旅行杂记▶骑行海南岛云南12日旅行印象海南岛从万州到利川腾龙洞及恩施大峡谷南华寺上班路上的旅行科普旅行 | 去海南认识热带水果植物神农架旅行总攻略2018全国徒步大会江夏站免责声明:文中图片、文字引用至网络,版权归原作者所有,如有问题请联系删除!
Tags: