[Kaggle] 시작하기

Carvin·2021년 7월 3일
1
post-thumbnail

포스팅 개요

사실 Kaggle 이라는 데이터 분석 사이트를 접하게 된지는 조금 되었습니다. 2018년도에 전공 수업에서 프로젝트에 사용할 수 있는 데이터 셋을 구할 수 있는 사이트 중 하나로 Kaggle을 소개받게 되었습니다. 그 때, 처음 접했던 kaggle 대회가 가장 유명했던 Titanic과 House Prices 였습니다.

그렇게 데이터에 관심을 가지게 되면서 데이터 분석을 직접 경험해 볼 수 있는 몇 개의 kaggle 대회도 참여하게 되었고 공모전도 참여했던 적이 있습니다. 그 이후로는 딥러닝과 추천시스템에 관심을 가지게 되면서 공부를 하기도 했습니다. 이렇게 kaggle 에 대한 포스팅을 하게 된 이유는 2가지로 얘기할 수 있을 것 같습니다. 첫째는 데이터 분석의 전반적인 프로세스를 최근에 좀 많이 다루지 못하고 있음을 느꼈습니다. 둘째는 몇 개의 kaggle 대회에 참여해본 적은 있지만, 만족스러울만한 혹은 완성도 높은 노트북을 스스로 만들어보지 못했습니다. 그래서 kaggle이나 데이콘 등의 대회에 참여해보면서 데이터 분석의 전체 프로세스를 다뤄볼 수 있는 경험과 완성도 높은 노트북을 작성하기 위해 공부를 해보려고 합니다.

이번 Kaggle 공부를 다시 하게 되면서 특히 부족했던 부분을 조금 더 보완할 생각입니다. 먼저 모델링쪽에 아직 굉장히 부족한 부분이 많다고 생각하고 있기 때문에 다른 대단한 분들의 노트북을 참고하고 공부하여 모델링 부분의 능력을 키우는 것을 목표로 할 생각입니다. 또, Jupyter notebook이나 jupyter lab과 같은 IDE는 cell 단위로 코드가 실행되기 때문에 예전에는 cell 단위의 코드를 너무 독립적이게만 생각했던 것 같습니다. 그래서 이번에는 데이터 분석 프로세스라는 거시적인 틀 안에 존재하는 데이터 로드 부분, EDA 부분, 전처리 부분, 모델링 부분 등의 파이프라이닝을 약간 고려하면서 노트북을 작성할 예정입니다.

참고로 Kaggle을 처음 시작하시는 분들은 다음 블로그를 참고하는 것을 굉장히 추천합니다.

데이터 분석 프로세스

아마 이번 Kaggle 대회를 참여하게 된다면, 보통 로그 데이터나 수치 데이터와 같은 tabular 데이터를 주제로 한 대회들을 먼저 참가할 것 같습니다. 사실 이미지나 텍스트, 오디오를 다루는 주제는 이런 tabular 데이터 분석 프로세스와는 조금 상이할 것으로 생각되기 때문입니다. 그래서 먼저 저한테 가장 익숙한 tabular 데이터를 주제로 한 대회를 참가할 예정이고 이러한 데이터를 분석하는 프로세스는 다음과 같다고 할 수 있습니다.

출처 : 국민대학교, 빅데이터엔지니어링, 문현실

해당 내용을 kaggle 노트북과 대조하여 비교해보게 되면

  • 문제 정의Competition Description을 통해 대회를 이해하는 부분
  • 데이터 분석과 가설 수립EDA와 전처리
  • 실험/검증모델링
  • 최적화/전개모델 튜닝 및 앙상블

정도로 볼 수 있을 것 같습니다. 그렇기 때문에 크게 대회 이해, EDA, 전처리, 모델링 이라는 4가지 부분을 기본적으로 하여 데이터 분석 프로세스를 구성하려고 합니다. 당연히 대회 특징과 데이터 특징에 따라 데이터 분석 프로세스가 달라질 수는 있지만 기본적으로 앞서 언급한 4가지 부분은 가장 기본적이기 때문에 항상 포함하는 형태로 노트북을 작성하지 않을까 싶습니다.

0개의 댓글