前言:
在NBA发展联盟度过了10个赛季,征战了384场比赛,创造了713记三分的发展联盟历史纪录后,32岁的安德烈-英格拉姆和湖人签下了他的首份NBA合同。
他走进斯台普斯中心,走进更衣室,和队友打招呼,走到自己的位置,拿到属于自己球衣,准备自己的第一场比赛。
迎着巴莫特的防守,安德烈-英格拉姆三分打进,命中NBA生涯首球,斯台普斯中心瞬间掌声雷动!
纪念英格拉姆的首秀,小楼今天给大家分享NBA比赛数据分析教程!如果你正好是一个NBA狂热粉,比赛中的每个进球,抢断或是逆转压哨球都能让你热血沸腾。除去观赏精彩的比赛过程,我们也同样好奇比赛的结果会是如何。
使用NBA比赛的以往统计数据,判断每个球赛的战斗力,及预测某场比赛中的结果。这么酷的技能你不能不了解!——【NBA常规赛结果预测:利用Python进行比赛数据分析】
我们将基于2015-2016年的NBA常规赛及季后赛的比赛统计数据,预测在当下正在进行的2016-2017常规赛每场赛事的结果。
该项目涉及的知识点:
- NBA球队的Elo score计算
- 特征向量
- 逻辑回归
开发流程:
这个项目将按照下面的流程实现NBA比赛数据分析的任务:
- 获取比赛统计数据
- 比赛数据分析,得到代表每场比赛每支队伍状态的特征表达
- 利用机器学习方法学习每场比赛与胜利队伍的关系,并对2016-2017的比赛进行预测
获取 NBA比赛统计数据:
比赛数据介绍:
在本次实验中,我们将采用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
(在之后的实验小节中解释)。在Basketball Reference.com
中按照从常规赛至季后赛的时间。列出了2015年10月份至2016年6月份的每场比赛的比赛情况。
可在上图中,看到2015年10月份的部分比赛数据。在每个Schedule表格中所包含的数据为:
在预测时,我们同样也需要在2016-17 NBA Schedule and Results中2016~2017年的NBA的常规赛比赛安排数据。
获取比赛数据
我们将以获取Team Per Game Stats表格数据为例,展示如何获取这三项统计数据。
进入到basketball-refernce.com中,在导航栏中选择Season并选择2015~2016赛季中的Summary:
进入到2015~2016年的Summary界面后,滑动窗口找到Team Per Game Stats表格,并选择左上方的Share & more,在其下拉菜单中选择Get table as CSV (for Excel):
复制在界面中生的的csv格式数据,并复制粘贴至一个文本编辑器保存为csv文件即可:
为了方便同学们进行实验,我们已经将数据全部都保存成csv文件上传至实验楼的云环境中。在后续的代码实现小节里,我们将给出获取这些文件的地址。
未完待续
- 数据分析;
- 基于数据进行模型训练和预测;
这两点内容,点击【利用Python进行NBA比赛数据分析】,即可进行在线查看并学习了,有详细的开发步骤讲解,也有详细的代码介绍,更有在线开发环境可以随时跟着教程开发。
等不及的胖友们可以移步实验楼在线环境体验,等得了的就关注小楼下一期更文吧(。・∀・)ノ
更多趣味实验可以直接访问实验楼,在线实验环境操作方便,为大家定期更新最佳实验!(●'◡'●)

楼+课程咨询,欢迎添加班主任微信:
