原文链接:
https://www.kaggle.com/code/sivahemang/fifa-world-2022-analysis-and-prediction/notebook
2022卡塔尔足球世界杯
2022年卡塔尔世界杯(英语:FIFA World Cup Qatar 2022)是第二十二届世界杯足球赛,是历史上首次在卡塔尔和中东国家境内举行、也是第二次在亚洲举行的世界杯足球赛。除此之外,卡塔尔世界杯还是首次在北半球冬季举行、首次由从未进过世界杯的国家举办的世界杯足球赛。
揭幕战将于当地时间11月20日19时(北京时间11月21日0时)进行,由东道主卡塔尔对阵厄瓜多尔,决赛将于当地时间12月18日18时(北京时间12月18日23时)在卢塞尔球场进行。
世界杯是所有足球迷们的盛宴,更是所有球员们梦想的舞台,每支参赛队都怀着冠军梦想而来,但冠军队伍只有一支,32支球队64场比赛,谁将最终问鼎大力神杯?
我们看到已经有不少知名博主和自媒体根据经验做出自己的预测,本次小编也来凑凑热闹,通过分析历史数据并使用SmartNoteBook建模,实现从数据科学的角度来预测一下本届世界杯的冠军球队。
卡塔尔世界杯32强名单
A组:卡塔尔、厄瓜多尔、塞内加尔、荷兰
B组:英格兰、伊朗、美国、威尔士
C组:阿根廷、沙特阿拉伯、墨西哥、波兰
D组:法国、澳大利亚、丹麦、突尼斯
E组:西班牙、哥斯达黎加、德国、日本
F组:比利时、加拿大、摩洛哥、克罗地亚
G组:巴西、塞尔维亚、瑞士、喀麦隆
H组:葡萄牙、加纳、乌拉圭、韩国
话不多说,开始我们的预测~
冠军球队预测
采用的数据集:
1872年至2022年国际足球成绩:
shootouts.csvresults.csv
国际足联世界排名1992-2022
fifa_ranking-2022-10-06.csv
2022年国际足联世界杯分组
Fifa_Worldcup_2022_Groups.csv
引入所需包:
导入历史对阵成绩数据:
导入历史排名数据,并对rank_date做变换和筛选:
简单的数据处理和清洗:
数据转换透视表:
当今10支最佳球队的国际足联排名的演变:
十大足球比赛的类型:
场均进球数前10名的球队:
进球数前10名的球队:
导入卡塔尔世界杯的分组对阵数据:
简单的数据处理和清洗:
与rank表进行关联:home_team:主队away_team:客队
查看df所有特征变量的相关性:
数据变换和特征处理:
导入机器学习所需的包:
拆分数据集:
定义一个画ROC曲线的函数plot_roc_cur:
定义一个支持跑多个模型的函数run_model:
通过run_model可以训练模型,并且打印和输出模型的效果评估指标,比如模型的准确率、混淆矩阵、ROC曲线以及时间消耗等等。(关于模型评估指标可以参考小编之前的文章《聊聊机器学习分类问题常用的评价指标》)
逻辑回归的效果评估:
决策树的效果评估:
神经网络MLPClassifier的效果评估:
随机森林的效果评估:
LightGBM的效果评估:
xgboost的效果评估:
各支球队世界杯时的排名:
小组赛预测:
___Starting group F:___
Belgium vs. Canada: Belgium wins with 0.85
Belgium vs. Morocco: Belgium wins with 0.77
Belgium vs. Croatia: Belgium wins with 0.67
Canada vs. Morocco: Morocco wins with 0.69
Canada vs. Croatia: Croatia wins with 0.78
Morocco vs. Croatia: Croatia wins with 0.69
___Starting group C:___
Argentina vs. Saudi Arabia: Argentina wins with 0.84
Argentina vs. Mexico: Argentina wins with 0.61
Argentina vs. Poland: Argentina wins with 0.74
Saudi Arabia vs. Mexico: Mexico wins with 0.81
Saudi Arabia vs. Poland: Poland wins with 0.71
Mexico vs. Poland: Mexico wins with 0.56
___Starting group A:___
Qatar vs. Ecuador: Ecuador wins with 0.61
Qatar vs. Senegal: Senegal wins with 0.75
Qatar vs. Netherlands: Netherlands wins with 0.85大佬们都在玩{精选官网网址: www.vip333.Co }值得信任的品牌平台!
Ecuador vs. Senegal: Senegal wins with 0.73
Ecuador vs. Netherlands: Netherlands wins with 0.84
Senegal vs. Netherlands: Netherlands wins with 0.73
___Starting group D:___
France vs. Denmark: France wins with 0.56
France vs. Tunisia: France wins with 0.77
France vs. Australia: France wins with 0.78
Denmark vs. Tunisia: Denmark wins with 0.65
Denmark vs. Australia: Denmark wins with 0.67大佬们都在玩{精选官网网址: www.vip333.Co }值得信任的品牌平台!
Tunisia vs. Australia: Australia wins with 0.55
___Starting group H:___
Portugal vs. Ghana: Portugal wins with 0.79
Portugal vs. Uruguay: Draw
Portugal vs. South Korea: Portugal wins with 0.63
Ghana vs. Uruguay: Uruguay wins with 0.84
Ghana vs. South Korea: South Korea wins with 0.74
Uruguay vs. South Korea: Uruguay wins with 0.58
___Starting group E:___
Spain vs. Germany: Draw
Spain vs. Japan: Spain wins with 0.65
Spain vs. Costa Rica: Spain wins with 0.72
Germany vs. Japan: Germany wins with 0.55
Germany vs. Costa Rica: Germany wins with 0.63
Japan vs. Costa Rica:
Draw
___Starting group B:___
England vs. Iran: England wins with 0.66
England vs. United States: England wins with 0.57
England vs. Wales: England wins with 0.65
Iran vs. United States: United States wins with 0.67
Iran vs. Wales: Wales wins with 0.58
United States vs. Wales: Draw
___Starting group G:___
Brazil vs. Serbia: Brazil wins with 0.80
Brazil vs. Switzerland: Brazil wins with 0.72
Brazil vs. Cameroon: Brazil wins with 0.87
Serbia vs. Switzerland: Switzerland wins with 0.68
Serbia vs. Cameroon: Draw
Switzerland vs. Cameroon: Switzerland wins with 0.65
淘汰赛和总决赛预测:
___Starting of the round_of_16___
Netherlands vs. United States: Netherlands wins with probability 0.52
Argentina vs. Denmark: Argentina wins with probability 0.58
Spain vs. Croatia: Spain wins with probability 0.53
Brazil vs. Portugal: Brazil wins with probability 0.67
Senegal vs. England: England wins with probability 0.77
Mexico vs. France: France wins with probability 0.73大佬们都在玩{精选官网网址: www.vip333.Co }值得信任的品牌平台!
Germany vs. Belgium: Belgium wins with probability 0.79
Switzerland vs. Uruguay: Uruguay wins with probability 0.58
___Starting of the quarterfinal___
Netherlands vs. Argentina: Argentina wins with probability 0.69
Spain vs. Brazil: Brazil wins with probability 0.75
England vs. France: France wins with probability 0.63
Belgium vs. Uruguay: Belgium wins with probability 0.68
___Starting of the semifinal___
Argentina vs. Brazil: Brazil wins with probability 0.68
France vs. Belgium: Belgium wins with probability 0.66
___Starting of the final___
Brazil vs. Belgium: Belgium wins with probability 0.54
我们看到模型预测的结果,决赛将由夺冠热门巴西队对阵拥有卢卡库、阿扎尔、德布劳内等多名明星球员的比利时队,最终比利时队赢得冠军!(预测结果仅供参考,一切结果以实际为准)
最后我们贴上用SmartNoteBook创作的一幅淘汰赛晋级图:
《新语数据故事汇,数说新语》 科普数据科学、讲述数据故事,深层次挖掘数据价值。欢迎各位朋友投稿!
微信号|SnbDataStory
《新语数据故事汇,数说新语》
本文使用 文章同步助手 同步
还木有评论哦,快来抢沙发吧~