全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货  >  Python技术干货  >  详情

用Python预测世界杯决赛最后的赢家,没想到准确率还挺高!!

来源:千锋教育
发布人:wjy
2023-01-07

推荐

在线提问>>

  用Python预测世界杯决赛最后的赢家,没想到准确率还挺高!!

  那么四年一度的世界杯即将要在卡塔尔开幕了,对于不少热爱足球运动的球迷来说,这可是十分难得的盛宴,而对于最后大力神杯的归属,相信很多人都满怀着期待,每个人心中都有不同的答案。

  今天小编就通过Python数据分析以及机器学习等方式来预测一下谁能获得最后的冠军,当然最后预测出来的结果也仅仅只是作为一种参考,并不代表最后真实的结果。

  数据集的准备

  这里我们用到的数据集是来自kaggle的公开数据集,其中的一份数据集是2018年俄罗斯世界杯每小组各成员交手的记录,最后小编的预测基于该份数据集的基础之上,另外一份数据集则是从1870年开始到2022年截止,所有参赛球队的历史交手成绩汇总。那么我们首先导入要用到的模块以及导入数据集。

  模块和数据集的导入

  数据分析和可视化要用到的模块分别是pandas、matplotlib以及seaborn,而机器学习预测要用到的模块是sklearn,代码如下

用Python预测世界杯决赛1

  接着我们导入数据集

用Python预测世界杯决赛2

  我们可以通过head()方法来查看导入数据及的前几行,校验一下数据的导入是否成功,代码如下

用Python预测世界杯决赛3

  output

用Python预测世界杯决赛4

  探索性数据分析和特征工程

  接下来我们要做的便是探索性数据分析和特征工程了,来对数据集有一个大致的了解,同时生成一些针对最后的预测大有帮助的特征出来,例如我们针对比赛当中的比分来判断比赛是谁胜谁负,或者是平局,代码如下

用Python预测世界杯决赛5

  output

用Python预测世界杯决赛6

  紧接着我们针对某个单独的国家,统计历史过往中所有比赛的胜负率情况,例如小编比较喜欢阿根廷队,就筛选出阿根廷队的历史战绩,代码如下

用Python预测世界杯决赛7

  output

用Python预测世界杯决赛8

  那么同时我们也知道第一届世界杯举办的时间是1930年在乌拉圭举办的,那么筛选出在1930年之后的所有比赛的成绩,代码如下

用Python预测世界杯决赛9

  output

用Python预测世界杯决赛10

  我们将比赛的结果的统计可视化出来,其中我们就能清晰地看到阿根廷球队的胜负率的情况,代码如下

用Python预测世界杯决赛11

  output

用Python预测世界杯决赛12

  俄罗斯世界杯的参赛队伍

  我们先将目标锁定在2018年俄罗斯世界杯的参赛队伍上,总共是以下这几支球队

用Python预测世界杯决赛13

  然后我们筛选出来这32支球队的过往的比赛成绩,代码如下

用Python预测世界杯决赛14

  output

用Python预测世界杯决赛15

  我们着重看的是1930年之后的比赛记录,那么我们再进行一次筛选,代码如下

用Python预测世界杯决赛16

  output

用Python预测世界杯决赛17

  当然我们在最后进行预测的时候,会有一些无关紧要的特征掺杂其中,我们需要将其去掉,代码如下

用Python预测世界杯决赛18

  output

用Python预测世界杯决赛19

  我们需要将winning_team这一列的标签做一次转换,将赢得比赛的标签改为2,输掉比赛的标签改为0,而平局的标签改为1,代码如下

用Python预测世界杯决赛20

  output

用Python预测世界杯决赛21

  紧接着,我们需要对这些离散类型的变量进行独热编码,用到的是pandas模块当中的get_dummies()方法,代码如下

用Python预测世界杯决赛22

  output

用Python预测世界杯决赛23

  划分出训练集和测试集,调用的是train_test_split()方法,代码如下

用Python预测世界杯决赛24

  逻辑回归算法

  那小编这里调用的是非常简单的逻辑回归的算法,读者朋友后续也可以尝试其他的分类算法进一步的完善一下整个预测的流程与结果,代码如下

用Python预测世界杯决赛25

  预测结果

  那么最后便是将我们训练出来的模型去做一个预测了,我们先前的数据集当中有主队和客队之分,但是在世界杯的赛场上没有,这里我们就依据世界排名的先后顺序来划分一下,因此需要导入世界排名的数据集

用Python预测世界杯决赛26

  在数据集当中插入主队和客队排名的字段,代码如下

用Python预测世界杯决赛27

  output

用Python预测世界杯决赛28

  根据排名的高低来重新修正参赛球队是作为主队还是客队,代码如下

用Python预测世界杯决赛29

  output

用Python预测世界杯决赛30

  还是和之前一样的,我们需要对这些离散类型的变量进行编码,这里就不做演示了,我们调用训练好的模型并且进行比赛结果的预测,代码如下

用Python预测世界杯决赛31

  output

用Python预测世界杯决赛32

用Python预测世界杯决赛33

  上述预测的结果针对的是2018年俄罗斯世界杯小组赛的对阵情况,那么2022年卡塔尔世界杯小组赛的预测,我们只需要将fixture数据集更新一下即可

用Python预测世界杯决赛34

  output

用Python预测世界杯决赛35

  最后预测出来的结果如下所示

用Python预测世界杯决赛36

用Python预测世界杯决赛37

相关文章

用Python预测世界杯决赛最后的赢家,没想到准确率还挺高!!

总结了30段极简的Python代码!

20个非常有用的Python单行代码

Python中的可变对象与不可变对象

Python中布尔表达式练习

开班信息 更多>>

课程名称
全部学科
咨询

HTML5大前端

Java分布式开发

Python数据分析

Linux运维+云计算

全栈软件测试

大数据+数据智能

智能物联网+嵌入式

网络安全

全链路UI/UE设计

Unity游戏开发

新媒体短视频直播电商

影视剪辑包装

游戏原画

    在线咨询 免费试学 教程领取