본문 바로가기
AI월드/⚙️AI BOOTCAMP_Section 2

프로젝트)NBA 머신러닝 예측 모델_Day36~39

by khalidpark 2021. 2. 22.

ㅍ다시 돌아온 프로젝트 주간.

 

직접 선택한 데이터를 기반으로 가설을 세우고,

데이터 전처리 등을 통한 뒤 의미있는 머신러닝 예측 모델을 만드는 프로젝트이며

 

이번에도 중요한 핵심은

프로젝트 발표를 듣는 청자는 '비데이터, 비개발자 직군'

따라서 준비된 내용을 쉽게 잘 전달하는 것도 매우 중요하겠다.

 

또한 지난번 프로젝트에서 받았던 피드백들을 보완할 것이며,

시간 분배를 미리 하여 급하게 발표영상을 찍는 일이 없도록 하겠다.

 

 

자유롭게 데이터를 선택하고, 분석한 뒤 가설을 설정해야 하기 때문에

무엇보다도 해당 데이터에 대한 최소한의 관심과 흥미가 기본적으로 있어야 한다고 판단.

평소 스포츠에 관심이 많기 때문에, 지금 진행중인 미국농구 NBA 데이터를 활용하여 머신러닝 예측모델을 만들어 보고자 한다.

1. 상황설정

구체적인 상황을 설정해두면 스토리를 쉽게 풀어가기 수월.

예시1) 

회사명 : (주)스포츠토토코리아

상황 : 회사의 수익성 악화로 신사업 필요

아이디어 : AI 기반 경기결과 예측을 볼수있는 구독형 서비스 출시

사업모델 : '경기결과 예측'을 확인하고 '스포츠토토'에서 구매하는 가두리양식

 

예시2)

회사명 : NBA 사무국

상황 : 부문별한 마케팅 비용 증가로 사무국 운영 차질

아이디어 : '경기 결과 예측'을 통해 승리 예상팀 연고지역에 마케팅 비용 비중 확대 , 패배 예상팀 연고지역은 마케팅 비용 비중 축소

 

2). 데이터파악 EDA

games games_details players ranking teams
게임날짜
게임ID
게임상황
홈팀 ID
어웨이팀 ID
시즌
홈팀 ID
홈팀 득점
홈팀 필드골 비율
홈팀 3점 비율
홈팀 어시스트
홈팀 리바운드
어웨이팀 ID
어웨이팀 득점
어웨이팀 필드골 비율
어웨이팀 3점 비율
어웨이팀 어시스트
어웨이팀 리바운드
경기결과
게임ID
팀 ID
팀 약어
팀 연고지
선수 ID
선수 이름
스타팅포지션
코멘트(부상 등)
출전시간
필드골 성공
필드골 시도
필드골 비율
3점 성공
3점 시도
3점 비율
자유투 성공
자유투 시도
자유투 비율
공격리바운드
수비리바운드
총 리바운드
어시스트
스틸
블락 샷
턴오버
개인파울
총 득점
득점마진
선수이름
팀 ID
선수 ID
시즌
팀 ID
리그 ID (Only NBA)
시즌 ID
게임날짜
컨퍼런스 (서부,동부)
팀 이름
이번 시즌 게임 수
이번 시즌 승리 수
이번 시즌 패배 수
승리 비율
홈 경기 누적 결과
어웨이 경기 누적 결과
재경기
리그 ID
팀 ID
최초 NBA 합류
최대 NBA 합류
약어
닉네임
창설연도
도시
경기장 이름
경기장 최대 수용인원
구단주
매니저
코치
리그제휴

* 게임날짜 (2003~2020) : 시간을 독립변수로 사용할 것인가?

과거 데이터가 현재 데이터에 영향을 준다고 봐야 할것인가?

해당 팀의 연승분위기 , 상대전적 등을 고려해보았을때 시계열 데이터는 경기결과에 영향을 미칠 것으로 판단된다.

 

* 추가되었으면 하는 데이터 : 

- 배팅 사이트 : 매 경기 배팅사이트는 어떻게 배당했는지 . 그 결과를 반영

- 작년 플레이오프 진출 여부 , 작년 최종 순위 , 작년 우승 여부 등

- 각 선수들의 연봉 , 코치 연봉

2-1). 데이터파악 EDA (추가)

해당 데이터에서는 날짜와 , 홈어웨이팀 , "ML (Money Line)" 값만 가지고 오면 된다.

매해 경기에 대한 배당률과 쿼터당 득점 , 경기결과 등이 있는 데이터

(Open spread , Close spread  , 2H 배당 관련 내용은 사용하지 않는다)

해외 배팅 사이트의 머니라인 이해

머니라인은 100달러를 베팅의 기준으로 하는 프로토 배당률의 형식입니다.
+단위 / -단위 로 표현하는데, +200 의 경우 100달러를 걸었을 때 200달러를 추가적으로 받게 됨을 뜻함.
(즉, +200 은 '배당률 2.0' 뜻)

-200달러는 100달러를 받기 위해 200달러를 걸어야 한다는 것입니다.
(즉, -200은 '배당률 0.5' 뜻)

3. 데이터전처리

1) 5개로 나뉘어진 데이터를 하나로 합치는 과정 필요

2) 추가로 각 데이터별 배팅 정보 추가

(배팅데이터는 2007년부터 있으므로 , 총 데이터는 2007년 시즌부터 전처리하는걸로 하겠음)

3) 경기 결과에 영향을 줄 요소들을 먼저 구상하고, 데이터를 구상에 맞춰 수정

 

 

 

 

 

데이터출처 : www.kaggle.com/nathanlauga/nba-games

 

NBA games data

Dataset with all NBA games from 2004 season to dec 2020

www.kaggle.com

배팅사이트 과거 데이터 : www.sportsbookreviewsonline.com/scoresoddsarchives/nba/nbaoddsarchives.htm

 

Historical NBA Scores and Odds Archives

 

www.sportsbookreviewsonline.com

머니라인 이해 : youtu.be/S1SgRAYVBGQ

이미지 출처 : www.insidesport.co/nba-finals-lakers-wins-the-first-battle-heat-no-match-lakers/

728x90

댓글