当NBA球星遇上机器学习……

人工智能 机器学习
我喜欢篮球。我喜欢打篮球、看篮球、谈篮球。有时候我会和朋友们谈论诸如“如果科比和勒布朗单挑谁会赢”之类的话题。

[[282801]]

我喜欢篮球。我喜欢打篮球、看篮球、谈篮球。有时候我会和朋友们谈论诸如“如果科比和勒布朗单挑谁会赢”之类的话题。我需要用这次机器学习项目,将我的两个爱好,篮球和数据科学有机地结合起来。 去年夏天,金州勇士队转出连续斩获两届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个簇切合了我设想的研究方法。

研究结果

我用所得结果计算了每个组中所有特征的平均数,并根据最高和第二高的特征对每组进行了排名。术语定义如下: 首要特征:所列特征的平均值在一组中是最高的。次要特征:所列特征的平均值在一组中是第二高的。 除此之外,还通过条形图展现了每组的首要特征,用于与其他球员作对比。

第一组

[[282802]]

史蒂芬·库里


布拉德利·比尔, 巴迪·希尔德, 史蒂芬·库里, 埃文·, 特雷沃·阿里扎,凯尔·洛瑞, 乔·英格尔斯, 小奥托·波特, 博格丹·博格达诺维奇,艾弗里·布拉德利, 小蒂姆·哈达威, 杰森·塔图姆, 贾斯蒂斯·温斯洛, 杰里米·兰姆,伊托万·摩尔, 凯文·诺克斯, 凯文·许尔特, 波格丹·波格诺维奇, 加里·哈里斯, 布林·福布斯, 埃里克·戈登, 泰勒·约翰逊, 达米安·多特森, 托里恩·普林斯, 加里特·坦普尔

首要特征:防守单打投篮率

次要特征:手递手防守率, 防守绕掩护投篮率, 防守绕掩护率, 防守背身单打率, 快攻率, 手递手进攻率, 进攻绕掩护投篮率


防守远射频率

第二组 卡尔·安东尼·唐斯,拉马库斯·阿尔德里奇,乔尔·恩比德,赛迪斯·杨,布雷克·格里芬,安东尼·戴维斯,尼克拉·约基奇,朱利叶斯·兰德尔,尼可拉·武切维奇,德安德烈·艾顿,迈尔斯·特纳,艾尔·霍福德,马克·加索尔,马尔文·巴格莱三世,小贾伦·杰克逊,赛尔吉·伊巴卡,鲍比·波蒂斯,伊内斯·坎特,乔纳斯·瓦兰西尤纳斯,罗宾·洛佩兹,马基夫·莫里斯,戈尔吉·吉恩

首要特征:进攻背身单打率,背身单打触球率

次要特征:进攻篮板球率调整


进攻背身单打率

第三组

PJ塔克,德雷蒙德·格林,马尔文·威廉姆斯,杰·克劳德,布鲁克·洛佩兹,达里奥·萨里奇,德维恩·戴德蒙,杰夫·格林,凯利·奥里尼克,戴维斯·贝尔坦斯,迈克·穆斯卡拉,马克西·克雷贝尔,贾里德·杜德利,迈克·斯科特,约纳斯·杰雷布克,安东尼·托利弗,文斯·卡特

首要特征:接球投篮率, 进攻定点投篮率, 无防守投篮率, 防守单打率, 防守背身单打率

次要特征:防守定点投篮率, 传球数大于接球数


接球投篮率

第四组

约什·理查德森,CJ·麦科勒姆,迈克·康利,贾马尔·穆雷,达龙·福克斯,特雷·杨,赛迪·奥斯曼,艾弗里德·佩顿,克里斯·邓恩,丹尼·施罗德,埃里克·布莱德索,马尔科姆·布罗格登,托马斯·萨托兰斯基,帕特里克·贝弗利,小丹尼·史密斯,伊曼纽尔·穆迪埃,弗雷德·范弗里特,里基·卢比奥,谢伊·吉尔吉斯·亚历山大,达伦·科里森,雷吉·杰克逊,D.J.奥古斯汀,科里·约瑟夫,德雷克·怀特,莱恩·阿什蒂亚克诺

首要特征: 防守篮板球距离, 进攻挡拆执行率,拿球平均运球数, 匀速进攻

次要特征:平均拿球秒数,进攻挡拆执行率, 进攻篮板球距离, 长运球投篮率


防守球处理频率

第五组

 

[[282806]]

勒布朗·詹姆斯

 

 

朱·赫勒迪,保罗·乔治,扎可·拉文,托拜厄斯·哈里斯,布兰登·英格拉姆,吉米·巴特勒,德文·布克,科怀·伦纳德,德玛尔·德罗赞,肯巴·沃克,拉塞尔·威斯布鲁克,达米安·利拉德,安德鲁·维金斯,多诺万·米切尔,凯尔·欧文,凯文·杜兰特,勒布朗·詹姆斯,詹姆斯·哈登,克里斯·米德尔顿,卢卡·东契奇,科林·塞克斯顿,德安吉洛·拉塞尔,克里斯·保罗,拉简·隆多,乔丹·卡拉克森

首要特征: 长运球投篮率,进攻单打率, 进攻挡拆执行率,触球平均秒数

次要特征:触球平均运球数,防守挡拆执行频率。防守篮板球概率调整,无防守投篮率


拿球平均运球数

第六组

尼古拉斯·巴图姆,朗佐·鲍尔,米卡尔·布里奇斯,丹尼·格林,小凯利·乌布雷,乔纳森·艾萨克,特伦斯·弗格森,杰伦·布朗,多里安·芬尼·史密斯,肯里奇·威廉姆斯,约什·奥肯基,德玛雷·卡罗尔,德安徳烈·本布里,莫里斯·哈克里斯,安德烈·伊格达拉,罗季翁斯·库鲁兹,詹姆斯·恩尼斯三世,沙奎尔·哈里森,帕特·康诺顿,罗伊斯·奥尼尔,OG·安娜诺比,托里·克雷格,贾斯汀·杰克逊,布鲁斯·布朗,弗兰克·杰克逊

首要特征: 快攻率,防守背身单打率,防守投篮率

次要特征:防守单打投篮率,进攻定点投篮率,无防守投篮率

 

快攻率

 


 第七组

 

德安德烈·乔丹,蒙特雷斯·哈雷尔,巴姆·阿德巴约,杰迈克尔·格林,梅森·普拉姆利,米切尔·罗宾逊,扎克·科林斯

首要特征:其他进攻战术概率,其他进攻概率,近对抗投篮率,防守挡拆执行率,防守定点投篮率

次要特征:对抗投篮率,防守投篮率,肘区触球率,进攻空切率,进攻背身单打率,油漆区/三秒区触球率,背身单打触球率

 

近距离对抗投篮率 

第八组

 

[[282809]]

扬尼斯·安特托昆博

 


凯尔·库兹玛,阿隆·戈登,本·西蒙斯,哈里森·巴恩斯,杰拉米·格兰特,帕斯卡尔·西亚卡姆,扬尼斯·安特托昆博,劳里·马尔卡宁,T.J·沃伦,凯尔·安德森,达尼罗·加理纳利,艾尔·法鲁克·阿米奴,贾巴里·帕克,诺阿·冯莱,内马尼亚·别利察,威尔森·钱德勒,迈尔斯·布里奇斯,朗达·霍里斯·杰弗森,马里奥·海佐尼亚,詹姆斯·约翰逊,小德里克·琼斯

 

首要特征:防守篮板球率改变,防守定点率,防守绕掩护投篮率

次要特征:防守单打率,防守挡拆执行投篮率,防守定点投篮率,进攻单打率

防守篮板球概率改变


 第九组

克莱·汤普森,JJ·雷迪克,贾斯汀·霍勒迪,乔·哈里斯,雷吉·巴洛克,韦斯利·马修斯,特伦斯·罗斯,阿伦·克拉布,肯塔维奥斯·考德威尔·波普,兰德里·沙梅特,维恩·艾灵顿,马尔科·贝里内利,达柳斯·米勒,兰斯顿·加洛韦,凯尔·科沃尔,道格·麦克德莫特,托尼·斯内尔

首要特征:进攻手递手率,进攻绕掩护投篮率,无防守投篮率,进攻篮板球距离,防守手递手率,防守绕掩护率

次要特征:匀速进攻,接球突投率,防守篮板球距离


无防守投篮率

 

 

 

第十组

史蒂夫·亚当斯,克林特·卡佩拉,鲁迪·戈贝尔,安德烈·德拉蒙德,约翰·科林斯,威利·考利·斯坦,特里斯坦·汤普森,尤素福·努尔基齐,科迪·泽勒,贾瑞特·艾伦,拉里·南斯二世,温德尔·卡特二世,德曼塔斯·萨博提斯,泰·吉布森,德雷克·费沃斯,德怀特·鲍威尔,贾维尔·麦基,哈桑·怀特赛德,托马斯·布莱恩特,亚历克斯·莱恩,凯文·鲁尼,艾德·戴维斯,伊维察·祖巴茨,雅各布·珀尔特尔,安特·日日奇

首要特征:进攻挡拆执行率,进攻空切率,投篮率,进攻篮板球概率调整,传球数大于接球数,肘区触球率,三秒区/油漆区触球率

次要特征:近对抗投篮率,防守背身单打率,进攻其他概率,进攻战术其他概率

三秒区/油漆区触球率 

 


结果让我吃惊。通常来说,我们认为像史蒂芬·库里这样的全联盟的顶尖得分后卫会和其他明星球员并列,但是,这次使用的模型将他分到了第一组,在其中的大部分球员能力值一般。对比之下,第五组里就包含很多明星球员。作为控球球员,他们的首要特征是:长运球投篮率,进攻单打率,进攻挡拆执行率,平均触球秒数。

 

很希望能详细讨论每一组的数据特征,但既然这是一个数据科学项目,我将在下文转而阐述数据可视化问题。

 

结果可视化

由于将41个维度全部可视化的难度很大,我运用了主成分分析(PCA)将41个维度缩减到3个维度。不熟悉主成分分析的读者可以参考下文定义: “主成分分析负责寻找新的维度系列(或是一套基本观点系),使得所有的维度呈现正交关系(即相互线性独立),并根据它们之间的数据差额排列。这意味着,主成分分析保留了那些更重要的原则。”

整合K-means输出和主成分分析降维之后的结果,生成了Plotly三个三维集群,截图如下:

三维图表

 


 三维空间更容易显现各个簇之间的差异,图表也能直观地表现K-means是如何将41个维度分为4个簇的。

 

 

结论与感想

回到最初的问题:德安格洛·拉塞尔能否和史蒂芬·库里有效配合?让我们回到第五组。

 

勇士队转出凯文杜兰特,转入德安格洛·拉塞尔。这两个人都属于第五组,即控球球员组。

因此,我给勇士队主教练史蒂夫·科尔的建议是,让库里和拉塞尔同时上场。当然,他肯定预料到了这一点,也无再需让模型给他出谋划策。预计拉塞尔的控球率将有所提高,而库里则将更多地扮演无球球员的角色。

我希望在未来逐一分析各组里的球员,并考察每一名球员在组内的首要特征和次要特征上表现如何。增加分析性内容,思考如何提高不尽人意之处,或如何重新定位球员在球队中的角色,将有助于提升球员的表现。

责任编辑:武晓燕 来源: 读芯术
相关推荐

2016-08-12 16:36:51

GE通用电气

2020-10-08 15:21:44

机器学习

2016-03-17 15:39:41

工业互联网智造+V课堂

2022-02-24 16:15:16

OpenHarmon鸿蒙OpenEuler

2016-10-21 15:57:39

Rust编辑语言Fedora

2013-05-22 09:33:09

交互设计设计时间

2017-06-28 11:34:55

锐捷 医疗 物联网

2017-08-18 14:47:31

DDD微服务架构

2015-01-07 15:49:21

大数据SSD

2017-10-18 12:12:42

空间数据机器学习数据挖掘

2017-05-16 14:38:25

2016-10-21 09:45:20

RustFedoraJava

2009-03-21 16:43:29

SOA虚拟化IT

2011-03-16 14:51:35

2013-11-08 09:15:32

大数据平板电脑

2013-08-22 11:08:27

大数据商业只能Hadoop

2017-09-11 13:55:30

前端JavaScript物联网

2022-06-27 13:56:10

设计模式缓存分布式系统

2023-10-13 16:55:30

2020-12-22 09:31:43

区块链安全食品
点赞
收藏

51CTO技术栈公众号