从机器学习角度,基于 python 语言,利用大数据思维模式对英超联赛 2015-2016 赛季的比赛结果进行预测,在对数据进行预处理后,利用现有的算法模型如提升算法、加强算法等进行建模分析,并进行相应的模型评估,最后将预测结果进行描述性统计。
本次数据集来源于 2015-2016 赛季英超联赛的所有比赛数据,比赛轮次共38 轮,场次共 380 场,其数据内容为主客场球队的编号(team-api)、比赛时间、比赛编号、主客场进球数、比赛结果、主客场球队队员信息、阵容及各大博彩公司给出的赔率等 92 个属性,故数据框为 380 X 92 的数据。首先对数据进行初步的了解,然后根据数据清洗的 4C 准则对数据进行预处理。
首先划分数据集,使用的是基于 python 语言的 sklearn 函数库中
的 train_test_split 函数将训练数据分成两个数据集:60%训练集和 30%测试集,通过十次随机划分计算各次的准确率后求其平均得到结果。之后对主客队的进球数和主场胜率期望进行统计,其箱线图结果如下:
可以看到,主场球队进球数在 0-6 之间,均值在 1.5 左右,大多数进球集中在 0-2 之间。而客场球队进球数在 0-6 之间,均值在 1.2 左右,进球也多集中在0-2 之间。第三幅箱线图则表明主场胜率期望总体来说在 0.1 附近,这表明在比赛中,球队的主客场次的确起到一定的作用。
此外,通过Python绘出主客队进球的分布曲线,结果如下:
主场球队进球分布曲线:
客场球队进球曲线:
结果表明,对于主场球队,如果其在本次比赛中进球在 2 球及以上,该球队有很大可能获得比赛的胜利,而客场球队想要赢得比赛,则需要 2 球以上(3 球)才能锁定比赛的胜利,对于平局,数据显示双方球队倘若各自进球粒数在 2 球以下的话,平局的可能性很大,如果双方进球粒数在 1 球及以下,本场比赛很大可能以平局结束。
领取专属 10元无门槛券
私享最新 技术干货