[閒聊] 嘗試以機器學習排出P+前三隊
大家好
前陣子世界賽,看到很多人在討論P+前兩隊的選人標準
突然想到我曾經做過類似的專題(感興趣的人可以A我文章看,但很簡略xD)
因此決定再做一次,看看是不是與媒體投票的結果有所差異~
先打預防針,這是機器學習的結果,基本上就是個黑盒子,所以大家看看就好,別太認真!
-
懶人包:
以 PCA+t-SNE 對資料降維,並以 K-Means 對球員分群^[1]
再考慮各群對球隊勝率的幫助及各自的上場時間,得出結論(有根據P+規則)
第一隊-> 吉爾貝克、李德威、李家瑞、陳堅恩、李愷諺
第二隊-> 辛巴、朱雲豪、曾文鼎、楊盛硯(?)、簡祐哲
第三隊-> 塞瑟夫、林志傑、林書緯、林俊吉、高國豪
(參考板友意見後,在推文有另一個版本)
-
正文:
首先機器學習最重要的就是資料,分成傳統數據和進階數據
傳統數據部分來自P+網站,進階數據部分則來自Game Changer網站^[2]
範圍是本季例行賽,出賽多於十場、平均上場多於六分鐘、總上場時間多於一百分鐘
在這裡先吐槽一下,P+可不可以趕快完善數據這一塊,不懂到底難在哪......
都有一個NBA stat給你抄了,到現在還是只有傳統數據@@
但現在的資料維度(95個)太高,直接跑的結果不會好,因此需要先設法降低
這邊用的是比較常見的 PCA 和 t-SNE
PCA 的中文叫做「主成分分析」,原理簡單來說是透過軸的旋轉
找到新的變數(即主成分),這個變數可以同時保留很多維度的訊息,從而達到降維目的可以想像在二維平面上,假設資料點都是(1,1)、(2,2)、(3,3)......
那麼比起用x、y軸記錄這些點,不如將座標軸旋轉45度,那就是只用一個軸達到同樣效果
但 PCA 完後仍有3X個維度,因此再引入另一種方法再度降維
t-SNE 我不太確定正式的中文譯名,直接翻的話叫「t分布隨機鄰近插入」
假設我們想要將一個圓上均勻的點投射在一條線上,勢必有重疊但其實距離很遠的點
那要如何讓這些點在線上可以分別?答案比想像中粗暴:先量原本的距離
量完後根據距離丟到t分布上,並賦予這些點一個條件機率
使這些點有更高的機會在投射後被分到原本距離近的點附近(抱歉真的很難解釋^[3])
維度順利降到二維後,就可以開始對球員進行分群了,在這裡順便解釋一下原因
在現行所有評估球員的方法中,最難的點就是怎麼降低場上其他人的影響?
這就回到我的目的,也就是選出前三隊
對我來說,前三隊代表這些人上場就是贏球保證
因此我藉由觀察其他表現差不多的球員,去看說是不是其他人上場越多,球隊勝率越高?當然這個想法有很多瑕疵,但現行公開的數據來看,我認為可能沒有更好的選項
分群的方法應該就不用介紹了,就是將距離近的點抓在一起,而這裡我將球員分10群^[4]接著計算各群在各隊的上場時間,加上各隊勝率跑個迴歸,便得到各群平均對勝率的影響值得注意的是各群之間各球員的相似度落在0.375至0.4左右
因此如果直接用上面得到的結果,會造成精確度的影響很大,那要怎麼解決呢?
其實統計很常見的做法就是:一次不行,那就多跑幾次,相信大數法則xD
所以我重複上述步驟100次,並將每次得到的勝率乘上同群相似度和總上場時間
最後得到的結果便是我用來決定前三隊的指標!(結果如懶人包所示)^[5]
-
心得:
1.以這項指標來看,MVP德威、最佳洋將大B、最佳新人小烈
而敏哥和又瑋在這項指標中都不算太好
2.國王和領航猿的洋將在隊內排名都不高(湯瑪士隊內第9,里喬羅三人則幾乎墊底)
可能是國王的體系讓本土球員可以更好的發揮優勢?
3.結果看起來對中鋒評價都比較高,可能是採用的數據問題,也可能在台灣中鋒真的很好用 這一點等之後有更多數據後再作觀察
4.FMVP辛特力在隊內排名倒數第二,真正的季賽養生季後殺生代表?
5.這項指標為負值的人有->
張耕淯、聶歐瑪、李盈鋒、里金斯、林宜輝、錢肯尼
而領航猿和鋼鐵人大多都為負值,可能勝率太低所致,也可能體系有很大的問題
6.另外有一項指標是看各球員被分到的群,在全部裡面排名第幾
我原本想當作觀察有誰應該得到更多上場時間的指標,但容毅燊名列前矛讓我有點懷疑
7.以結果來看,應該模型表現沒有很好,未來再找找看有沒有衡量的指標做為參考
也歡迎對數據有興趣的板友們一起討論、集思廣益!
-
附註:
[1]這個過程參考自UCLA的一篇論文:https://tinyurl.com/544k9dkf
[2]https://tinyurl.com/2e6y5qfr
其中除了各區域命中率以外皆有使用
順便問一下有沒有高人可以指點如何爬這種網站?慢慢複製好累......
[3]有興趣的板友推薦看https://tinyurl.com/4vhbkww3
非常淺顯易懂!
[4]群數的決定辦法是土法煉鋼,從分2群到分10群,各跑1000次看結果哪個最好
[5]最後附上各隊前六名:
勇士 -> 塞瑟夫 > 曾文鼎 > 林書緯 > 林志傑 > 曾祥鈞 > 張宗憲
國王 -> 李愷諺 > 簡祐哲 > 林仕軒 > 林力仁 > 陳俊男 > 楊興治
領航猿-> 陳冠全 > 林耀宗 > 李家慷 > 林 正 > 溫立煌 > 盧峻翔
攻城獅-> 辛 巴 > 李家瑞 > 朱雲豪 > 陳堅恩 > 高國豪 > 吳岱豪
夢想家->吉爾貝克> 李德威 > 楊盛硯 > 林俊吉 > 吳永盛 > 陳振傑
鋼鐵人-> 布 朗 > 王柏智 > 王律翔 > 班尼特 > 鄭德維 > 盧哲毅
--
會不會有垃圾時間的問題?
可能 但就要看重播重新紀錄才行 就太累了xD
有趣 推個
這數據是不是冠軍賽直接打臉,不然就是一人球隊無法
參考
第三隊三後衛,是不是該換掉一個?
P的規定是可以三前兩後或兩前三後~
原PO沒有考量到主力問題嗎? 基本上前三隊一定是該
隊主力阿
你名單出現非主力排擠主力 不覺得有問題嗎
因為目前沒有客觀數據可以確定誰是主力(比較接近的可能是USG%?這我有放) 也無法證明所謂主力在場上對球隊是好處 但你說的也很有道理,所以目前想到的是那就乾脆限制平均上場時間要多於24分鐘 符合的有31位下去做,最後得到的結果是: 第一隊->
辛巴、
李家瑞、
李愷諺、
吳永盛、
林書緯第二隊->
湯瑪士、
呂政儒、
簡浩、
高國豪、
吳家駿感覺結果比較合理一點,相似度也有上升
※ 編輯: chih2loveu (61.64.12.30 臺灣), 07/08/2022 05:31:48李家瑞攻城獅第二?
感覺很多都跟直覺上的排名不一樣
如果用一樣的系統排NBA的不知道會怎樣
機器學習的問題通常都是數據的問題
數據很多 但要放那些資料才可以客觀評比都是學問
沒錯,這個問題困擾我好多個晚上QQ 看來還有很長一段路要走......
官方提供的數據不足時 模型
更難建立
原PO滿有心的 推
辛特力完全沒上榜 扯
Sample size感覺不太夠?就算PCA之後sample size是
不是也不到parameters 的10倍?
對,而且常見增加sample的方法感覺好像都不太適用? 小弟才疏學淺,目前想不太到有什麼解決方法@@
有趣推個
技術含量很高給推 XD
shifa大整理數據的想法也讓我受益匪淺!
※ 編輯: chih2loveu (61.64.12.30 臺灣), 07/08/2022 07:05:44原PO加油 做到聯盟來找你就成功了
有正規化和Data cleaning嗎 怎麼德威家瑞會在第一
隊= =
都有! 德威就算了 家瑞一直名列前矛讓我這個家瑞黑好難受
※ 編輯: chih2loveu (61.64.12.30 臺灣), 07/08/2022 07:13:19家瑞德威的共同點都是季中有一段時間沒有上場
資料維度太高的話要不要試試看LBG vector quantiza
tion 來壓縮一下?
P的官網數據真的少到可憐
之前大勝還被登記到領航猿
這數據確實有趣
以前我是用類神經網路拓樸最佳群數
以這次資料來說可能不會有更好的結果 加上類神經現在是我的弱項,所以沒有使用 這部分之後會再去研究,感謝建議!
看到第一隊有李德威、李家瑞就可以end 了
猿隊陳冠全最高??? 李家慷 > 盧峻翔???
有趣
喔喔看錯了你已經降維了XD 那可能真的就是數據太少
的問題 可以再抓一些進階數據來建模型應該會更準
用效率值來算說不定最準?
效率值的問題可能會更偏好一些會在垃圾時間刷分的
人,而且會忽視掉很多防守貢獻,我覺得以on/off 值
來做球隊內的比較應該特徵性會高點
其實一開始我只使用傳統數據和on/off相關下去做 只是結果沒有特別漂亮 這方面我再看看有沒有其他進階數據一起抓進來用
很好的想法 原po加油
酷
台籃板難得的優文
推
好有趣的文,雖然目前還不太準……XD
用autoencoder降維看看 結果有沒有比較好
另外也可以用DBscan試試看分群 多用看看不同方法吧
原本的想法是先用最常見的試試看 之後會再試試看各種不同方法,感謝建議!
推推!
有趣給推
有人看到跟自己的印象分數不一樣就開酸= =就說是純
機器演算 有什麼毛病
沒事,其實我一開始也想說結果不好看所以猶豫要不要Po 但後來想說比起自己沒方向,不如丟上來看看大家想法~
有趣 期待之後的結果 推!
純粹機器演算本來就有可能不準 看這份結果有人質疑
也很正常
國王隊為啥沒有楊敬敏,是不是少了啥
德威德威 耀武揚威
有趣推推
覺得用心 推!
全世界頂級體育聯盟都在用數據分析了,還有人跟印象
分數不同就end或開酸
數字是不會錯的,所以為什麼會跟印象分數差很多就是
分析要做的事,是要修正模型還是數據量不夠等等等
什麼年代了,竟然還有人跟感覺不同就說數據沒用
推
推 有趣
推
推 數值是用per36嗎?
per36的問題是可能放大雜訊 所以目前主流的進階數據應該都比較少這麼做
推Game Changer 台籃進階數據專業網站
推數據 p的model比較複雜 牽扯到洋將使用限制
你沒說我還真沒注意到這一點xD 看來真的還有很長的路要走~
推,以後誰再酸家瑞只會假動作不敢投的,就拿這篇
打臉
推,敲碗control分差過大時的數據再跑一次的結果
這種苦差事可能真的很閒才能做xD
推一個
原PO是全部下去跑吧 也許可先做Feature Selection?
有想過,但一時想不到一個好的方法做篩選 但目前應該會朝這方面去做功課,看看怎麼做 感謝建議!
原來PCA也可以這樣玩xD
推用心分析 台籃真的回來了XD
會不會以後每一季都出一篇論文XD
有時間的話一定!
優文必推
推用心
結果看起來跟大家印象不一樣 勝率是使用logistic re
gression跑嗎
是用 Linear regression,我竟然忘了可以從迴歸下手 晚點會試試看,感謝建議!
推一個,這好酷
就算多跑幾次機器可能也會跟著你的數據客製化學習方
式,不過這算是無解的資料問題了,機器學習其實沒法
用太少的數據解決太複雜的問題
我相信這都會成為之後真正解決問題的養分!
推。不過多跑幾次不是大數法則,那是p-hacking,
一個當代的濫觴XD 個人比較不建議。
大數法則的確是開個玩笑xD 不過我這次是為了取加權平均(精確度太差) 應該不會有p-hacking的問題......嗎?
第一隊好弱
有趣
雖然看不太懂,但有其專業給推XD
DATA那麼少
推
推
記者投票是憑感覺 也不是看數據的
這種套用只是好玩 實用上沒什麼意義
爬資料這點稍微看了一下他的網頁,可以試試selenium
加上pandas應該可以省去很多麻煩
好!感謝!馬上來去學QQ
※ 編輯: chih2loveu (61.64.12.30 臺灣), 07/09/2022 00:15:30爆
[心情] 人生再重來一次,我不會生小孩是否同意記者抄文:NO 前幾篇看到這個要不要生小孩的文章又被拿出來回,有版友推文說會讓後悔生小孩的人更 不敢出來發言,那我就來拋磚引玉(?)一下:我就是那個人生再重來一次,不會生小孩 的人。 目前家有兩名不超過2歲的嫩嬰+老嬰爆
[求助] 男友不喜歡我的長相代po,以下第一人稱 一開始是我跟我男友告白問說要不要在一起的,他那時候說我的長相不算他的菜,但是可以跟我交往試試看,之後其實也交往的越來越順利,因為兩方的個性跟興趣都合的來,相處起來是非常開心的。 到了後來,我男朋友也都表現的很愛我,但是我一直覺得有哪裡不太對勁,直到前陣子跟他聊,他才坦承因為我長的不夠正,他沒有辦法很愛我,他覺得要跟很正的女生交往,才會顯得他也不是那麼差。 我當下非常受到衝擊,本來覺得自己沒有那麼糟,現在也不知道了,只知道一想到這件事就會非常難過。 他說他一直有個想法,在考慮是不是應該去找找看他想要的正妹女生,但是又覺得我個性真的太好太完美了,沒辦法放下我。爆
[討論] 真的是我的問題嗎?最近跟男友討論到結婚的問題 婚後勢必要跟公婆一起住 我最在意的點就是男友家的廁所 因為馬桶老舊 前一位上完廁所下一位使用者沒辦法使用爆
[閒聊] 目前為止P+與T1隊伍數據比較昨天看P+的比賽看到有人說雲豹打不贏領航員 基於好奇簡單用EXCEL做了一下兩聯盟各隊的數據 若是不管兩邊外援規則的話,勝負未必明瞭 小弟我兩個聯盟的比賽都有在看爆
Re: [外絮] LBJ與龜龜同時在場時的正負值為-87,於單純比正負值會有很多雜訊。以這個題目為例: 團隊NetRtg 上場時間min LBJ on & 龜 on: -1.55 1,225 LBJ on & 龜 off: -3.00 620 LBJ off & 龜 on: -5.15 1,07561
Re: [討論] Curry是穩穩的歷史第11人了吧原文恕刪 我知道這是老話題了 但每次看到老大被人說什麼守門員 進前十是因為湖人隊光環什麼的,真心不懂 我個人的榮譽榜看得不多86
[爆卦] 南韓疫苗效果數據分享了日本數據,馬上就有人說想看南韓的... 真的有點累了XD 資料來源 取自3.21的定期新聞稿73
Re: [閒聊] 目前為止P+與T1隊伍數據比較各位一直在吵洋將有差 我幫各位把洋將數據拿掉了 先講一下,我只有拿掉洋將的部分 P+依然有戴維斯、華裔、外籍生 而t1 依然有阿提諾跟亞外