! 주의 : 문돌이가 만든 모델로 loss 계산도 제대로 안 하고 over fitting 존나게 시킨 모델이니까 재미로만 볼 것 !
원래는 실적이랑 올타임 랭킹만 가지고 우승, 시엠, 파엠 등과 올타임 순위 간의 상관관계를 뽑아보려고 했는데 하다보니까 산으로 갔다.
1. 사용한 데이터
생각보다 올타임 랭킹을 뽑은 곳이 별로 없더라
ESPN, Clutch Points, Bleacher Report에서 작년 파이널 이후 발표한 올타임 순위를 참조해 세 매체에서 모두 언급된 41명의 선수를 대상으로 했다.
예를 들어 제임스 하든의 경우 ESPN에서 32위로 선정되었으나 클러치 포인트였나 하여튼 어디 없어서 목록에서 제외됨
각 선수의 매체별 순위와 수상실적, 경기수, 출전시간, 누적 득점,리바운드, 어시스트,스틸, 블락, 턴오버를 비롯한 1차 스탯을 데이터로
수상실적과 1차 스탯을 입력하면 예상 순위(정확하게는 세 매체의 평균 순위의 예측값)을 반환하도록 했다.
2. 데이터의 문제점
올타임 순위에 틀딱들이 꽤 있다보니 그 시절에 집계를 안 한 데이터의 경우 결측값으로 남아있게 된다.
이용한 자료의 경우 스틸, 블락, 턴오버가 집계되지 않은 틀딱들이 10명 있어서
해당 결측치는 전체 목록의 평균치로 대체하였다
대충 올타임 40위권까지의 수상실적과 스탯의 중간값은 이 정도 나오는 것 같다
3. 사용한 모델
사이킷런의 다중다항회귀를 이용했으며 차수는 2차로 설정했다.
대충 171개의 변수를 이용해서 순위를 예측하게 되었다.
이제 이 자료를 모델에 때려박아서 '이런 수상실적이랑 1차스탯을 가진 놈의 올타임 순위는 n위다'라고 세뇌 교육을 시켜준다.
참고로 예측에 이용된 선수들의 평균 순위는 이렇다.
4. 실제 예측
이제 모델을 돌려보자.
prediction이라는 함수를 만들어서 임의의 선수에 대한 수상실적과 1차 스탯을 입력하면 올타임 순위를 뽑아주도록 했다.
먼저 조틀딱의 수상 실적과 스탯을 그대로 넣으면
세뇌교육을 열심히 시킨 덕분인지 1위라고 뱉어준다 (사실 이러면 안 좋은 모델이다)
리스트에 포함되지 못한 하메스 하르덴의 기록을 넣어주면
약 25~26위로 예측해준다.
농갤러들이 예상하는 올타임 순위와 얼마나 차이가 있는지 비교해보면 되겠다.
어떻게 맺을 말이 없네
다음에는 2차 스탯 혹은 전성기 n년의 임팩트를 포함한 양질의 자료와 향상된 모델로 예측해보도록 하자.