캐글 입문 및 사용법 알아보기

2019. 5. 23. 06:56

노트북-하는-뒷모습
데이터-분석

우연한 계기로 캐글에 도전해 볼 기회가 생겼습니다. 들어는 봤지만 선뜻 도전할 생각은 하지 못했는데요. 실제 해보니 다양한 과제를 접할 수 있고, 진행을 하면서 배우게 되는 것도 많았습니다. 진행중인 대회를 확인하고 어떻게 참가할 수 있는지 등 캐글 입문을 위한 사용법 알아보았습니다.

 

 

1. 캐글이란

캐글은 예측모델 및 분석 대회를 하는 플랫폼입니다. 개인 및 단체에서 해결하고 싶은 과제와 데이터를 등록하면, 캐글에 가입한 데이터 과학자들이 모델을 개발하고 결과를 등록합니다. 예측력을 순위로 하여 가장 좋은 순위에게는 상금도 주워집니다. 캐글 사이트 주소는 https://www.kaggle.com/입니다.

 

2. 대회 확인

현재 진행중인 대회는 Competitions에 가면 확인할 수 있습니다. 개최 중인 대회도 있고, 이미 완료된 대회도 있습니다. 대회는 작업방식에 따라 2가지로 나눌 수 있습니다. 하나는 데이터를 다운로드하여서 내 PC에서 작업을 하는 방식이고, 다른 하나는 커널(Kernels)이라고 해서, 클라우드 서비스를 이용하는 것처럼 서버에 접속해서 작업을 하는 방식입니다.

 

커널만 지원하는 대회의 경우 Overview하단에 커널만 가능하다고 표시돼 있습니다. 커널만 지원해도 데이터를 다운로드해서 PC에 저장할 수 있습니다. 다만 나중에 결과를 제출할 때는 커널에 전체 코드를 올리고 커밋을 해야 합니다. 대회의 Description을 확인하면 커널만 지원하는 대회인지 알 수 있습니다.

 

커널-지원
대회-설명

 

홈페이지 상단 메뉴를 보면, 아래와 같이 구성돼 있습니다.

  • Competitions: 현재 진행중인 또는 완료된 대회들을 볼 수 있습니다. 대회에 참가는 이 메뉴에서 합니다.
  • Dataset: 다른 공개된 데이터셋을 볼 수 있습니다
  • Kernels: 온라인에서 데이터 분석을 할 수 있는 환경을 제공해 줍니다
  • Discussion: 분석 관련 의견을 공유할 수 있는 공간입니다
  • Learn: 데이터 분석, 머신러닝 관련된 교육들을 들을 수 있습니다

 

 

대회는 마감기한이 있으므로 Timeline을 잘 살펴봐야 합니다. 신청 마감도 최종 결과 제출 마감이 있습니다.

 

3. 대회 참가 방법

Competitions에서 대회를 신청하면, 아래와 같이 대회 메뉴를 볼 수 있습니다.

대회메뉴
대회-메뉴

  • Overview: 분석 배경 및 결과 측정 지표 등 전체적인 소개
  • Data: 대회에서 사용되는 데이터 설명, 보통 train과 test가 나뉘어 있습니다
  • Kernels: 온라인 분석환경
  • Discussion: 토의 공간
  • Leaderboard: 참가자들의 등수를 확인할 수 있습니다
  • Rules: 대회 규칙 설명
  • Team: 팀을 구성할 수 있도록 도와주는 메뉴입니다

 

 

4. 분석 환경

커널을 이용하기 위해서 Kenels 메뉴로 들어가, Your Work를 선택합니다. Create New Kernel을 클릭하면 작업할 새로운 커널을 만들 수 있습니다. Script와 Notebook 2가지 형태의 타입을 선택할 수 있습니다. 자신이 편리한 것을 선택합니다. Script 타입은 일반적인 파이썬 IDE를 사용하는 것과 유사합니다. 코드를 입력하고 shift + enter를 입력하면 하단에 코드가 실행됩니다.

 

커널_분석환경
커널-분석환경

 

이제 코드를 작성합니다. 최종 작업물로 예측 결과를 제출양식에 맞춰 만들어야 합니다. 최종 결과 파일을 만들기 전에 결과 샘플 파일을 참조하여, 제출해야 할 파일 이름과 칼럼명을 확인하세요.

 

코드가 완성되었다면 상단의 Commit버튼을 누릅니다. 그러면 코드가 전체를 실행합니다. 코드가 실행 완료되면 코드 실행 결과를 확인할 수 있습니다. Output탭에 가서 'Submit to Competition'을 클릭하면, 결과가 업로드되고 점수를 확인할 수 있습니다.

 

테스트 목적으로 랜덤으로 예측을 해서 결과를 올려보았습니다. 이 과제의 측정지표는 정확도인데, 랜덤으로 했더니 정확하게 50%가 나왔습니다.

 

알고리즘_결과_확인
알고리즘-결과-확인

 

캐글 입문 및 사용법을 알아보았습니다. 데이터 분석과 머신러닝 알고리즘에 대해 공부하는 것과 실제로 해 보는 것은 다릅니다. 책에서 보고 예제를 실행하는 것과 실제 문제에서 해결 방안을 고민하고 적용해봐야 합니다. 하지만 실제 생활에서 이런 데이터와 상황을 만나는 것은 쉽지 않습니다. 캐글은 데이터와 분석 환경을 제공해주고, 다른 우수사례들을 참조할 수 있으므로 실력 향상에 굉장히 도움이 됩니다.