python分析比赛_NBA常规赛结果预测利用Python分析比赛数据

关注「实验楼」,每天分享一个项目教程简介从夜观天象到气象预报,从童话里的水晶球到今日的科技预言家,人类一直希望能够更早突破局限看穿未来,人类的生活也正在被大数据预测深刻改变。

提起「大数据」,你会想到什么?

在很多人脑中,大数据都只是一个模糊的概念;也有人会说,大数据可以用来“预测股市”、“预测地震”、“预测消费者行为”。但其实,大数据与我们的关系可能比想象中得更紧密。

相信你一定知道世界杯中,「章鱼保罗」的传说,但你可能不知道的是,它早已被大数据预测所取代:

世界杯期间,谷歌、百度、微软和高盛等公司都推出了比赛结果预测平台。百度预测结果最为亮眼,预测全程 64 场比赛,准确率为 67%,进入淘汰赛后准确率为 94%。

从经验来看,只要有体育赛事历史数据,并且与指数公司进行合作,便可以进行其他赛事的预测,譬如欧冠、NBA 等赛事。

今天的课程,我们就基于 2015-2016 年的 NBA 常规赛及季后赛的比赛统计数据,预测在当下正在进行的 2016-2017 常规赛每场赛事的结果。

一、课程介绍

1. 内容简介

不知道你是否朋友圈被刷屏过 NBA 的某场比赛进度或者结果?或者你就是一个 NBA 狂热粉,比赛中的每个进球,抢断或是逆转压哨球都能让你热血沸腾。除去观赏精彩的比赛过程,我们也同样好奇比赛的结果会是如何。因此本节课程,将给同学们展示如何使用 NBA 比赛的以往统计数据,判断每个球队的战斗力,及预测某场比赛中的结果。

2. 课程知识点

NBA 球队的 Elo score 计算

特征向量

逻辑回归

3. 实验流程

获取比赛统计数据

比赛数据分析,得到代表每场比赛每支队伍状态的特征表达

利用机器学习方法学习每场比赛与胜利队伍的关系,并对2016-2017的比赛进行预测

4. 效果截图

二、实验过程

1.比赛数据介绍

在本次实验中,我们将采用Basketball Reference.com中的统计数据。在这个网站中,你可以看到不同球员、队伍、赛季和联盟比赛的基本统计数据,如得分,犯规次数等情况,胜负次数等情况。而我们在这里将会使用2015-16 NBA Season Summary中数据。

在这个2015-16总结的所有表格中,我们将使用的是以下三个数据表格:

Team Per Game Stats:每支队伍平均每场比赛的表现统计。

Opponent Per Game Stats:所遇到的对手平均每场比赛的统计信息,所包含的统计数据与Team Per Game Stats中的一致,只是代表的该球队对应的对手的。

Miscellaneous Stats:综合统计数据。

我们将用这三个表格来评估球队过去的战斗力,另外还需2015-16 NBA Schedule and Results中的2015~2016年的nba常规赛及季后赛的每场比赛的比赛数据,用以评估Elo score(在之后的实验小节中解释)。在Basketballhttp://Reference.com中按照从常规赛至季后赛的时间。列出了2015年10月份至2016年6月份的每场比赛的比赛情况。

可在上图中,看到2015年10月份的部分比赛数据。在每个Schedule表格中所包含的数据为:

在预测时,我们同样也需要在2016-17 NBA Schedule and Results中2016~2017年的NBA的常规赛比赛安排数据。

2. 获取比赛数据

我们将以获取Team Per Game Stats表格数据为例,展示如何获取这三项统计数据。

进入到basketball-refernce.com中,在导航栏中选择Season并选择2015~2016赛季中的Summary:

进入到2015~2016年的Summary界面后,滑动窗口找到Team Per Game Stats表格,并选择左上方的Share

Tag标签:

你可能感兴趣的:(python分析比赛)