以上就是我们预测八分之一决赛和四分之一决赛的模型
作者:Flare资深机器学习工程师 入选福布斯中国U30
免责声明:本文预测结果仅用于学习交流,不作为任何的投资建议。
欧洲杯来到半决赛赛程了,作为一名球迷,我也是按耐不住用自己的专业技能预测一下冠军归属,凑个热闹。
之前八分之一决赛、四分之一决赛我都用的人工智能模型来预测胜负,我还将预测结果发到了短视频平台上,结果获得几十万人关注,有点受宠若惊。
下面先来回顾一下之前的预测结果以及正确率。
八分之一决赛预测结果
预测文章:用人工智能预测欧洲杯八分之一决赛结果
我们可以看到,八分之一决赛八场预测对了五场,预测成功率为62.5%。法国、荷兰爆冷,有点意外。
四分之一决赛预测结果
四强预测没来的及更新文章,这里分享一下模型根据实际八强球队预测的四分之一决赛结果:
4场比赛预测成功了3场!
很多同学看完之前的预测文章都私信我想看代码,今天就和大家分享一波,以及我们会把这届欧洲杯的半决赛预测结果和冠军预测结果在文章最后展示出来。
先分享预测方法。
人工智能准不准,学习数据说的算!但要找到所有球队的详细数据真是件头疼的事情,毕竟球队那么多。所以只能在有限的数据下,完成分析。首先从Kaggle下载各个球队历年的比赛数据!
它这个数据是从1872年以来的所有国际足球赛事的数据,欧洲杯是从1960开始的,1970年之前的数据都可以不需要。
我们使用的环境和工具有:jupyter notebook、numpy、pandas、seaborn、matplotlib 和 scikit-learn。
思路是这样的:先对两组数据集进行探索性分析,找出跟预测有关联的特征,进行处理数据,然后用一个机器学习模型进行训练,最后将模型配置到数据集上。
开始我们的代码了。
首先导入需要的库:
加载数据:
看看导入的数据:
接着进行数据预处理;分析两组数据集后,得到的数据集用来分析和预测将来的赛事;建立与机器学习模型相关的特征。
下面我们将进球的数量差异和结果输出:
作为西班牙球迷的我,想重点看看西班牙比赛统计结果:
第一届欧洲杯在1960年举行,创建一列年份,筛选出1960后之后的比赛:
这里的597,说明西班牙的比赛总共有597场。
我们用每个国家的胜率和主队等情况来预测比赛结果,因此诸如比赛地点、时间这些信息可以去掉。
筛选出欧洲杯入选队伍:
筛选出从 1960年起参加欧洲杯的队伍,并去掉重复的队伍:
去掉不会影响到比赛结果的数据:
对结果进行数字化处理:
使用 pandas 的 get_dummies() 函数,将输入数据数字化处理,转化为[0,1]的onehot数据,以便将它们加载到模型中。
将数据按照 70% 的训练数据集和 30% 的测试数据集分成 X 集和 Y 集:
查看一下我们的数据:
接下来我们会使用逻辑回归这个分类算法,逻辑回归就是这样的一个过程:面对一个回归或者分类问题,建立代价函数,然后通过优化方法迭代求解出最优的模型参数,然后测试验证我们这个求解的模型的好坏,感兴趣的同学,可以看看我的课程了解背后的原理。
逻辑回归应用到这里,就是将上面两套数据集和实际的比赛结果,输入到算法中,模型就会对比训练,训练好后,就可以得到可以预测比赛结果的模型。
现在将数据输入算法中:
这个结果是考虑了加时赛(除去最终点球)的结果,通常来说有三种结果:A队赢、打平、B队赢。随机猜测的准确率是33%。
考虑到欧洲杯比赛场地通常不是参赛队伍所在国家,因此需要一个灵活的方式调整主客场;
这里根据FIFA的排名,假定FIFA排名靠前的队伍,相对的球迷人数也更多,有一定的主场优势:
到了最后预测比赛结果的步骤了!
可以看到八强预测结果:
至此,我们完成了八强的预测。当然了,实际上八强预测对了5支队伍,为了对4强做出更准确的预测,我们使用实际晋级的8强队伍作为预测目标,再次进行分析,结果如下:
模型预测的四强分别是:西班牙、比利时、丹麦、英格兰。其中比利时对战意大利这场比赛,两支队伍获胜概率其实相差不大,也正是这场比赛模型没猜对。但不管怎么说,我对这个结果还挺满意的,要是全对了,反而有些意外。
以上就是我们预测八分之一决赛和四分之一决赛的模型。
同样的,我们用此模型来预测半决赛和总决赛冠军,我们直接将结果展示出来:
半决赛预测结果
胜出的是西班牙和英格兰!
总决赛预测结果
冠军是英格兰!
以上就是我们整个人工智能预测欧洲杯的整个过程,现在就等时间来验证我们的预测结果了!
最后还是要提示一下:本次预测结果不能作为操作建议,仅供交流学习~
其实预测欧洲杯只是人工智能技术里面一个小应用,人工智能还可以做很多事情,在股市里面,可以做股价预测;在商业里面,可以做算法推荐、客户用户画像;还有人脸识别、医学诊断等等。如果想了解更多的人工智能应用,可以关注我的人工智能实战课程!
戳文字了解课程详情:《人工智能系统入门与综合提升 机器学习+深度学习+迁移学习》
本课程围绕人工智能核心知识点进行讲解,每个章节包含丰富实战案例,手把手带你利用AI工具解决生活、工作问题(股价预测、人脸识别、语言翻译、异常检测等等)。欢迎小伙伴们学习围观。
最后祝大家看球愉快!
评论