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

2019. 5. 23. 06:56

'캐글'에 대해서는 익히 들어보았지만, 선뜻 도전할 생각은 하지 못했다. 직장인이라 바쁘기도 하고 이제는 뭔가 새로운 것을 시작하는 것이 귀찮기도 하다. 하지만, 우연한 계기로 캐글에 도전해 볼 기회가 생겼다.

오늘은 캐글 입문, 사용법 알아보기에 대해서 다뤄보도록 하겠다.


캐글



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

캐글 싸이트 주소는 아래 링크를 참조 바란다.
( 참조: https://www.kaggle.com/ )


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

커널만 지원하는 대회의 경우 Overview하단에 커널만 가능하다고 표시가 되어 있다. 커널말 지원하더라도 데이터를 다운 받아서 내PC에서 저장할 수 있다. 다만, 나중에 결과를 제출할 때는 커널에 전체 코드를 올리고 커밋을 해야 한다.


커널_지원

( 대회의 Description을 확인하면 커널만 지원하는 대회인지 알 수 있다 )


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

캐글메뉴


- Competitions: 현재 진행중인 또는 완료된 대회들을 볼 수 있다. 대회에 참가는 이 메뉴에서 한다.

- Dataset: 다른 공개된 데이터셋을 볼 수 있다

- Kernels: 온라인에서 데이터 분석을 할 수 있는 환경을 제공해 준다.

- Discussion: 분석 관련 의견을 공유할 수 있는 공간이다.

- Learn: 데이터 분석, 머신러닝 관련된 교육들을 들을 수 있다.


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



실제 대회 참가 방법은?

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

대회메뉴


- Overview: 분석 배경 및 결과 측정 지표 등 전체적인 소개

- Data: 대회에서 사용되는 데이터 설명, 보통 train과 test가 나뉘어져 있다

- Kerenels: 온라인 분석환경

- Discussion: 토의 공간

- Leaderboard: 참가자들의 등수를 확인할 수 있다

- Rules: 대회 규칙 설명

- Team: 팀을 구성할 수 있도록 도와주는 메뉴이다


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


커널_분석환경

( 커널 분석환경, 일반적인 분석툴 사용과 유사하다 )

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

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


커밋_결과_확인

( 커밋 결과 확인 )


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


알고리즘_결과_확인

( 알고리즘 결과 확인 )



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


오픈API를 사용하면 다양한 재미있는 일들을 해 볼 수 있다. 파이썬을 활용한 오픈API 사용이 궁금하다면 아래 글을 참조해보자.
(참조: 오픈API를 활용한 사례는 어떤 것들이 있을까?)


댓글()