✔ Summary
Task
- 한국 프로야구에 맞는 배럴 정의
- 프로야구 배럴을 통한 타자 OPS (= 장타율 + 출루율) 예측
Tools: Python
ML ALgoritms: LASSO Regression
Evaluation: MSE
📊 사용한 데이터
📈 제공 데이터
📉 수집데이터
- STATIZ 2018~ 2021.09.13 KBO 선수 기록
📝Issue
⚾ 배럴의 정의
- 장타일수록 발사각과 타구속도가 일정한 범위로 수렴하는 것을 확인
- 기존에 사용되던 배럴의 기준(타율 0.500 이상, 장타율 1.500이상)을 적용
- 140km 이상의 타구는 배럴 기준을 충족 시킬 수 있지만 140km ~ 145km와 같이 속도를 세분화했을때 배럴 기준에 부합하지 않았음
- | 146km~150km / 24°~30° | 151km~155km / 10°~44° | 156km 이상 / 1°~60° |로 배럴을 정의
- 타구속도가 빠를수록 발사각이 넓어지는 것을 확인했으며, 타구속도가 배럴에 가장 중요한 요소임을 확인할 수 있었음
🤔 Feature의 부족
- 2021시즌 타자 OPS, 출수율, 장타율을 예측을 위해선 구체적인 성적 데이터가 필요함
- STATIZ 사이트에서 2018~ 2021.09.13 까지의 KBO 선수 기록을 크롤링함
- 크롤링한 데이터 문자열 정제, 투수 기록 제거
- 동명 이인 및 소속팀 표기오류(이적한 시즌, 팀 표기 중복) 이슈 해결 후 기존 데이터의 선수코드 조인
- 정제한 크롤링 데이터와 타자별 타구속도및 발사각 조인 (선수코드 사용)
👨💻 시계열 Feauture 추가 및 모델링
- 타자의 미래 성적을 예측하는 것이기 때문에 시계열적인 요소가 필요
- 1년전 성적(STATIZ에 기록된 성적) 칼럼 추가
- 선수별 18시즌 이후부터 누적기록(평균) 칼럼 추가
- 최종 분석 데이터를 1년 전 시즌 성적, 2년 전 시즌 성적, 누적 성적으로 구성
- 신인의 경우 과거 데이터(결측치)를 모두 -1로 처리
🧐 개선방향
- 적어도 3년 전 과거 성적을 칼럼으로 추가(시계열 특성)하면 성능이 더 개선될 것으로 보임(1년전 성적, 2년전 성적, 3년전 성적, 누적 성적, 타겟 OPS)
- 성적의 극단에 있는 선수일수록 오차가 커지는 것을 발견함. 이를 해결하기 위해 직전년도 OPS에 따른 보정치를 예측치에 더해주면 더 좋은 정확도가 나올 것으로 사료됨(ex: 직전시즌 OPS 0.8 이상은 +0.125)
- 칼럼의 수가 많다보니 다중공선성이 존재하고 이를 해결하기 위해 LASSO Regression Model을 선택함, Feature Selection에 있어서 다른 시도를 적용해도 좋을 것으로 보임
😀 배운점
- 부족한 데이터 보충을 위해 크롤링을 하고 이를 전처리하는 과정에서 데이터 핸들링 스킬을 조금 더 익힐 수 있었음
- 시계열 속성을 추가하는 개념에 대해 구체화 시킬 수 있었다는 것이 가장 큰 성과
- 시간에 쫓겨 하다보니 섬세한 분석을 진행하지 못했음 (ex: 보정치), 이를 통해 분석에 있어서 시간관리에 대해 다시 한 번 돌아보고 점검하게 됨
EDA 및 모델링 코드
안녕하세요, 안동현 님!
(주)에이스프로젝트 채용 담당자입니다.
저희 에이스프로젝트는 야구 매니지먼트 게임 [컴투스 프로야구 for 매니저] 와 MLB 공식 라이선스를 적용한 [MLB 9이닝스 GM]를 제작한 스포츠게임 전문 개발사입니다.
안동현님의 블로그 프로필 및 야구 데이터 관련 게시물을 보고
저희가 찾고있는 포지션에 적합한 인재라고 생각되어 아래의 포지션 지원을 제안 드립니다.
공고 확인 : 야구 시뮬레이션 엔진 기획 (https://aceprojectrecruit.notion.site/d8a7040a93f840ed93360a566a8bad78)
다음은 저희 회사 소식들을 접할 수 있는 채널입니다.
https://aceprojectrecruit.notion.site/aceprojectrecruit/9797b3f853a84e6b931fc2af21c2c095)
https://blog.naver.com/aceproject
다음은 저희 회사와 관련된 뉴스 입니다.
http://game.mk.co.kr/view.php?year=2021&no=1076393
https://www.gamechosun.co.kr/webzine/article/view.php?no=182430
https://www.jobkorea.co.kr/super/aceproject
내용 확인해보시고 recruit@aceproject.co.kr 로 답변 회신 주시면, 추가적인 안내 사항들을 전달드리도록 하겠습니다. 채용 관련 궁금하신 내용은 위 메일 계정으로 언제든지 편히 연락 부탁 드립니다 :)
긍정적인 회신 기다리고 있겠습니다!
좋은 인연으로 뵙게 되었으면 좋겠습니다.
감사합니다.