Xp
NBA Maniazine
/ / /
Xpert

(번역) 비지도학습을 통해 농구의 포지션을 새로 정의하기

 
9
  1220
Updated at 2019-02-16 11:13:18

선수들의 스탯 데이터를 군집화 하여 포지션을 새로 정의해보려는 시도를 다룬 글입니다.

새로 정의된 포지션은 전통적인 포지션과 비교하여 어떤 차이가 있는지도 비교도 하고 있고요.

 

참고로 군집화는 머신러닝의 분류 중에서 비지도학습에 속하는 방법입니다.

사람이 정답을 직접 주는 지도학습과 달리, 비지도 학습은 데이터의 경향을 스스로 학습합니다.

이를 통해서 때때로 기존에 몰랐던 인사이트를 데이터에서 찾아내기도 합니다.

 

그런데 사실 많은 경우 대단한 인사이트보다는 우리가 익히 아는 결과를 보여주는 경우가 많고, 이 글도 마찬가지입니다.

그래도 우리의 직관이 그저 느낌이 아니라 실제로 그렇다는 것, 그리고 데이터 기반으로 그 경향이 어느 정도인지를 보여주는 정도의 의미는 있겠지요.

 

다소 농구와 동떨어진 내용까지 담은 글이어서 농구글을 보러 오신 분들께 보여드리기가 다소 조심스럽습니다만.

그래도 혹시 이런 주제에 관심이 있으신 분도 있을까 해서 올려봅니다. 

 

 

========== 시작 =========== 

 

(번역자 주 : 글이 쓰여진 시점은 벌써 2년 전인 골스의 2017 년 우승 시즌 종료 후입니다.)

 

 

NBA 파이널이 끝났어. 축하 샴페인 병도 이제 비웠고,  우승 분위기도 가라앉았지. 골든 스테이트 워리어스는 다른 세계에서 온 듯한 도미넌트함을 충분히 뽐냈고, 이제는 농구에 대한 나의 머신러닝 프로젝트를 정리해야 할 때인 것 같아.

 

via GIPHY

 

 

워리어스는 농구라는 경기에서의 새로운 트렌드의 1등 본보기야. 그 트렌드는 개인 역량의 탁월함보다 패스와 움직임을 우선시하는 거지. 포인트가드나 센터 같은 전통적인 포지션은 워리어스의 플레이에는 더이상 적용이 되지 않아. 스테판 커리가 정말 포인트 가드라고 봐야 할까? 드레이먼드 그린이 팀의 어시스트 리더가 되고 공격에서 중심점이 되는데도 말이야. 이번 파이널의 패배팀인 캐벌리어스에서 보아도, 카이리 어빙을 포인트 가드라고 부를 수 있겠어? 르브론 제임스가 거의 전 포제션에서 볼을 리딩하는데 말이야. 

 

GIF 최적화 ON 
12K    8K

전통적인 포지션의 코트 위에서의 위치를 보여주는 다이어그램 

 

나는 비지도학습 머신러닝으로 다섯가지 완전히 새로운 포지션을 산정해봤어. 임의로 만든 타이틀이 아니라 선수가 코트에서 만들어내는 스탯에 의해서 만들어진 타이틀이야.

 

 

데이터

 

이 프로젝트에서 데이터는 basektball-reference.com 에서 긁어 왔고, 2016-207 정규시즌 분량이야. 선수들을 새로운 포지션으로 분류하기 위해서, 데이터를 두 개의 스텝을 거쳐서 정규화했어.

 

첫번째, 모든 스탯들에 최소-최대 스케일을 적용해서 0 과 1 사이의 값으로 만들었어. 예를 덜어 득점과 스틸 같은 카테고리는 완전히 다른 스케일을 가지니까, 전부 정규화해서 동등한 가중치를 유지하는 게 포지션을 할당할 때 중요해.

 

한 선수를 (스테판 커리)  대상으로 데이터 정규화를 스텝별로 보여주는 다이어그램

 

두번째, 각 선수의 전체 스탯에서 각 스탯이 차지하는 비중을 계산했어. 그래서 나온 숫자는 각각의 스탯을 그 선수의 모든 스탯의 합계로 나눈 값이야. 이 방법으로 한 선수가 기여하는 타입이 표현되고, 전체적으로 기여하는 정도도 정규화되지. 예를 들어 설명하면, 어떤 선수가 게임 평균 10 리바운드 6득점을 기록하고 다른 기록은 없다면, 평균 5 리바운드 3 득점 한는 또 다른 선수와 같은 데이터가 되도록 스케일링 하는 거야.

 

 

군집화

 

선수들을 새로운 포지션으로 그룹화하는 방법으로는 K-Means 군집화를 사용했어. 이 방법은 데이터를 k 개의 클러스터로 그룹화하는 방법인데, 각 엔트리는 (여기서는 각 선수들) 가장 가까운 중심점으로 할당돼. 과정은 처음에 다섯 개의 무작위한 중심점에서 출발하고, 그 다음에는 각 점들을 가까운 중심점으로 할당하고 할당된 점들을 평균해서 새로운 중심점을 만드는 과정, 이 과정을 점들의 군집화가 더 이상 변화가 없는 시점까지 반복해. 아래 그림은 2차원에서 이 과정이 어떻게 진행되는지를 보여주는 예야. 실제 선수들을 그룹화하는 과정에서 차원의 수는 훨씬 높아. 선수들의 각 스탯들이 하나의 차원이 되거든.

GIF 최적화 ON 
112K    34K

K-Means 군집화의 과정을 보여주는 애니메이션

 

 

 

군집화를 위한 스탯 선택 

 

basketball-reference 에서 제공하는 NBA 데이터는 아래와 같아.

 

- 득점

- 어시스트

- 턴오버

- 총 리바운드

- 공격 리바운드

- 수비 리바운드

- 2점

- 3점

- 2점 시도수

- 3점 시도수

- 기타

 

 


 

많은 스탯들은 서로 강한 상관관계를 가지고, 때로는 아예 같은 의미를 가지고 있어. 어떤 스탯을 선택할까를 정할 때, 어떤 스탯들이 서로 독립적인가를 고려하게 했지. 예를 들어 수비, 공격, 그리고 총 리바운드 갯수는 결정이 단순해. 총 리바운드는 공격, 수비 리바운드와 같은 의미를 가지거든. 하지만 같은 의미가 아닌데도 높은 상관관계를 가지는 스탯에 대해서는 이 결정이 어렵지. 예를 들어 어시스트와 턴오버는 상관관계가 높아. 볼을 좀더 많이 가지는 선수가 어시스트를 많이 하지만 턴오버도 많이 하지. 하지만 어시스트와 턴오버는 완전히 다른 스탯이야. 나는 상관관계 문턱값을 .80 으로 잡고, 두 스탯의 상관관계가 이 값을 넘으면 한 값을 버렸어. 턴오버와 어시스트 중에 나는 어시스트만 택했지.

 

 서로 다른 선수 스탯 사이의 상관관계를 보여주는 히트맵, 붉은 색이 어두울 수록 높은 상관관계를 의미한다.

 

 

선수 군집화를 위해서 사용한 스탯은 결국 아래와 같아.

- 어시스트

- 블럭

- 수비 리바운드

- 공격 리바운드

- 2점

- 3점

- 자유투

- 개인 파울

- 스틸

 

 

 결과 

 

각 포지션들이 잘 분류되었는지를 평가하기 위해서는 "실루엣 스코어" 이라는 지표를 사용할 수 있어. 이 스코어는 -1 과 1 사이의 값을 가지는데, 각 군집들이 서로 얼마나 겹치는지를 나타내. 이 새로운 포지션 할당에서 나온 실루엔 스코어는 0.857 인데, 이 정도면 각 포지션들이 잘 분류되었다는 걸 의미해. 나중에는 이 군집들이 어떻게 서로 겹치는지 선수별로 살펴볼거야.

 

전통적인 포지션과 비교해서, 새로운 포지션이 어떻게 정의되었는지를 볼 거야. 아래 그래프는 새로운 포지션에 기존의 포지션 선수들이 얼마나 속하는지를 보여줘.

 


어떤 면에서는 새로운 포지션이 기존의 포지션과 비슷해. 하지만 확실히 믹스된 부분도 있지. 예를 들면 포지션 1번은 대부분 포인트가드야. 하지만 그 밖의새로운 포지션들은 기존의 둘 또는 세 포지션들이 섞여 있지. 두 개만 예를 들면, 포지션 0번은 슛팅가드와 스몰포워드의 믹스야. 포지션 3번은 대부분 센터와 파워포워드 같은 빅맨들이고.

 

 

새로운 포지션들은 어떤 스탯들로 구성되어 있는가?


각각의 새로운 포지션들이 스탯에서 어떤 순위를 차지하는지를 보여주는 그래프,  y-축에서 5는 최고 랭크, 1은 최하 랭크를 의미

 

이제는 새로운 포지션들이 각 스탯에서 어떤 순위를 차지하는지 살펴볼 거야. 이 방법으로 어떤 타입의 선수들이 각 그룹에 속하게 될지 아이디어를 얻을 수 있지. 이 순위들을 살펴서 새로운 포지션들이 가리키는 용어를 만들어 볼거야.

 

 

포지션 0 : 3점 스페셜리스트


J.R. 스미스, 클리블랜드 캐벌리어스의 3점 스페셜리스트

 

3점 스탯이 2위에 위치하는 것 말고는, 이 선수들은 팀에 기여한는 바가 별로 없어. 아홉개의 스탯 중 여섯 개의 스탯에서  꼴찌야.  이런 선수들이 현대 NBA 에서 인기가 많아진 선수들이지. 드라이브인 하는 선수의 패스를 받아서 기회가 있을 때맏 오픈 3점을 던지지.

 

 주요 선수들

- J. R. 스미스

- 에릭 고든

- 카일 코버

- 트레버 아리자

 

 

포지션 1 : 조력자 

 

르브론 제임스는 캡스 공격의 조력자이다.

 

어시스트에서 1위를 기록하는 이 선수들은 팀 공격의 엔진이야. 이 선수들은 더이상 그저 전통적인 포인트가드가 아니지. 물론 많은 선수들이 포인트가드에 속하기는 하지만. 공격을 돕기 위해 백코트에 위치해 있으므로, 스틸에서도 1위를 차지하는 건 자연스러워. 이 포지션의 주요 선수들이 득점 머신이긴 하지만, 반드시 득점을 많이 하는 선수들만 있는 건 아니야.

 

주요 선수

- 르브론 제임스

- 스테판 커리

- 드레이먼드 그린

- 제임스 하든

- 크리스 폴

 - 라존 론도

 

 

포지션 2 : 전문 득점원

 

케빈 듀란트, 골든 스테이트 워리어스의 괴물 전문 득점원

 

이 포지션에는 NBA 의 많은 빅네임들이 속해 있어. 믿을 수 없는 기술로 모든 이들의 주목을 끄는 스코어러들 말이야. 이 선수들은 2점과 3점, 그리고 자유투에서 최상위 랭크야. 전통적인 의미에서 이 포지션은 대부분 슛팅 가드이지. 하지만 여기서 탑 스코어러들은 전통 포지션 분류에 골고루 분포해 있어. 한편 어시스트에서도 2위를 기록하면서 공격의 조력자 같은 역할도 제법 맡고 있지.

 

주요 선수

- 케빈 듀란트

- 러셀 웨스트브룩 

- 아이재이아 토마스

- 폴 조지

- 지미 버틀러

- 카이리 어빙

 

 

포지션 3 : 정적 빅맨

 

유타 재즈의 루디 고베어는 블럭과 리바운드에서 지배적인 위치에 있다.

 

이 포지션에 센터만 포함되는 것은 아니지만, 아직 NBA 에 남아 있는 대부분의 올드스쿨 빅맨은 여기에 속해. 3점에서는 꼴찌에 랭크해 있지만, 보드를 박살내면서 공격과 수비 리바운드 1위에 랭크해 있지. 득점도 조금 하지만, 대부분 림 근처에서 플레이하고, 2점슛 2위에 랭크해 있어. 또한 개인 파울에 1위이고, 리바운드 스페셜리스트에게서 익히 보던 경향이지. 왜냐하면 림 근처를 배회하면서 파울을 자주 받기 때문이지.

 

주요 선수

- 앤서니 데이비스

- 루디 고베어

- 디안드레 조던

- 칼 앤서니 타운스

- 하산 화이트사이드

- 니콜라 요키치

 

 

포지션 4 : 활동적 빅맨

 

덕 노비치키는 전형적인 활동적 빅맨이다.

 

이 포지션에는 최근 NBA 에서 핫한 스트레치 포/활동적 빅맨이 속해 있어. 리바운드, 파울, 그리고 2점에서는 전통적인 빅맨보다 떨어지지만, 3점을 보다 많이 던져서 밸런스를 맞추지. 수비 기여도는 전통적인 빅맨보다는 제한적이어서, 스틸에서는 꼴지야.

 

주요 선수

- 케빈 러브

- 덕 노비츠키

- 켈리 올리닉

- 다리오 샤리치

 

 

포지션들을 살펴보기

 

이제는 각 포지션이 여러 스탯들에서 어떻게 분포하는지 한 번 살펴보자. 

 

그림 1. 각 선수들의 득점, 리바운드와 어시스트을 그린 차트, 각 선수들은 각자의 포지션별 색으로 표시함, 마우스를 갖다대면 선수의 이름과 스탯을 볼 수 있음  (402 에러로 차트가 보이지 않으면 원본 링크에서 확인해주세요. 

https://towardsdatascience.com/redefining-basketball-positions-with-unsupervised-learning-34988d03057)

 

그림 1 은 전문 득점원들이 (녹색) 득점에서 얼마나 앞서는지, 그리고 정적 빅맨들이 (주황색) 리바운드에서 얼마나 앞서는지를 보여줘. 조력자들은 (파란색) 어시스트에서 앞서고, 득점에서는 다른 대부분의 선수들보다 앞서지.

 

 

그림 2. 각 선수들의 2점, 3점과 전체 득점, 각 선수들은 각자의 포지션별 색으로 표시함, 마우스를 갖다대면 선수의 이름과 스탯을 볼 수 있음  (402 에러로 차트가 보이지 않으면 원본 링크에서 확인해주세요. 

https://towardsdatascience.com/redefining-basketball-positions-with-unsupervised-learning-34988d03057)

 

그림 2 는 정적 빅맨과 전문 득점원, 그리고 3점 스페셜리스트 사이의 구분을 굉장히 잘 보여줘. 3점 스페셜리스트느 굉장히 높은 비율로 3점을 던지지. 반면에 전문 득점원은 2점과 3점 사이의 비율이 좀더 균형이 잡혀 있어. 그리고 빅맨들은 거의 3점을 던지지 않지.

 

우리는 이 차트들에서 상대적으로 명확한 구분을 볼 수 있어. 포지션 사이의 겹치는 부분도 별로 없이 말이야. 이건 높은 실루엣 스코어에서 우리가 예견할 수 있었던 사실이지.

 

 

결론 

 

선수들의 실제 스탯들을 조사해서, 선수의 롤을 좀더 정확하게 반영하는 포지션들을 정의해봤어. 르브론 제임스나 케빈 듀란트를 우리는 더이상 스몰포워드라고 부르지 않아. 그 둘은 팀에서 너무 명백하게 다른 역할을 가지고 있으니까 말이야. 르브론 제임스는 캐벌리어스의 조력자이고, 케빈 듀란트는 워리어스의 전문 득점원인거지.

 

이 게시물은 아스카님에 의해 2019-03-04 08:36:18'NBA-Talk' 게시판으로 부터 이동되었습니다.
6
Comments
2019-02-16 02:38:07

빅맨이 저희가 생각하는 것처럼 정통빅맨, 스트레치빅맨으로 나뉜 것이 매우 흥미롭네요!!
저도 입문한 지는 얼마 안 됐지만 올해 내에 농구 관련 머신러닝 프로젝트를 하나 하고 싶어지네요!!!!!
아마 2차 스탯들로 진행해보면 또 재미있는 결과가 나올 거 같습니다~!!

WR
1
2019-02-16 02:52:10

같은 관심 가지고 계신 분을 만나서 반갑습니다. 


1차 스탯은 경기의 많은 정보를 잃어버리기 때문에 굉장히 불만족스러운 데이터인 것이 사실이지요.. 

개인적으로는 최근 한참 대중화 되고 있는 트래킹 데이터를 사용할 수 있으면 좋을 것 같습니다.

그렇게 해서 결과 분석을 넘어서 경기를 재현하는 정도까지 간다면 많은 인사이트를 얻을 수 있을 거라는, 아직은 다소 막연한 생각을 가지고 있습니다.

2019-02-16 03:56:48

제가 하고 있는 프로젝트 중 하나가 운전자들의 운전 데이터(페달 조작, 스티어링 등)를 취득해서 그 사람의 성향을 비지도학습 기반으로 클러스터링하는 연구인데요, 똑같은 방법으로 NBA 선수들을 분석한 것을 보니 매우 흥미롭습니다.

저희 연구랑 접목시켜서 생각해보면 테크니컬 파울 종류 등에 따라서 선수의 Agressive 성향을 살펴보는 것도 재미있는 분석이 되지 않을까 싶네요!

WR
2019-02-16 11:15:43

재미있는 분석 주제라고 생각합니다. 

2019-02-16 04:22:26

박사님들 쿰보 막는법, 듀란트 막는법 이런거는 연구안하나요?

WR
2019-02-16 11:22:25

박사 아니라 박사 할아버지가 와도 쿰보랑 듀란트를 막을 수 있을지 모르겠습니다. 

농담이고, 팀들이 갈수록 전술에 데이터를 활용한다고 하니, 이미 많은 분석가들이 머리 싸매고 있을 것 같습니다. 

hou
52
8653
24-03-23
bos
122
27755
24-03-18
atlgsw
86
20143
24-03-18
bosden
57
7088
24-03-16
den
122
24258
24-03-14
lal
44
8556
24-02-24
den
92
18739
24-02-20
dal
80
16247
24-02-17
dal
79
8875
24-02-06
bos
54
6245
24-02-15
dal
72
11541
24-02-14
cha
69
21212
24-02-14
orl
36
6246
24-02-09
phi
42
6875
24-02-10
indphi
60
6387
24-02-08
atlbkn
45
10625
24-02-08
sas
50
16923
24-02-05
phi
46
11125
24-02-04
cle
40
12455
24-02-04
검색 대상
띄어쓰기 시 조건









SERVER HEALTH CHECK: OK