當NBA球星遇上機器學習……

全文共4423字,預計學習時長

12分鐘

當NBA球星遇上機器學習……

我喜歡籃球。我喜歡打籃球、看籃球、談籃球。有時候我會和朋友們談論諸如“如果科比和勒布朗單挑誰會贏”之類的話題。我需要用這次機器學習項目,將我的兩個愛好,籃球和數據科學有機地結合起來。

去年夏天,金州勇士隊轉出連續斬獲兩屆NBA決賽MVP(最有價值球員獎)的凱文·杜蘭特,引入德安格洛·拉塞爾。於是體育分析員紛紛開始猜測拉塞爾在勇士隊的適配程度,如下:

當NBA球星遇上機器學習……

這也讓我開始思考:德安格洛·拉塞爾將如何適應勇士隊的節奏?能不能運用機器學習將NBA球員分類,並預測某一球員與指定球隊的兼容程度?

本項目的研究目的是,確定若干球員的類型,並根據歷史活動或他們對空間的利用確定他們在球場上扮演的角色。

得分、籃板、助攻、搶斷、蓋帽等數據不會被用作特徵,因為它們依賴於例如出場時間或進球數量等數據(這項數據也不會出現在特徵中)。將得分、籃板、助攻、搶斷、蓋帽等數據作為特徵可能會使最終結果與這些特徵密切相關,這就偏離了本次項目的初衷。我將在下文的研究方法部分詳細列舉所有的特徵。

當NBA球星遇上機器學習……

數據

我們來看一看數據部分。

數據是由Python和Selenium包從stats.nba.com提取加工而成。選取的特徵大部分都基於上場頻率。很多打法都包含進攻和防守站位。比如說,“進攻背身單打率”指該球員背身單打時在進攻位的頻率;“防守背身單打率” 指該球員背身單打時在防守位的頻率。這些特徵的附釋,可以參考此鏈接:https://stats.nba.com/help/glossary/。

樣本數據:272名球員

初始數據集包含531名球員。而後上場時間少於半個賽季及1000分鐘的球員被移出樣本數據。這樣做的原則是,去除所有出場不穩定的球員。以下是完整的球員樣本名單:

當NBA球星遇上機器學習……

球員名單

選取特徵:41個

篩選之前特徵總數超過600。最後選取了描述落位和運球的特徵。

當NBA球星遇上機器學習……

特徵列表

研究方法和模型選擇

由於本項目屬於無監督學習,它得出的結果需要進一步分析。我在模型和簇數選擇上有兩個目標:

1. 突出簇之間的顯著差異。簇數太少,每個簇中樣本太多,不能得出各個球員間的風格差異。

2. 避免簇數過多。如果每個球員都是一個簇,結果只能表明每一個人都是獨立的個體,這對研究的幫助很小。

模型選擇: DBSCAN, K-means和Mean Shift

以上三個模型中,K-Means最有效地實現了研究目標。DBSCAN和Mean Shift生成的結果都包含多個僅含一個球員的簇。

簇的數量:10個

我決定將簇的數量定為5的倍數,因為籃球場上有5個位置。10個簇切合了我設想的研究方法。

研究結果

我用所得結果計算了每個組中所有特徵的平均數,並根據最高和第二高的特徵對每組進行了排名。術語定義如下:

首要特徵:所列特徵的平均值在一組中是最高的。

次要特徵:所列特徵的平均值在一組中是第二高的。

除此之外,還通過條形圖展現了每組的首要特徵,用於與其他球員作對比。

第一組

當NBA球星遇上機器學習……

史蒂芬·庫裡

布拉德利·比爾, 巴迪·希爾德, 史蒂芬·庫裡, 埃文·, 特雷沃·阿里扎,凱爾·洛瑞, 喬·英格爾斯, 小奧托·波特, 博格丹·博格達諾維奇,艾弗裡·布拉德利, 小蒂姆·哈達威, 傑森·塔圖姆, 賈斯蒂斯·溫斯洛, 傑里米·蘭姆,伊託萬·摩爾, 凱文·諾克斯, 凱文·許爾特, 波格丹·波格諾維奇, 加里·哈里斯, 布林·福布斯, 埃裡克·戈登, 泰勒·約翰遜, 達米安·多特森, 托里恩·普林斯, 加里特·坦普爾

首要特徵:防守單打投籃率

次要特徵:手遞手防守率, 防守繞掩護投籃率, 防守繞掩護率, 防守背身單打率, 快攻率, 手遞手進攻率, 進攻繞掩護投籃率

當NBA球星遇上機器學習……

防守遠射頻率

第二組

卡爾·安東尼·唐斯,拉馬庫斯·阿爾德里奇,喬爾·恩比德,賽迪斯·楊,布雷克·格里芬,安東尼·戴維斯,尼克拉·約基奇,朱利葉斯·蘭德爾,尼可拉·武切維奇,德安德烈·艾頓,邁爾斯·特納,艾爾·霍福德,馬克·加索爾,馬爾文·巴格萊三世,小賈倫·傑克遜,賽爾吉·伊巴卡,鮑比·波蒂斯,伊內斯·坎特,喬納斯·瓦蘭西尤納斯,羅賓·洛佩茲,馬基夫·莫里斯,戈爾吉·吉恩

首要特徵:進攻背身單打率,背身單打觸球率

次要特徵:進攻籃板球率調整

當NBA球星遇上機器學習……

進攻背身單打率

第三組

PJ塔克,德雷蒙德·格林,馬爾文·威廉姆斯,傑·克勞德,布魯克·洛佩茲,達里奧·薩里奇,德維恩·戴德蒙,傑夫·格林,凱利·奧里尼克,戴維斯·貝爾坦斯,邁克·穆斯卡拉,馬克西·克雷貝爾,賈裡德·杜德利,邁克·斯科特,約納斯·傑雷布克,安東尼·託利弗,文斯·卡特

首要特徵:接球投籃率, 進攻定點投籃率, 無防守投籃率, 防守單打率, 防守背身單打率

次要特徵:防守定點投籃率, 傳球數大於接球數

當NBA球星遇上機器學習……

接球投籃率

第四組

約什·理查德森,CJ·麥科勒姆,邁克·康利,賈馬爾·穆雷,達龍·福克斯,特雷·楊,賽迪·奧斯曼,艾弗裡德·佩頓,克里斯·鄧恩,丹尼·施羅德,埃裡克·布萊德索,馬爾科姆·布羅格登,托馬斯·薩託蘭斯基,帕特里克·貝弗利,小丹尼·史密斯,伊曼紐爾·穆迪埃,弗雷德·範弗裡特,裡基·盧比奧,謝伊·吉爾吉斯·亞歷山大,達倫·科裡森,雷吉·傑克遜,D.J.奧古斯汀,科裡·約瑟夫,德雷克·懷特,萊恩·阿什蒂亞克諾

首要特徵: 防守籃板球距離, 進攻擋拆執行率,拿球平均運球數, 勻速進攻

次要特徵:平均拿球秒數,進攻擋拆執行率, 進攻籃板球距離, 長運球投籃率

當NBA球星遇上機器學習……

防守球處理頻率

第五組

當NBA球星遇上機器學習……

勒布朗·詹姆斯

朱·赫勒迪,保羅·喬治,扎可·拉文,託拜厄斯·哈里斯,布蘭登·英格拉姆,吉米·巴特勒,德文·布克,科懷·倫納德,德瑪爾·德羅贊,肯巴·沃克,拉塞爾·威斯布魯克,達米安·利拉德,安德魯·維金斯,多諾萬·米切爾,凱爾·歐文,凱文·杜蘭特,勒布朗·詹姆斯,詹姆斯·哈登,克里斯·米德爾頓,盧卡·東契奇,科林·塞克斯頓,德安吉洛·拉塞爾,克里斯·保羅,拉簡·隆多,喬丹·卡拉克森

首要特徵: 長運球投籃率,進攻單打率, 進攻擋拆執行率,觸球平均秒數

次要特徵:觸球平均運球數,防守擋拆執行頻率。防守籃板球概率調整,無防守投籃率

當NBA球星遇上機器學習……

拿球平均運球數

第六組

尼古拉斯·巴圖姆,朗佐·鮑爾,米卡爾·布里奇斯,丹尼·格林,小凱利·烏佈雷,喬納森·艾薩克,特倫斯·弗格森,杰倫·布朗,多里安·芬尼·史密斯,肯裡奇·威廉姆斯,約什·奧肯基,德瑪雷·卡羅爾,德安徳烈·本布里,莫里斯·哈克里斯,安德烈·伊格達拉,羅季翁斯·庫魯茲,詹姆斯·恩尼斯三世,沙奎爾·哈里森,帕特·康諾頓,羅伊斯·奧尼爾,OG·安娜諾比,托里·克雷格,賈斯汀·傑克遜,布魯斯·布朗,弗蘭克·傑克遜

首要特徵: 快攻率,防守背身單打率,防守投籃率

次要特徵:防守單打投籃率,進攻定點投籃率,無防守投籃率

當NBA球星遇上機器學習……

快攻率

第七組

德安德烈·喬丹,蒙特雷斯·哈雷爾,巴姆·阿德巴約,傑邁克爾·格林,梅森·普拉姆利,米切爾·羅賓遜,扎克·科林斯

首要特徵:其他進攻戰術概率,其他進攻概率,近對抗投籃率,防守擋拆執行率,防守定點投籃率

次要特徵:對抗投籃率,防守投籃率,肘區觸球率,進攻空切率,進攻背身單打率,油漆區/三秒區觸球率,背身單打觸球率

當NBA球星遇上機器學習……

近距離對抗投籃率

第八組

當NBA球星遇上機器學習……

揚尼斯·安特託昆博

凱爾·庫茲瑪,阿隆·戈登,本·西蒙斯,哈里森·巴恩斯,傑拉米·格蘭特,帕斯卡爾·西亞卡姆,揚尼斯·安特託昆博,勞裡·馬爾卡寧,T.J·沃倫,凱爾·安德森,達尼羅·加理納利,艾爾·法魯克·阿米奴,賈巴里·帕克,諾阿·馮萊,內馬尼亞·別利察,威爾森·錢德勒,邁爾斯·布里奇斯,朗達·霍里斯·傑弗森,馬里奧·海佐尼亞,詹姆斯·約翰遜,小德里克·瓊斯

首要特徵:防守籃板球率改變,防守定點率,防守繞掩護投籃率

次要特徵:防守單打率,防守擋拆執行投籃率,防守定點投籃率,進攻單打率

當NBA球星遇上機器學習……

防守籃板球概率改變

第九組

克萊·湯普森,JJ·雷迪克,賈斯汀·霍勒迪,喬·哈里斯,雷吉·巴洛克,韋斯利·馬修斯,特倫斯·羅斯,阿倫·克拉布,肯塔維奧斯·考德威爾·波普,蘭德里·沙梅特,維恩·艾靈頓,馬爾科·貝里內利,達柳斯·米勒,蘭斯頓·加洛韋,凱爾·科沃爾,道格·麥克德莫特,託尼·斯內爾

首要特徵:進攻手遞手率,進攻繞掩護投籃率,無防守投籃率,進攻籃板球距離,防守手遞手率,防守繞掩護率

次要特徵:勻速進攻,接球突投率,防守籃板球距離

當NBA球星遇上機器學習……

無防守投籃率

第十組

史蒂夫·亞當斯,克林特·卡佩拉,魯迪·戈貝爾,安德烈·德拉蒙德,約翰·科林斯,威利·考利·斯坦,特里斯坦·湯普森,尤素福·努爾基齊,科迪·澤勒,賈瑞特·艾倫,拉里·南斯二世,溫德爾·卡特二世,德曼塔斯·薩博提斯,泰·吉布森,德雷克·費沃斯,德懷特·鮑威爾,賈維爾·麥基,哈桑·懷特賽德,托馬斯·布萊恩特,亞歷克斯·萊恩,凱文·魯尼,艾德·戴維斯,伊維察·祖巴茨,雅各布·珀爾特爾,安特·日日奇

首要特徵:進攻擋拆執行率,進攻空切率,投籃率,進攻籃板球概率調整,傳球數大於接球數,肘區觸球率,三秒區/油漆區觸球率

次要特徵:近對抗投籃率,防守背身單打率,進攻其他概率,進攻戰術其他概率

當NBA球星遇上機器學習……

三秒區/油漆區觸球率

結果讓我吃驚。通常來說,我們認為像史蒂芬·庫裡這樣的全聯盟的頂尖得分後衛會和其他明星球員並列,但是,這次使用的模型將他分到了第一組,在其中的大部分球員能力值一般。對比之下,第五組裡就包含很多明星球員。作為控球球員,他們的首要特徵是:長運球投籃率,進攻單打率,進攻擋拆執行率,平均觸球秒數。

很希望能詳細討論每一組的數據特徵,但既然這是一個數據科學項目,我將在下文轉而闡述數據可視化問題。

當NBA球星遇上機器學習……

結果可視化

由於將41個維度全部可視化的難度很大,我運用了主成分分析(PCA)將41個維度縮減到3個維度。不熟悉主成分分析的讀者可以參考下文定義:

“主成分分析負責尋找新的維度系列(或是一套基本觀點系),使得所有的維度呈現正交關係(即相互線性獨立),並根據它們之間的數據差額排列。這意味著,主成分分析保留了那些更重要的原則。”

整合K-means輸出和主成分分析降維之後的結果,生成了Plotly三個三維集群,截圖如下:

當NBA球星遇上機器學習……

三維圖表

三維空間更容易顯現各個簇之間的差異,圖表也能直觀地表現K-means是如何將41個維度分為4個簇的。

當NBA球星遇上機器學習……

結論與感想

回到最初的問題:德安格洛·拉塞爾能否和史蒂芬·庫裡有效配合?讓我們回到第五組。

當NBA球星遇上機器學習……

勇士隊轉出凱文杜蘭特,轉入德安格洛·拉塞爾。這兩個人都屬於第五組,即控球球員組。

因此,我給勇士隊主教練史蒂夫·科爾的建議是,讓庫裡和拉塞爾同時上場。當然,他肯定預料到了這一點,也無再需讓模型給他出謀劃策。預計拉塞爾的控球率將有所提高,而庫裡則將更多地扮演無球球員的角色。

我希望在未來逐一分析各組裡的球員,並考察每一名球員在組內的首要特徵和次要特徵上表現如何。增加分析性內容,思考如何提高不盡人意之處,或如何重新定位球員在球隊中的角色,將有助於提升球員的表現。

希望各位讀者喜歡這篇文章,也期待大家能提出建議和意見(手動比心)。

當NBA球星遇上機器學習……

當NBA球星遇上機器學習……

我們一起分享AI學習與發展的乾貨


分享到:


相關文章: