全文共4423字,预计学习时长12分钟

来源:tuxi

我喜欢篮球。我喜欢打篮球、看篮球、谈篮球。有时候我会和朋友们谈论诸如“如果科比和勒布朗单挑谁会赢”之类的话题。我需要用这次机器学习项目,将我的两个爱好,篮球和数据科学有机地结合起来。
去年夏天,金州勇士队转出连续斩获两届NBA决赛MVP(最有价值球员奖)的凯文·杜兰特,引入德安格洛·拉塞尔。于是体育分析员纷纷开始猜测拉塞尔在勇士队的适配程度,如下:
来源:clutchpoints
这也让我开始思考:德安格洛·拉塞尔将如何适应勇士队的节奏?能不能运用机器学习将NBA球员分类,并预测某一球员与指定球队的兼容程度?
本项目的研究目的是,确定若干球员的类型,并根据历史活动或他们对空间的利用确定他们在球场上扮演的角色。
得分、篮板、助攻、抢断、盖帽等数据不会被用作特征,因为它们依赖于例如出场时间或进球数量等数据(这项数据也不会出现在特征中)。将得分、篮板、助攻、抢断、盖帽等数据作为特征可能会使最终结果与这些特征密切相关,这就偏离了本次项目的初衷。我将在下文的研究方法部分详细列举所有的特征。

数据

我们来看一看数据部分。
数据是由Python和Selenium包从stats.nba.com提取加工而成。选取的特征大部分都基于上场频率。很多打法都包含进攻和防守站位。比如说,“进攻背身单打率”指该球员背身单打时在进攻位的频率;“防守背身单打率” 指该球员背身单打时在防守位的频率。这些特征的附释,可以参考此链接:https://stats.nba.com/help/glossary/。
样本数据:272名球员
初始数据集包含531名球员。而后上场时间少于半个赛季及1000分钟的球员被移出样本数据。这样做的原则是,去除所有出场不稳定的球员。以下是完整的球员样本名单:
球员名单
选取特征:41个
筛选之前特征总数超过600。最后选取了描述落位和运球的特征。
特征列表
研究方法和模型选择
由于本项目属于无监督学习,它得出的结果需要进一步分析。我在模型和簇数选择上有两个目标:
1.      突出簇之间的显著差异。簇数太少,每个簇中样本太多,不能得出各个球员间的风格差异。
2.       避免簇数过多。如果每个球员都是一个簇,结果只能表明每一个人都是独立的个体,这对研究的帮助很小。
模型选择:DBSCAN, K-means和Mean Shift
以上三个模型中,K-Means最有效地实现了研究目标。DBSCAN和Mean Shift生成的结果都包含多个仅含一个球员的簇。
簇的数量:10个
我决定将簇的数量定为5的倍数,因为篮球场上有5个位置。10个簇切合了我设想的研究方法。
研究结果
我用所得结果计算了每个组中所有特征的平均数,并根据最高和第二高的特征对每组进行了排名。术语定义如下:
首要特征:所列特征的平均值在一组中是最高的。
次要特征:所列特征的平均值在一组中是第二高的。
除此之外,还通过条形图展现了每组的首要特征,用于与其他球员作对比。
第一组
史蒂芬·库里
布拉德利·比尔, 巴迪·希尔德, 史蒂芬·库里, 埃文·, 特雷沃·阿里扎,凯尔·洛瑞, 乔·英格尔斯, 小奥托·波特, 博格丹·博格达诺维奇,艾弗里·布拉德利, 小蒂姆·哈达威, 杰森·塔图姆, 贾斯蒂斯·温斯洛, 杰里米·兰姆,伊托万·摩尔, 凯文·诺克斯, 凯文·许尔特, 波格丹·波格诺维奇, 加里·哈里斯, 布林·福布斯, 埃里克·戈登, 泰勒·约翰逊, 达米安·多特森, 托里恩·普林斯, 加里特·坦普尔
首要特征:防守单打投篮率
次要特征:手递手防守率, 防守绕掩护投篮率, 防守绕掩护率, 防守背身单打率, 快攻率, 手递手进攻率, 进攻绕掩护投篮率
防守远射频率
第二组
卡尔·安东尼·唐斯,拉马库斯·阿尔德里奇,乔尔·恩比德,赛迪斯·杨,布雷克·格里芬,安东尼·戴维斯,尼克拉·约基奇,朱利叶斯·兰德尔,尼可拉·武切维奇,德安德烈·艾顿,迈尔斯·特纳,艾尔·霍福德,马克·加索尔,马尔文·巴格莱三世,小贾伦·杰克逊,赛尔吉·伊巴卡,鲍比·波蒂斯,伊内斯·坎特,乔纳斯·瓦兰西尤纳斯,罗宾·洛佩兹,马基夫·莫里斯,戈尔吉·吉恩
首要特征:进攻背身单打率,背身单打触球率
次要特征:进攻篮板球率调整
进攻背身单打率
第三组
PJ塔克,德雷蒙德·格林,马尔文·威廉姆斯,杰·克劳德,布鲁克·洛佩兹,达里奥·萨里奇,德维恩·戴德蒙,杰夫·格林,凯利·奥里尼克,戴维斯·贝尔坦斯,迈克·穆斯卡拉,马克西·克雷贝尔,贾里德·杜德利,迈克·斯科特,约纳斯·杰雷布克,安东尼·托利弗,文斯·卡特
首要特征:接球投篮率, 进攻定点投篮率, 无防守投篮率, 防守单打率, 防守背身单打率
次要特征:防守定点投篮率, 传球数大于接球数
接球投篮率
第四组
约什·理查德森,CJ·麦科勒姆,迈克·康利,贾马尔·穆雷,达龙·福克斯,特雷·杨,赛迪·奥斯曼,艾弗里德·佩顿,克里斯·邓恩,丹尼·施罗德,埃里克·布莱德索,马尔科姆·布罗格登,托马斯·萨托兰斯基,帕特里克·贝弗利,小丹尼·史密斯,伊曼纽尔·穆迪埃,弗雷德·范弗里特,里基·卢比奥,谢伊·吉尔吉斯·亚历山大,达伦·科里森,雷吉·杰克逊,D.J.奥古斯汀,科里·约瑟夫,德雷克·怀特,莱恩·阿什蒂亚克诺
首要特征:防守篮板球距离, 进攻挡拆执行率,拿球平均运球数, 匀速进攻
次要特征:平均拿球秒数,进攻挡拆执行率, 进攻篮板球距离, 长运球投篮率
防守球处理频率
第五组
勒布朗·詹姆斯
朱·赫勒迪,保罗·乔治,扎可·拉文,托拜厄斯·哈里斯,布兰登·英格拉姆,吉米·巴特勒,德文·布克,科怀·伦纳德,德玛尔·德罗赞,肯巴·沃克,拉塞尔·威斯布鲁克,达米安·利拉德,安德鲁·维金斯,多诺万·米切尔,凯尔·欧文,凯文·杜兰特,勒布朗·詹姆斯,詹姆斯·哈登,克里斯·米德尔顿,卢卡·东契奇,科林·塞克斯顿,德安吉洛·拉塞尔,克里斯·保罗,拉简·隆多,乔丹·卡拉克森
首要特征:长运球投篮率,进攻单打率, 进攻挡拆执行率,触球平均秒数
次要特征:触球平均运球数,防守挡拆执行频率。防守篮板球概率调整,无防守投篮率
拿球平均运球数
第六组
尼古拉斯·巴图姆,朗佐·鲍尔,米卡尔·布里奇斯,丹尼·格林,小凯利·乌布雷,乔纳森·艾萨克,特伦斯·弗格森,杰伦·布朗,多里安·芬尼·史密斯,肯里奇·威廉姆斯,约什·奥肯基,德玛雷·卡罗尔,德安徳烈·本布里,莫里斯·哈克里斯,安德烈·伊格达拉,罗季翁斯·库鲁兹,詹姆斯·恩尼斯三世,沙奎尔·哈里森,帕特·康诺顿,罗伊斯·奥尼尔,OG·安娜诺比,托里·克雷格,贾斯汀·杰克逊,布鲁斯·布朗,弗兰克·杰克逊
首要特征:快攻率,防守背身单打率,防守投篮率
次要特征:防守单打投篮率,进攻定点投篮率,无防守投篮率
快攻率
第七组
德安德烈·乔丹,蒙特雷斯·哈雷尔,巴姆·阿德巴约,杰迈克尔·格林,梅森·普拉姆利,米切尔·罗宾逊,扎克·科林斯
首要特征:其他进攻战术概率,其他进攻概率,近对抗投篮率,防守挡拆执行率,防守定点投篮率
次要特征:对抗投篮率,防守投篮率,肘区触球率,进攻空切率,进攻背身单打率,油漆区/三秒区触球率,背身单打触球率
近距离对抗投篮率
第八组
扬尼斯·安特托昆博
凯尔·库兹玛,阿隆·戈登,本·西蒙斯,哈里森·巴恩斯,杰拉米·格兰特,帕斯卡尔·西亚卡姆,扬尼斯·安特托昆博,劳里·马尔卡宁,T.J·沃伦,凯尔·安德森,达尼罗·加理纳利,艾尔·法鲁克·阿米奴,贾巴里·帕克,诺阿·冯莱,内马尼亚·别利察,威尔森·钱德勒,迈尔斯·布里奇斯,朗达·霍里斯·杰弗森,马里奥·海佐尼亚,詹姆斯·约翰逊,小德里克·琼斯
首要特征:防守篮板球率改变,防守定点率,防守绕掩护投篮率
次要特征:防守单打率,防守挡拆执行投篮率,防守定点投篮率,进攻单打率
防守篮板球概率改变
第九组
克莱·汤普森,JJ·雷迪克,贾斯汀·霍勒迪,乔·哈里斯,雷吉·巴洛克,韦斯利·马修斯,特伦斯·罗斯,阿伦·克拉布,肯塔维奥斯·考德威尔·波普,兰德里·沙梅特,维恩·艾灵顿,马尔科·贝里内利,达柳斯·米勒,兰斯顿·加洛韦,凯尔·科沃尔,道格·麦克德莫特,托尼·斯内尔
首要特征:进攻手递手率,进攻绕掩护投篮率,无防守投篮率,进攻篮板球距离,防守手递手率,防守绕掩护率
次要特征:匀速进攻,接球突投率,防守篮板球距离
无防守投篮率
第十组
史蒂夫·亚当斯,克林特·卡佩拉,鲁迪·戈贝尔,安德烈·德拉蒙德,约翰·科林斯,威利·考利·斯坦,特里斯坦·汤普森,尤素福·努尔基齐,科迪·泽勒,贾瑞特·艾伦,拉里·南斯二世,温德尔·卡特二世,德曼塔斯·萨博提斯,泰·吉布森,德雷克·费沃斯,德怀特·鲍威尔,贾维尔·麦基,哈桑·怀特赛德,托马斯·布莱恩特,亚历克斯·莱恩,凯文·鲁尼,艾德·戴维斯,伊维察·祖巴茨,雅各布·珀尔特尔,安特·日日奇
首要特征:进攻挡拆执行率,进攻空切率,投篮率,进攻篮板球概率调整,传球数大于接球数,肘区触球率,三秒区/油漆区触球率
次要特征:近对抗投篮率,防守背身单打率,进攻其他概率,进攻战术其他概率
三秒区/油漆区触球率
结果让我吃惊。通常来说,我们认为像史蒂芬·库里这样的全联盟的顶尖得分后卫会和其他明星球员并列,但是,这次使用的模型将他分到了第一组,在其中的大部分球员能力值一般。对比之下,第五组里就包含很多明星球员。作为控球球员,他们的首要特征是:长运球投篮率,进攻单打率,进攻挡拆执行率,平均触球秒数。
很希望能详细讨论每一组的数据特征,但既然这是一个数据科学项目,我将在下文转而阐述数据可视化问题。

结果可视化

由于将41个维度全部可视化的难度很大,我运用了主成分分析(PCA)将41个维度缩减到3个维度。不熟悉主成分分析的读者可以参考下文定义:
“主成分分析负责寻找新的维度系列(或是一套基本观点系),使得所有的维度呈现正交关系(即相互线性独立),并根据它们之间的数据差额排列。这意味着,主成分分析保留了那些更重要的原则。”
整合K-means输出和主成分分析降维之后的结果,生成了Plotly三个三维集群,截图如下:
三维图表
三维空间更容易显现各个簇之间的差异,图表也能直观地表现K-means是如何将41个维度分为4个簇的。

结论与感想

回到最初的问题:德安格洛·拉塞尔能否和史蒂芬·库里有效配合?让我们回到第五组。
勇士队转出凯文杜兰特,转入德安格洛·拉塞尔。这两个人都属于第五组,即控球球员组。
因此,我给勇士队主教练史蒂夫·科尔的建议是,让库里和拉塞尔同时上场。当然,他肯定预料到了这一点,也无再需让模型给他出谋划策。预计拉塞尔的控球率将有所提高,而库里则将更多地扮演无球球员的角色。
我希望在未来逐一分析各组里的球员,并考察每一名球员在组内的首要特征和次要特征上表现如何。增加分析性内容,思考如何提高不尽人意之处,或如何重新定位球员在球队中的角色,将有助于提升球员的表现。
希望各位读者喜欢这篇文章,也期待大家能提出建议和意见(手动比心)。
推荐阅读专题
留言 点赞 发个朋友圈
我们一起分享AI学习与发展的干货
如需转载,请后台留言,遵守转载规范
推荐文章阅读
长按识别二维码可添加关注
读芯君爱你

当NBA球星遇上机器学习……相关推荐

  1. DeepExploit——当Metasploit遇上机器学习

    Metasploit Meets Machine Learning 文章目录 Metasploit Meets Machine Learning 1. Metasploit准备 1.1 与外部项目的合 ...

  2. 秒懂机器学习---当机器学习遇上决策树....

    秒懂机器学习---当机器学习遇上决策树.... 一.总结 一句话总结: 多多看图,图的直观效果很好,很多时候文字实在表达不清 1.决策树(Decision Tree)中的各个节点表示什么意思? 每一个 ...

  3. [当人工智能遇上安全] 7.基于机器学习的安全数据集总结

    您或许知道,作者后续分享网络安全的文章会越来越少.但如果您想学习人工智能和安全结合的应用,您就有福利了,作者将重新打造一个<当人工智能遇上安全>系列博客,详细介绍人工智能与安全相关的论文. ...

  4. [当人工智能遇上安全] 6.基于机器学习的入侵检测和攻击识别——以KDD CUP99数据集为例

    您或许知道,作者后续分享网络安全的文章会越来越少.但如果您想学习人工智能和安全结合的应用,您就有福利了,作者将重新打造一个<当人工智能遇上安全>系列博客,详细介绍人工智能与安全相关的论文. ...

  5. [当人工智能遇上安全] 3.安全领域中的机器学习及机器学习恶意请求识别案例分享

    您或许知道,作者后续分享网络安全的文章会越来越少.但如果您想学习人工智能和安全结合的应用,您就有福利了,作者将重新打造一个<当人工智能遇上安全>系列博客,详细介绍人工智能与安全相关的论文. ...

  6. [当人工智能遇上安全] 5.基于机器学习算法的主机恶意代码识别研究

    您或许知道,作者后续分享网络安全的文章会越来越少.但如果您想学习人工智能和安全结合的应用,您就有福利了,作者将重新打造一个<当人工智能遇上安全>系列博客,详细介绍人工智能与安全相关的论文. ...

  7. 干货!机器学习遇上运筹优化,助力企业降本增效:一种双层优化方法

    点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入! 运筹帷幄,决胜千里.运筹优化(Operations Research)作为数学.计算机科学.管理学的交叉学科,如今广泛应用在企业的生产. ...

  8. NBA球星生涯数据集分析

    源码链接: https://download.csdn.net/download/qq_58012062/87541713?spm=1001.2014.3001.5501 数据提取:链接:https: ...

  9. 当深度学习遇上异构并行计算

    当深度学习遇上异构并行计算 近几年来,以深度神经网络(DNN)为代表的深度学习如火如荼,深度学习的研究领域从开始的图像识别(如imagenet比赛)到现在的自然语言处理,几乎有席卷一切机器学习研究领域 ...

  10. 工智能遇上银行反欺诈,到底能帮什么忙

    工智能遇上银行反欺诈,到底能帮什么忙 晚来风急 2017-08-02 11:42:00 浏览39 评论0 深度学习 大数据 算法 人工智能 神经网络 摘要: 说到人工智能,大多会联想到聊天机器人.人脸 ...

最新文章

  1. idea类模版,创建时生成一句歌词
  2. 第十五届全国大学生智能车安徽赛区参赛须知和竞赛日程安排
  3. pyxml for python 2.6 死而复生
  4. sqoop同步时间戳到mysql_在sqoop导入中使用24小时时间戳
  5. 【cocos2d-x】游戏构成要素③----游戏关卡的实现
  6. python stdev_Python stdev()函数的详细指南
  7. 如何在Mac视频中添加表情符号
  8. Java从入门到精通 第19章 异常的捕获和处理
  9. seaborn无法下载数据的问题
  10. android so文件脱壳,安卓逆向ida脱dex so壳内存脱壳教程
  11. java watir_watir webdriver 安装
  12. 组态王、力控、MCGS、瑞尔、杰控等国内组态软件一点看法 1
  13. Windows开机出现Scaning and repairing错误
  14. 模型思考笔记2—分类和同群效应带来的思考
  15. 菜鸟腾飞安全网之精通vmware虚拟机系列教程(12课全)听课笔记
  16. python查找单词的位置_Python实现单词查询文件查找
  17. ROM修改---修改本机的mac地址
  18. yolov1模型结构和训练测试流程详解
  19. EOS是什么以及含义
  20. android文件下载功能实现,Android中DownloadManager实现文件下载实例详解

热门文章

  1. hdu 4565(推公式、矩阵快速幂)
  2. HDU-3987 Harry Potter and the Forbidden Forest(最大流)
  3. Android ImageView属性
  4. mumu模拟器命令安装apk
  5. 【react学习笔记】为什么页面只展示空标签
  6. 测绘技能大赛选手图加密工具
  7. vim复制转帖格式错乱
  8. 10个常用的数据分析商业模型之波特五种竞争力模型(一)
  9. Jupyter/IPython笔记本集合 !(附大量资源链接)-上篇
  10. 一根网线两台电脑传输文件