/2020-bigcon

2020 빅콘 KBO 리그 결과 예측 관련 레포입니다.

아래 문서는 마크다운으로 작성되었습니다. https://bit.ly/36eg1MG 이 url을 통해 github에서 읽으시는 것을 추천드립니다.

각 폴더 및 코드 설명

Preprocess

  • Data_Preprocess.ipynb: 데이터 전처리, 최종 데이터 생성 과정을 모두 포함하는 코드입니다.

Model

채택 모델

  • 채택한 모델인 XGBoost 실행 코드입니다. 해당 모델을 사용해 예측값을 얻었습니다. 해당 파일을 실행하시면 됩니다.
  • model_xgboost.ipynb

채택하지 않은 모델

  • 아래 코드들은 모델 선정 과정에서만 쓰인 코드로, 예측에는 사용하지 않았습니다. 현재 데이터 규격과도 다를 수 있어 따로 실행하실 필요는 없습니다. 모델 구현 방법 참고용으로 함께 업로드합니다.
  • model_random_forest.ipynb
  • model_lstm.ipynb
  • model_ann.ipynb

EDA

  • EDA 과정을 정리한 코드입니다. 따로 실행하실 필요는 없습니다.
  • eda.ipynb

Data

  • 데이터 파일을 모아둔 폴더입니다.

/Original_Data

  • 빅콘에서 제공받은 원본 데이터입니다. 2020년의 경우 7월 19일까지의 데이터가 있습니다.

/Additional_Data

  • 2020년 7월 19일부터 9월 26일까지의 KBO 경기 데이터를 추가로 수집했습니다.
    • 2020빅콘테스트_투수_추가데이터.csv
    • 2020빅콘테스트_타자_추가데이터.csv
  • 잔여 경기 정보를 정리했습니다.
    • 2020_잔여경기.csv

/Final_Data

  • 최종적으로 모델링에 사용하는 코드입니다.
  • 4-fold validation으로 진행하기 때문에 train set, validation set이 각각 4개씩 있습니다. 그리고 test set은 잔여 경기에 대해 X로 줄 features로, 1개입니다.
  • 승률, 타율, 방어율 각각 사용하는 features가 다릅니다.
  • 폴더는 /PCT (승률), /AVG (타율), /ERA (방어율)로 나뉘어 있습니다.

모델링 재현 순서

  1. Preprocess/Data_Preprocess.ipynb
  • 제공받은 데이터에 추가로 수집한 데이터를 합치고, 해당 데이터에서 선정한 feature values를 도출하는 전 과정이 담긴 코드입니다. 해당 코드를 실행하시면 최종 데이터를 얻을 수 있습니다.
  1. Model/model_xgboost.ipynb
  • 최종적으로 XGBoost를 사용했습니다. 해당 코드를 실행하시면, 모델 학습과 잔여 경기 결과 예측 과정을 보실 수 있습니다. 재구현을 위해 random_state는 17로 고정해두었습니다.