使用自动机器学习来预测NBA球员的表现

时间:2019-03-15 13:16:53 阅读:57次
2018年NBA总决赛如火如荼,今年是克利夫兰骑士队连续第四次面对金州勇士队。随着勒布朗詹姆斯和斯蒂芬库里领导他们的球队,这场竞争肯定会使今年的季后赛成为历史书籍之一。

<! - more - >

  对于NBA中的一些顶级天才,克利夫兰骑士队和金州勇士队是其他NBA球队希望推翻的球队。每个NBA球队都在不断寻找优势,随着美国职业棒球大联盟等其他体育项目的分析成功,NBA球队正在寻求机器学习和人工智能(AI)等先进技术,以获得竞争优势。

  体育组织内有许多AI应用程序,包括销售和营销,商品推销,聊天机器人,计算机视觉和可穿戴技术,但这篇博文主要关注特定应用 - 预测播放器性能。从球迷的角度来看,球员表现更有趣!

  

玩家表现指标

  评估玩家表现的方法有很多种。在最基本的层面上,篮球比得分更多得分,所以自然每场比赛都是一个不错的起点。但是,还有其他方法来量化玩家的表现,其中一些方法变得非常复杂,如Box Plus Minus或玩家效率等级。

  对于本博客,我将逐步介绍DataRobot如何通过游戏分数(game_score)衡量玩家表现的预测。

  游戏分数的公式如下:

   game_score = PTS + 0.4 * FG - 0.7 * FGA - 0.4 *(FTA - FT)+ 0.7 * ORB + 0.3 * DRB + STL + 0.7 * AST + 0.7 * BLK - 0.4 * PF - TOV。

  
游戏分数(game_score)尝试合并一些最重要的个人统计数据并对其进行加权以最大化其与获胜的相关性。游戏分数由John Hollinger创建,用于粗略衡量玩家单个游戏的生产力。

  

使用DataRobot进行建模

  在默认的DataRobot工作流程之后,我上传了一个csv文件,其中包含已完成的NBA赛季的统计数据,选择了目标(game_score),并点击了“自动驾驶仪”,只需单击“启动“按钮!

   Autopilot启动DataRobot的自动机器学习引擎,选择30-40种适当的建模方法来争夺最佳准确度。每种建模方法(称为蓝图)都适用于部分训练数据,并使用样本外验证数据进行精确排序。

   Autopilot自动完成典型的建模工作流程,顶级数据科学家将在一小部分时间内完成常规操作。几分钟内,在模型排行榜(参见图1)上构建,分析和显示了数百个模型,以便进一步评估。

  

模板排行榜

  

  图1:前5个模型按样本验证数据的准确度排序。

  排行榜显示徽章,标签和列,提供信息以快速识别模型和评分信息。在预测玩家表现方面,顶级模型是ENET Blender,交叉验证根平均误差为6.7015。

  

提升图

  提升图是快速评估数据集上特定模型准确性的简便方法。升力图表将预期的球员表现从最低到最高预测和分类。叠加是玩家表现的实际值。在此图表中,实际玩家表现值与预测值很好地跟踪,并具有明确定义的斜率,以便从休息中解析最佳表现者。

  

  

  图2:提升图

  

顶级模型理解

   DataRobot具有许多内置工具,可以加强用户对数据问题和模型的理解。这些工具可以轻松有效地传达洞察力和预期的绩效。顶级数据科学家最重要的技能之一就是能够讲述引人入胜的故事,从而推动整个组织的决策。以下是DataRobot中可用于模型洞察的一些工具。

  

特征影响

  特征影响是一种工具,可根据其相对重要性对数据集中的每个变量进行排名。这是一个很好的工具,用于理解和解释模型已确定对于进行准确预测最重要的特征或变量。

  

  

  图3:功能影响

  

   ENET Blender模型最重要的功能是player_id。第二个最重要的功能是一个名为text_yesterday_and_today的非结构化文本功能,它基于玩家级别的每日幻想新闻。 DataRobot无缝地挖掘和处理非结构化文本,以提取可能具有预测性的信息。 DataRobot使用文字云可视化显着信息(参见图4)。

  

  图4:来自text_yesterday_and_today功能的词云

  让我们稍微打破这个词云。首先,单词或短语越大,它在数据集中出现的次数就越多。其次,红色与高性能相关,蓝色与性能差相关。颜色越强烈,关联就越强烈。

  请注意,该模型已经找出了“外出”,“伤害”和“可疑”之类的单词或短语,这些单词或短语是表现不佳的强烈指标(蓝色)。另一方面,该模型发现了单词和短语之间的高性能(红色着色)的关联,如“ft”,“rebo??unds”,“assists”和“minutes during”。从表面上看,这些关联并非全部奇怪。

  

特征效果

  由于许多机器学习技术的复杂性,模型有时难以直接解释。特征效果图表显示特征对该特定模型的整体预测的影响,描述模型如何“理解”每个变量与目标之间的关系。未来表现的最强预测因素之一是最近的分钟。让我们用feature Effects解包minutes_played_decay1_mean。

  

  

  图5:minutes_played_decay1_mean

的特效

  最近几分钟与未来表现之间的关系非常强烈。该模型在此功能中发出重要信号。蓝线表示每个bin_played_decay1_mean的平均值的预测值,橙色线表示实际的平均预测值。请注意,预测的和实际的game_score值彼此很好地跟踪,并显示与玩家表现的强烈正面关系。为了更进一步,让我们分析部分依赖曲线。

  

  

  图6:minutes_played_decay1_mean的特征效果图表,仅部分依赖

  部分依赖性是一个图表,可以显示每个要素与模型正在进行的预测之间的关系。线条的形状显示给定特征如何影响预测,同时保持其他所有内容不变。部分依赖性与系数或其他度量的优势在于它是非参数的。因此,它可以解决这种关系中更复杂的模式。

   minutes_played_decay1_mean和玩家表现之间的关系大多是积极的,但是有一个平衡,甚至是高端局部最大值的证据。如果最近记录了太多分钟,这可能表示最佳播放时间,并且表现为性能下降。

  

预测说明

  构建模型后,您可以使用预测说明来帮助理解DataRobot生成单个预测的原因。让我们为训练数据中的一些示例解开前五个预测解释。接下来,请参阅表1.

Giannis Antetokounmpo

  对于即将到来的特定比赛,Giannis Antetokounmpo预计表现相当不错,游戏得分为29.14。该模型对于Giannis做出预测有何建议?

  首先,Giannis是一个天生的怪物和一个真正的NBA超级巨星,因此他的player_id是一个重要的预测者。接下来,在过去的30天里,Giannis平均尝试了22次射门,尝试了13次罚球,并且每场比赛得到37分,这表明该模型预计将继续保持良好的近期历史。最后,该模型从上赛季的球员效率评分中获益,这是球员表现稳定的有力指标。

Devin Booker

  另一方面,Devin Booker受伤并且预计表现不佳。这个模型得到了关于德文进行预测的内容是什么?

  最有趣的预测解释来自最近的新闻报道:

   “Suns'Devin Booker:亚利桑那共和国的Scott Bordow报道,风冲刺(腹股沟)的进展已经取得了进行风冲刺的进展。除非另有说法,否则布克预计12月29日的回归日期仍然存在。但是,令人鼓舞的是,他的康复进展顺利。取而代之的是,乔什杰克逊和特洛伊丹尼尔斯一直看到延长比赛,并且可能继续这样做,而布克仍然缺阵。“

  使用其文本处理引擎,DataRobot从新闻报道中提取信号,这些信号强烈表明性能不佳。人类可以很容易地得出相同的结论,但可能难以协调数百个每日玩家新闻报道。 DataRobot的AI引擎可以轻松消化,理解和利用所有这些信息。

  表3:预测说明

   row_id

   1612

   32

  播放器

   Giannis Antetokounmpo

德文布克

  预测

   29.14173273

   -0.135546432

  原因1力量

   ++

   -

  原因1功能

   player_id

   roto_fpts_per_min

  原因1值

   'antetgi01'

   '0.0'

  原因2力量

   ++

   -

  原因2功能

   field_goal_attempts_lag30_mean

   over_under

  原因2价值

   '22 0.0'

   MISSING

  原因3力量

   ++

   -

  原因3功能

   free_throws_attempted_lag30_mean

   roto_minutes

  原因3价值

   '13 0.0'

   '0.0'

  原因4力量

   ++

   -

  原因4功能

   points_lag30_mean

   roto_fpts

  原因4价值

   '37 0.0'

   '0.0'

  原因5力量

   ++

   -

  原因5功能

   PER_lastseason

   text_yesterday_and_today

  原因5价值

   '26 0.1'

“太阳报”德文布克:亚利桑那共和国的斯科特·博多说,风冲刺(腹股沟)的进展已经取得了进行风冲刺的进展。除非另有说法,否则布克预计12月29日的回归日期仍然存在。但是,令人鼓舞的是,他的康复进展顺利。取而代之的是,约什杰克逊和特洛伊丹尼尔斯一直看到延长比赛,并且可能会继续这样做,而布克仍然缺阵。“

结论

  虽然我只是从这个练习中得出的见解的表面,但我希望强调DataRobot自动化机器学习平台的强大功能,以建立高度准确的模型来预测玩家的表现。从优化玩家的工作量到确定推动个人绩效的因素,这些见解可以成为教练和高管们正在寻找的优势。借助合适的工具,或许另一支NBA球队可以在2019年打破骑士队/勇士队的最后连胜纪录。

  

使用自动机器学习来预测NBA球员的表现所属专题:机器学习专题 《使用自动机器学习来预测NBA球员的表现》链接:http://www.zhouchuanxiong.net/1255

使用自动机器学习来预测NBA球员的表现相关文章