DSlog

전체 글

뒤늦게쓰는 빅콘테스트 2019 퓨처스리그 참가 리뷰

2021, Apr 14    
뒤늦게쓰는 빅콘테스트 2019 퓨처스리그 참가 리뷰


빅콘테스트 2019 - 퓨처스리그 참가 기록

대회참여 이후의 기억과 기록 일부를 참고하여 뒤늦게 블로그에 올려보고자 합니다.

  • NA랑 NULL자
    • 리더 : 김
    • 팀원 : 박
    • 팀원 : 박동석(본인)

본인의 역할

  • 데이터 조사 일부 및 EDA
  • Python Scikit-learn 라이브러리 활용 항공지연 예측 모델 만들기
  • 보고서 작성
  • 격려

대회 주제

항공 운항 데이터를 활용한 항공편별 지연 여부 예측
2019년 9월의 항공편 지연 예측하기

대회 결과

  • 1차 서류심사 : 합격
  • 2차 발표심사 : 수상 X

활용

  • R
  • Python

프로젝트 일시

  • 2019.08 ~ 2019.09.07 - 데이터 조사 및 변수 탐색, 전처리 , 분석방향 설정, 탐색적 자료분석
  • 2019.09.09 ~2019.09.10 - 예측모델 만들기, 보고서 작성
  • 2019.09.10 - 보고서 제출
  • 2019.11.12 - 발표

프로젝트 내용 초간단 요약

  • 주어진 2017~2019 상반기 실제 국내 항공 운항 관련 데이터셋에서 필요하다고 생각되는 변수들을 포함시키고 추가하여 학습시킨다.
  • 데이터셋 특성상 정상/지연의 케이스 개수 차이가 심한 것을 고려해 오버샘플링으로 소수데이터(지연) 수를 늘린다.
    이 때 사용한 변수들이 많았다고 판단하기도 했고 해서 SMOTE 기법을 사용함.
  • 기계학습 모델의 성능평가 지표인 (f1-score)(재현도와 정밀도)를 기준으로 하여 모델을 선정한다.

그게 뭐더라

SMOTE

  • Synthetic Minority Oversampling Technique
  • 기존자료를 단순하게 복제하는 것이 아니라 기존자료들을 합성하여 새로운 케이스를 생성하는 기법이다.

f1-score

  • 재현도와 정밀도의 조화평균이다.
  • 불균형 데이터이기 때문에 정확도 보다는 f1-score 를 고려하게 되었었다.

정밀도(Precision)

  • 정밀도란 모델이 True라고 분류한 것 중에서 실제 True인 것의 비율이다.
  • 만약 어떤 게임에서 어뷰져를 분류하고 어뷰져일 경우 영구정지를 때린다고 하자. 어뷰져라고 분류했는데 어뷰져가 아니였다면? 즉 정밀도가 낮으면 치명적인 손실일 것이다.

재현도(Recall)

  • 재현도란 실제 값이 True 인데 모델이 True라고 분류한 비율이다.
  • 차라리 어뷰져인데 어뷰져로 분류를 못하는 편이 나을 것이다.

후기

  • 사실 서류 제출 직전 예측 모델을 만들지도 못하고 팀원들이 포기했었다. 끝까지 포기하지 않고 밤을 새 반나절만에 모델과 보고서를 만들어 제출하였었다.

  • 결과가 상당히 미숙하다고 생각했음에도 제출한 보고서가 통과되어 한국항공공사에서 발표할 기회를 얻을 수 있었다. 팀원들을 독려하여 팀이 모두 발표 심사에 참가하고 팀원이 발표를 할 수 있었다.

    • 부족한 내용에도 발표를 해 준 팀원에게 감사함을 느끼고 있고, 팀과 팀 플레이의 중요성을 느낄 수 있었던 좋은 경험을 만들어준 대회였다.
  • 예측결과가 어땠는지와 상관없이 결과에 ‘이것으로 무엇을 얻을 수 있고 무엇을 해결할 수 있고 무엇을 할 수 있나’ 라는 것이 없었다. 결국 분석의 목적이고 근본이라는 점을 망각했었다.

  • 모델은 만들어 나가는 과정은 다른 팀들과 비슷한 점이 있었다는 점은 긍정적이었으나 다른 실력있는 팀들의 디테일 , 시각화 , 인사이트적인 측면 고려 등에 대해 많은 것들을 보고 배울 수 있었다는 점이 더 긍정적이었다.

기록

https://github.com/pds0309/bc2019

참고

파이썬 라이브러리를 활용한 머신러닝 - (안드레아스 뮐러, 세라가이도)