大数据预测:从模糊概念到深刻改变人类生活的力量
在很多人的心中,大数据只是一个模糊的概念;也有人说大数据可以“预测股市”、“预测地震”、“预测消费者行为”。但事实上,大数据与我们的关系可能比我们想象的还要密切。
从观察夜空到天气预报,从童话故事里的水晶球到如今的科技预言家,人类一直希望突破限制,更早地看透未来,而人类的生活也正在被大数据预测深刻地改变。
相信大家一定知道世界杯“章鱼保罗”的传说nba预测推荐和比赛分析,但你可能不知道的是,它早已被大数据预测所取代:世界杯期间,谷歌、百度、微软、高盛等公司纷纷推出比赛结果预测平台。百度的预测结果最为惊人,预测全场64场比赛准确率达67%,进入淘汰赛后的准确率更是高达94%。
从经验上看,只要有体育赛事的历史数据,并且和指数公司有合作,就可以对其他赛事做出预测,比如欧冠、NBA等赛事。
在今天的课堂上,我们将根据2015-2016年NBA常规赛和季后赛的比赛数据,预测正在进行的2016-2017年常规赛每场比赛的结果。
(当然影响NBA比赛的因素有很多,转会、换教练、换球场,甚至换保安都有可能影响比赛的结果nba预测推荐和比赛分析,所以本课程只提供方法,更多的信息挖掘和分析思路留给大家去拓展。)
1. 课程简介
1. 简介
你是否曾在朋友圈里被NBA比赛的进程或结果淹没过?又或许你是一个NBA狂热粉nba预测推荐和比赛分析,比赛中的每一个进球、抢断、压哨球都能让你兴奋不已。除了观看精彩的比赛过程,我们也对比赛的结果充满好奇。因此,本课程将向学生们展示如何通过过往的NBA比赛数据来判断各支球队的战斗力,预测某场比赛的结果。
我们将根据2015-2016赛季NBA常规赛和季后赛的比赛数据,预测正在进行的2016-2017赛季常规赛每场比赛的结果。
2.课程知识点NBA球队Elo分数计算
特征向量
逻辑回归
3. 获取比赛统计数据的实验过程
分析比赛数据,得到代表每场比赛各队状态的特征表达
使用机器学习方法学习每场比赛与获胜球队之间的关系,并对2016-2017年的比赛做出预测
4. 截图
2. 获取 NBA 比赛统计数据
2.1 比赛数据介绍
在本实验中,我们将使用 NBA 2015-16 赛季的统计数据。在这个网站上,你可以看到不同球员、球队、赛季和联赛的基本统计数据,例如得分、犯规次数、胜负次数等。这里我们将使用 NBA 2015-16 赛季的数据。
在本次 2015-16 赛季总结的所有表格中,我们将使用以下三个数据表:球队每场比赛统计数据:每支球队每场比赛的平均表现统计数据。
每场比赛统计数据:每场比赛遇到的对手的平均统计数据。所包含的统计数据与球队每场比赛统计数据一致,但它们代表了球队的相应对手。
统计数据:综合统计数据。
我们将用这三个表格来评估球队过去的战斗力。另外,我们还需要2015-2016赛季NBA常规赛和2015-2016赛季季后赛每场比赛的比赛数据来评估Elo得分(后面的实验部分会讲解)。在从常规赛到季后赛的时间内,列出了2015年10月到2016年6月每场比赛的比赛情况。
在上图中,你可以看到2015年10月份的一些比赛数据,每个表包含的数据分别是:
在进行预测时,我们还需要2016-2017赛季NBA常规赛赛程数据以及2016-17赛季NBA常规赛赛程数据。
2.2 获取游戏数据
我们将以 Team Per Game Stats 表数据为例,说明如何获取这三个统计数据。在导航栏中输入并选择 2015~2016 赛季:
进入2015-2016赛季界面后,滑动窗口找到Team Per Game Stats表格,选择左上角的Share & more,在下拉菜单中选择Get table as CSV (for Excel):
将界面中生成的csv格式数据复制下来,然后复制粘贴到文本编辑器中保存为csv文件:
为了方便同学们进行实验,我们将所有数据都保存成了csv文件并上传到了实验楼的云环境中,在后续的代码实现部分我们会提供获取这些文件的地址。
3.数据分析
在获得数据之后,我们会通过每支球队过去的比赛情况和Elo评级来确定每支球队的获胜概率。在评估每支球队过去的比赛情况时,我们会使用Team Per Game Stats、Per Game Stats和Stats三个表(以下分别称为T、O和M表)的数据作为代表某支球队在比赛中的比赛特征。对于每场比赛,我们最终会预测哪支球队会在比赛中获胜,但不会给出绝对的胜负局面,而是预测获胜球队的获胜概率。因此,我们会建立一个代表比赛的特征向量。它由两支球队过去的比赛情况统计(T、O和M表),以及两支球队的Elo评级组成。
关于Elo评分,不知道大家看过《社交网络》这部电影没有,这部电影中马克(主角原型就是创始人扎克伯格)在电影一开始就开发了一个美女排名系统,他利用朋友在窗户上写下的排名公式,对比不同女生之间的排名,最后PK决定胜负。
这个比较公式就是Elo Score评分系统。Elo最初是为了提供一种更好的方法来对国际象棋中的不同玩家进行排名而创建的。在当今的许多竞技运动或游戏中,Elo评分系统用于对玩家或选手进行排名,例如足球、篮球、棒球比赛,或者像LOL和DOTA这样的游戏。
后面的“数据分析”和“基于数据的模型训练与预测”这里就不再赘述了,请大家到实验楼去查看:
课后作业:
在本课程中,我们只使用了-learn提供的方法来训练回归模型。你是否可以尝试-learn中的其他机器学习方法,或者其他类似的开源框架,结合我们提供的数据集进行训练?如果使用-learn中的方法,可以参考实验室楼的课程:eBay在线拍卖数据分析。或者你可以尝试下图的模型:
关注微信公众号[实验楼],手机上查看海量项目教程。