世界杯小组赛第二轮正在火热进行,有的球队已经提前出线,也有球队提前回家。作为一个娱乐项目,应该量力而行、适可而止。本文就娱乐一下,预测世界杯小组赛赛果。后面也会娱乐一下八强对阵、四强、决赛。
网络上整理好的数据有很多,当然也可以自己去爬,本文使用的是整理好的CSV文件,主要有以下四种:
导入需要的各种库,确定一下上图的四个CSV文件包含的数据:
载入数据:
fixtures这个文件包含了完整的赛场信息,Result列:代表的是赛果,全部为NaN,为了对预测减少干扰,我并没有人为的将已知的赛果添加。rankings文件是球队的世界排名,这个我并没有去证实排名是否完全正确:
results这个文件包含的是国家队比赛的赛果,大概有38000多场,当然这里面的问题是友谊赛的比重占的很大,时间可以追溯到1872年...是1872年吧,读者可以帮忙确认一下,下图是前10场国际赛事,Friendly代表的肯定是友谊赛:
最后一个文件world_cup 2018,这个文件包含的信息很多,包括完整的世界杯赛程、各支球队的世界排名、相互之间的战绩、打入世界杯决赛圈的次数、打入决赛次数、获得冠军次数等等:
因为results数据中只包含了比分,没有胜平负三项赛果,下面构造一个函数将传统的赛果添加到文件中,最后的效果是results文件中多了一列winning_team(全程赛果):
小组赛印象最深的是塞内加尔和墨西哥,不妨娱乐一下,将塞内加尔的国际赛事进行数据可视化,第一届世界杯1930年,数据中包含了很多1930年以前的比赛,将这部分数据去掉,塞内加尔从1930年至今总计进行了504场比赛,整体上战绩还是很不错的:
进一步整理数据,只选择参加世界的球队,比赛时间在1930年以后,整理好的数据如下:
下面是MLPClassifier在当前数据集的得分:
在训练集上得分就是命中率三分之二,测试集得分0.536,和彩民的水平相差不大,本文仅仅限于娱乐。
小组赛预测赛果:
完赛的比赛预测的结果有的很离谱,比如:阿根廷和冰岛、波兰和塞内加尔。哥伦比亚和日本,日本的赢球概率达到了20%,平局的概率反而最低。双牙大战的平局预测正确。
今日:丹麦VS澳大利亚、法国VS秘鲁、阿根廷VS克罗地亚,预测的概率如下:
在娱乐一个冠军预测,巴西VS阿根廷,巴西胜56.5%,负30.6%。英格兰VS葡萄牙,英格兰胜25.1%,负28.9%。西班牙VS德国,西班牙胜22.2%,负42.3%。
伙伴们好运!