[캐글 안내서] ❶ 왜 캐글을 해야 할까?

[Must Have] 머신러닝·딥러닝 문제해결 전략
골든래빗 출판사
신백균 지음


학습 목표
캐글이란 무엇이고, 인공지능과 데이터 과학의 위상이 날로 높아지고 있는 오늘날 캐글이 왜 중요한지 알아봅니다. 훌륭한 머신러닝 엔지니어로 성장하는 지름길인 캐글과 친해져보세요.
학습 순서
캐글 소개
캐글은 데이터 과학 및 머신러닝 경진대회를 주최하는 온라인 커뮤니티입니다. 전 세계 데이터 과학자를 위한 놀이터라고 생각하면 됩니다. 캐글에는 방대한 데이터, 유능한 데이터 과학자, 훌륭한 코드, 좋은 문화가 있어 데이터 과학 역량을 쌓는 데 최적의 플랫폼입니다.
캐글은 2010년 설립되어 2017년 구글에 인수되었습니다. 구글이 인수할 만큼 영향력 있는 플랫폼입니다. 가입자 수는 2017년 6월에 100만 명이었는데, 바로 다음 해인 2018년 8월에 200만 명으로 2배가 되었습니다. 2022년 3월에는 900만 명을 넘어서는 등 지금도 빠르게 커가고 있습니다.
장점
웹 기반 플랫폼이기 때문에 인터넷만 연결되면 전 세계 누구나 참여할 수 있습니다. 개발 환경 구축에 신경 쓸 필요가 없다는 뜻입니다.
개인이나 작은 기업에서 쉽게 접할 수 없는 다양한 데이터로 데이터 과학과 머신러닝을 연습해볼 수 있고, 같은 목표로 대회에 참여한 전 세계 데이터 과학자들과 교류할 수 있습니다.
활용 사례
기업이나 단체는 자체적으로는 어려웠던 머신러닝 모델 개발 문제를 해결하고, 우수한 직원을 채용하기 위해 대회 성과를 활용하는 경향이 커지고 있습니다.
1.1 왜 캐글을 해야 하는가?
소프트웨어 개발자들은 알고리즘 문제해결 역량을 키우기 위해, 혹은 코딩 인터뷰에 대비하기 위해 다양한 알고리즘 문제 사이트를 활용합니다. 국내 서비스 중에는 백준 온라인 저지, 알고스팟, 프로그래머스 등이 유명하죠. 다양한 알고리즘 문제를 제시하고, 참가자가 정답 코드를 제출하면 점수(등수)를 알려줍니다.
세상이 바뀌어 앞으로의 기술은 알고리즘만으로는 해결하기 어려운 문제들에 도전하고 있습니다. 데이터 과학과 머신러닝이 대표적이죠. 이 분야는 ‘데이터’가 핵심입니다. 데이터 없이는 유의미한 문제를 제시할 수조차 없습니다. 그리고 양질의 데이터는 개인이나 작은 단체에서는 쉽사리 만들어내기도 어렵습니다.
이러한 환경에서 훌륭한 데이터 과학자, 최고의 머신러닝 엔지니어를 꿈꾸는 여러분께 캐글을 권하는 이유를 간략히 말씀드리겠습니다.
1.1.1 데이터 과학 및 머신러닝 역량 강화
캐글은 데이터 과학과 머신러닝 역량을 키우기에 최적의 조건을 갖추었습니다. 꾸준히 경진대회에 참여한다면 머신러닝 스킬을 향상시킬 수 있습니다. 경진대회 종류도 다양하고 데이터도 방대합니다. 코드와 아이디어가 활발히 공유되고, 매번 새로운 대회를 접할 수 있어 지루할 틈이 없습니다.
1.1.2 공유와 경쟁의 상승효과
캐글은 개인의 코드와 아이디어가 활발히 공유되는 공간입니다. 경진대회를 진행하면서 참가자는 자신이 작성한 노트북을 다른 사람들과 공유합니다. 다른 참가자는 공유된 노트북을 활용하여 새로운 노트북을 만들어 공유합니다. 공유된 새로운 노트북은 다시 활용되어 한층 새로워진 노트북으로 공유되는 선순환이 반복됩니다. 캐글러가 공유한 노트북만 잘 활용해도 성능 좋은 모델을 개발할 수 있습니다.
경진대회라고 하면 경쟁이 떠오를 겁니다. 경쟁 상황에서 다른 사람과 아이디어를 공유하는 사람은 별로 없습니다. 하지만 캐글은 메달 시스템이 잘 구축되어 있어서 참여자는 경쟁 상황에서도 코드와 아이디어를 활발하게 공유합니다. 메달 시스템에 대해서는 1.3절에서 설명하겠습니다. 경쟁 상황과 공유 문화는 실력을 쌓기에 좋은 환경입니다. 경쟁 상황이 없다면 추진력을 내기 어렵고, 공유 문화가 없다면 아이디어를 확장하기 힘듭니다.
1.1.3 개인이 접할 수 없는 환경
개인이 실제 기업 데이터를 접하기는 쉽지 않습니다. 전 세계 유능한 데이터 과학자를 만날 기회도 드뭅니다. 하지만 캐글에서는 가능합니다. 좋은 재료와 훌륭한 동료가 있으니 환경은 완벽합니다. 데이터 과학자로 성장하는 데 이보다 좋은 환경이 있을까요?
1.1.4 취업 시 우대
캐글이 많이 알려지면서 채용 우대사항에 캐글 경험자를 걸어 놓는 기업이 많아졌습니다. 데이터 과학자나 머신러닝 엔지니어가 되고 싶은 대학생이나 취준생이라면 캐글에 뛰어드는 것도 좋은 방법입니다.
다음 그림들은 모두 캐글 경험을 우대사항으로 내건 채용 공고 예시입니다(출처 : 사람인).
▼ H사 머신러닝 연구원 채용 우대사항
▼ S사 인공지능 소프트웨어 개발자 채용 우대사항
▼ D사 인공지능 개발자 채용 우대사항
▼ K사 머신러닝 엔지니어 채용 우대사항
1.2 캐글 구성요소
캐글이 데이터 과학 역량을 쌓는 데 정말 좋은 플랫폼임은 분명합니다. 하지만 이제 막 캐글에 가입한 사람을 위한 안내가 친절하지 못한 것 같아 살짝 아쉽습니다. 그래서 지금부터 캐글을 처음 접하는 분을 위해 이해하기 쉽게 캐글 구성요소를 설명하겠습니다.
참가자는 캐글의 경진대회, 데이터셋, 노트북, 토론, 강좌를 활용하여 데이터 과학 역량을 쌓을 수 있습니다. 기본적으로는 경진대회를 중심으로 구성되어 있다고 보시면 됩니다. A 경진대회가 개최 되었다면 그 경진대회를 위해 수많은 노트북이 생성되고, 활발한 토론이 진행됩니다.
캐글 홈페이지의 핵심 메뉴는 Home, Competitions, Datasets, Code, Discussions, Courses입니다. 순서대로 메인 홈페이지, 경진대회, 데이터셋, 코드(노트북), 토론, 강좌 메뉴입니다. 각 메뉴에 대해 살펴보겠습니다.
Note
캐글 사이트의 UI는 언제든 예고 없이 바뀔 수 있습니다. 캐글의 UI가 책의 설명과 맞지 않다면 다음 주소에 공개해둔 온라인 문서를 참고하세요.
https://bit.ly/3lznqWn
1.2.1 경진대회
Competitions 메뉴에서는 전 세계 누구나 참여할 수 있는 데이터 과학 및 머신러닝 대회를 볼 수 있습니다. 기업은 캐글에 데이터를 제공해 경진대회를 개최할 수 있습니다. 물론 경진대회를 개최하기 위해서는 캐글 측에 상당한 돈을 지불해야 합니다. 대회에 따라 다르지만 보통 1~3달 동안 진행됩니다. 참가자는 기업이 제공한 데이터를 분석하게 됩니다. 기업이 요구하는 지표를 기준으로 높은 성적을 내는 모델을 만들어야 합니다. 대회가 끝나면 기업은 성능 좋은 모델을 개발한 참가자에게 상금을 지급합니다. 상금을 받은 참가자는 기업에게 자신이 짠 코드를 제공합니다. 기업은 스스로 만들 수 없는 데이터 과학 및 모델링 코드를 얻을 수 있고, 참가자는 상금을 얻을 수 있습니다.
윈윈win-win이죠. 그러면 상금을 탄 참가자만 좋은 것일까요? 그건 아닙니다. 경진 대회에 참여한 모든 참가자는 평소에 접하기 어려운 기업 데이터를 분석하고 모델링해볼 기회를 얻을 수 있습니다. 개인이 짠 코드를 서로 공유하며 더 성능 좋은 코드를 만들어내기도 합니다. 이 과정에서 모든 참가자가 데이터 과학 역량을 키울 수 있습니다.
다음은 캐글 경진대회 페이지의 모습입니다.
우선, 맨 위에 검색창이 있습니다. 바로 아래 경진대회의 종류를 나타내는 여러 탭이 있습니다. 각각의 의미는 다음과 같습니다.
  • All competitions : 모든 경진대회
  • Entered : 본인이 참가한 대회
  • Hosted : 본인이 주최한 대회
  • Featured : (머신러닝, 딥러닝으로 예측을 수행하는) 일반적인 대회
  • Research : 연구나 실험 목적을 갖는 특수한 형태의 대회
  • Getting Started : 이제 막 입문한 사람들을 위한 가장 쉬운 대회
  • Playground : 초보자를 위한 쉬운 대회(Getting Started보다 약간 높은 수준)
  • Analytics : 분석용 대회(예측하기보다는 현황 자체를 분석하는 대회)
  • Community : 커뮤니티에서 주관하는 대회
주목할 탭은 [Entered], [Featured], [Getting Started], [Playground]입니다. [Entered] 탭은 본인이 참가한 대회를 보여주기 때문에 자주 사용할 겁니다. 그리고 [Getting Started][Playground][Featured] 순서로 난이도가 높아진다고 보시면 됩니다.
탭 아래 영역은 크게 ‘Your Active Competitions’와 ‘Active Competitions’로 나뉩니다. Your Active Competitions에는 진행 중인 경진대회 가운데 본인이 참가한 대회가 나타나고, Active Competitions에는 진행 중인 모든 경진대회가 나타납니다. 각 대회마다 상금과 대회 종료까지 남은 기간도 표시되어 있습니다.
1.2.2 데이터셋
Datasets 메뉴는 경진대회 없이 순수하게 데이터셋만 제공되는 영역입니다. 수많은 양질의 데이터를 구할 수 있습니다.
전 세계 누구나 데이터를 올릴 수 있고, 다른 사람이 올려둔 데이터를 자유롭게 사용하여 분석 결과를 공유할 수 있습니다.
키워드 중심으로 검색하면 원하는 데이터를 찾을 수 있습니다. COVID-19 관련 데이터를 찾고 싶다면 “COVID-19”라고 검색하면 됩니다.
검색 결과에서 제목 오른쪽에 메달이 표시되어 있는데 금, 은, 동 순으로 많은 사람이 추천했다는 뜻입니다. 많은 사람이 추천했다는 것은 그만큼 질이 좋은 데이터, 활용 가치가 높은 데이터일 확률이 높다는 뜻입니다. 메달 바로 위에 표시된 숫자가 추천수를 뜻합니다. 메달에 대해서는 1.3절에서 다시 설명하겠습니다.
1.2.3 코드
Code 메뉴는 다른 사람이 올려놓은 캐글 코드(노트북)를 모아 놓은 페이지로 안내해줍니다. 경진대회와 연관된 코드도 있고, 데이터셋에 올라온 데이터를 분석한 코드도 있습니다.
Note 데이터셋과 마찬가지로 각 코드에도 메달이 표시되어 있습니다.
데이터셋과 마찬가지로 노트북도 원하는 키워드로 검색할 수 있습니다. 예컨대 회귀regression와 관련된 노트북을 찾아보고 싶다면 검색창에 ❶ “regression”이라고 칩니다.
추천수가 많은 순으로 검색하고 싶다면 정렬 옵션을 ❷ ‘Most Votes’로 선택합니다. 그런데 제목에 regression이라는 단어가 없는 노트북도 있습니다. 이는 해시태그 때문입니다. 노트북을 만들 때 해시태그를 설정할 수 있는데, ‘regression’ 해시태그를 추가한 노트북도 함께 검색된 것입니다.
1.2.4 토론
Discussions 메뉴에서는 경진대회를 진행하며 궁금한 점을 다른 사람에게 물어볼 수 있습니다. 서로 의견을 공유하며 새로운 아이디어를 얻을 수도 있습니다. 전 세계 유능한 데이터 과학자와 의견을 공유할 수 있다는 것은 굉장한 이점입니다.
경진대회를 하다 막히거나 궁금한 게 있다면 주저 말고 토론 페이지를 활용하시기 바랍니다. 사소한 질문이라도 많은 캐글러가 친절히 답해줄 것입니다.
1.2.5 강좌
Courses 메뉴에서는 캐글 관련 강좌를 들을 수 있습니다. 캐글에 강좌가 있다는 사실을 모르는 사람이 많습니다. 동영상 강의는 아니지만 기초 내용을 학습하기에 좋습니다. 파이썬, 머신러닝 입문, 머신러닝 중급, 데이터 시각화, 판다스, SQL 기초, SQL 고급, 딥러닝 기초 등 다양한 강좌가 있습니다. 깊이가 있지는 않지만 무료이기 때문에 빠르게 기초 개념을 복습하기에 좋을 것 같습니다. 강좌를 마치면 수료증도 줍니다. 캐글 노트북으로 실습을 제공하니 캐글에 익숙해지는 데에도 도움이 될 것입니다.
1.3 캐글러 등급
1.3.1 캐글러 등급이란?
마라톤을 하는 사람을 마라토너marathoner라고 하듯 캐글에 참여하는 사람을 캐글러kaggler라고 합니다. 그리고 캐글러 등급은 캐글러의 데이터 과학 실력을 가늠하는 척도입니다. 등급이 높을수록 오랫동안 캐글에 몸담아 실력을 쌓았다는 뜻입니다. 캐글러 등급은 Novice, Contributor, Expert, Master, Grandmaster 이렇게 다섯 단계로 구분됩니다.
캐글은 경진대회, 데이터셋, 노트북, 토론마다 등급을 매깁니다. 경진대회만 열심히 참여하는 캐글러는 경진대회 등급이 높고 노트북만 열심히 공유하는 캐글러는 노트북 등급이 높습니다. 경진 대회에만 집중하겠다거나 노트북에만 집중하겠다는 전략을 가진 캐글러도 많습니다. 등급을 높이기 위해서는 메달을 따야 합니다. 메달을 일정 개수 이상 모으면 등급이 올라갑니다.
다음 그림은 캐글 프로필 예시입니다. 경진대회, 데이터셋, 노트북, 토론마다 등급과 세계 랭킹, 메달 개수가 표시돼 있습니다.
▼ 캐글 프로필 예시(https://www.kaggle.com/progression)
1.3.2 메달
메달은 올림픽처럼 금메달, 은메달, 동메달이 있습니다. 경진대회, 데이터셋, 노트북, 토론마다 메달 조건이 다릅니다. 다음은 참여 팀별 경진대회 메달 취득 조건입니다.
▼ 경진대회 메달 조건
예를 들어, 경진대회에 참여한 팀이 100~249팀이면 상위 10팀만 금메달을 딸 수 있습니다. 참여한 팀이 1,000팀 이상이면 상위 5%까지 은메달이고 상위 10%까지 동메달입니다. 따라서 참여자가 많다고 메달을 따기 힘들거라 생각하면 안 됩니다. 참여자가 많다면 그만큼 더 많은 사람에게 메달을 주기 때문입니다.
데이터셋, 노트북, 토론의 메달 조건은 간단합니다.
▼ 데이터셋, 노트북, 토론 메달 조건
데이터셋과 노트북은 메달 취득 조건이 동일합니다. 본인이 올린 데이터, 혹은 본인이 공유한 노트북에 추천수upvote가 5개 이상이면 동메달, 20개 이상이면 은메달, 50개 이상이면 금메달입니다. 단, 본인의 추천과 Novice의 추천은 제외합니다.
메달 따기 가장 쉬운 섹션이 바로 토론입니다. 토론에 실질 추천수net-vote가 1개 이상이면 동메달, 5개 이상이면 은메달, 10개 이상이면 금메달입니다. 본인과 Novice의 추천은 역시 제외합니다. 유일하게 토론 섹션에는 비추천downvote이 있습니다. 실질 추천수는 추천수에서 비추천수를 뺀 값입니다. 예를 들어, 추천이 5개고 비추천이 1개면 실질 추천수는 4개입니다.
토론글이나 댓글에 1명이라도 추천을 하면 바로 토론 동메달을 땁니다. 그래서인지 캐글은 토론 문화가 잘 발달했습니다.
1.3.3 캐글러 등급의 구성
앞서 말씀드렸듯이 캐글러 등급은 Novice, Contributor, Expert, Master, Grandmaster 이렇게 다섯 단계로 구분됩니다.
캐글에 처음 가입하면 다음과 같이 경진대회, 데이터셋, 노트북, 토론 섹션이 모두 Novice 등급입니다.
Contributor 조건
Contributor가 되기는 아주 쉽습니다. ‘사진등록, 거주지, 직업, 회사등록, 휴대폰 인증, 노트북 1회 실행, 경진대회 1회 참여 및 제출, 1개 토론 참여, 다른 게시물에 추천upvote 1개’ 조건을 만족하면 Novice에서 Contributor로 업그레이드됩니다. 2장에서 캐글에 가입하고 튜토리얼 경진 대회에 참여해본 후 곧바로 Contributor가 되는 방법을 알아보겠습니다.
Expert 조건
다음 등급은 Expert인데 조건이 까다롭습니다. Expert부터 경진대회, 데이터셋, 노트북, 토론 등급으로 나뉩니다. Expert가 되기 위한 조건은 다음과 같습니다.
  • 경진대회 : 경진대회 동메달 2개
  • 데이터셋 : 데이터셋 동메달 3개
  • 노트북 : 노트북 동메달 5개
  • 토론 : 토론 동메달 50개
취업 우대사항에 캐글 Expert를 내거는 기업이 있을 정도로 Expert는 데이터 과학자로서 실력을 갖추었다는 증표가 됩니다.
Master 조건
Master 등급을 달성하기 위해서는 은메달 이상을 따야 합니다. 그렇기 때문에 상당한 시간과 노력이 필요합니다. Master 등급 조건은 다음과 같습니다.
  • 경진대회 : 경진대회 금메달 1개, 은메달 2개
  • 데이터셋 : 데이터셋 금메달 1개, 은메달 4개
  • 노트북 : 노트북 은메달 10개
  • 토론 : 토론은 메달 50개 포함하여 총 200개 메달
Grandmaster 조건
Grandmaster 등급 조건은 다음과 같습니다.
  • 경진대회 : 경진대회 ‘솔로’ 금메달 1개, 금메달 5개
  • 데이터셋 : 데이터셋 금메달 5개, 은메달 5개
  • 노트북 : 노트북 금메달 15개
  • 토론 : 토론 금메달 50개 포함하여 총 500개 메달
경진대회는 팀으로 참가할 수도 있고 혼자 참가할 수도 있습니다. 경진대회 Grandmaster 조건 중 하나인 솔로 금메달은 혼자 참가해 딴 금메달을 말합니다.
학습 마무리
캐글은 데이터 과학 및 머신러닝 경진대회를 주최하는 온라인 커뮤니티입니다. 데이터 과학 및 머신러닝 역량을 키우기에 굉장히 훌륭한 플랫폼이며, 취업 시 캐글 경험자를 우대하는 기업이 늘어나고 있습니다.
  1. 캐글은 데이터 과학 및 머신러닝 역량을 키우기에 굉장히 훌륭한 플랫폼입니다.
  2. 경진대회, 데이터셋, 노트북, 토론 섹션으로 구성되어 있고 각 섹션마다 메달을 취득하여 등급을 올릴 수 있습니다.
  3. 메달은 동메달, 은메달, 금메달로 나뉘고, 등급은 Novice, Contributor, Expert, Master, Grandmaster로 나뉩니다.
  4. 개인이 접할 수 없는 기업 데이터를 분석할 수 있고, 전 세계 유능한 데이터 과학자와 커뮤니케이션할 수 있습니다.

신백균
KAIST 산업및시스템공학과 졸업 후 한국생산성본부에서 직무교육 기획 및 운영을 담당하는 전문위원입니다. 세계 랭킹 0.18%의 캐글 노트북 엑스퍼트(Expert)이며, 월 평균 6만여 명이 방문하는 데이터 분석/머신러닝 관련 기술 블로그를 운영하고 있습니다. 참여자 1,200명 이상인 머신러닝 관련 오픈 채팅방의 운영진이기도 합니다.

Leave a Reply

©2020 GoldenRabbit. All rights reserved.
서울시 마포구 신촌로2길 19 마포출판문화진흥센터 Platform-P 302호 (우)04051
master@goldenrabbit.co.kr
개인정보처리방침