全文共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学习与发展的干货
推荐文章阅读
长按识别二维码可添加关注
读芯君爱你