🦁🦁✏
2010년에 만들어진 “예측 모델 분석 대회 플랫폼”으로서 데이터 과학 및 머신러닝 경진대회를 주최하는 온라인 커뮤니티입니다. 기업과 단체에서 데이터와 해결과제 및 상금을 등록하면 개인 및 팀 단위의 데이터 과학을 연구하는 학생 및 과학자들이 문제를 해결하기 위해 도전합니다.
캐글에는 방대한 데이터, 유능한 데이터 과학자, 훌륭한 코드, 좋은 문화가 있어 데이터 과학 역량을 쌓는 데 최적의 플랫폼입니다. 이뿐만 아니라 전세계에서 데이터 과학을 연구하는 사람들의 커뮤니티, 학생들을 위한 가이드, 현업에서 일하는 과학자들의 지침서와 같은 역할도 합니다.
캐글은 2010년 설립되어 2017년 구글에 인수되었습니다. 구글이 인수할 만큼 영향력 있는 플랫폼입니다. 가입자 수는 2017년 6월에 100만 명이었는데, 바로 다음 해인 2018년 8월에 200만 명으로 2배가 되었습니다. 2022년 3월에는 900만 명을 넘어서는 등 지금도 빠르게 커가고 있습니다.
웹 기반 플랫폼이기 때문에 인터넷만 연결되면 전 세계 누구나 참여할 수 있습니다. 캐글에 탑제된 노트북 덕에 개발 환경 구축에 신경 쓸 필요가 없습니다.
개인이나 작은 기업에서 쉽게 접할 수 없는 다양한 데이터로 데이터 과학과 머신러닝을 연습해볼 수 있고, 같은 목표로 대회에 참여한 전 세계 데이터 과학자들과 교류할 수 있습니다. 또한 자신이 작성한 노트북을 다른 사람들과 공유하며 공유된 노트북을 이용해 성능 좋은 모델을 개발 할 수 있습니다.
기업이나 단체는 자체적으로는 어려웠던 머신러닝 모델 개발 문제를 해결하고, 우수한 직원을 채용하기 위해 대회 성과를 활용하는 경향이 커지고 있습니다.
대회 유형
대회 선택 팁
위의 사진처럼 commerce에 대한 데이터셋을 찾고 싶다면 “commerce”로 검색합니다.
검색 결과에서 제목 오른쪽에 메달이 표시되어 있는데 금, 은, 동 순으로 많은 사람이 추천했다는 뜻입니다. 많은 사람이 추천했다는 것은 그만큼 질이 좋은 데이터, 활용 가치가 높은 데이터일 확률이 높다는 뜻입니다. 메달 바로 위에 표시된 숫자가 추천수를 뜻합니다.
Kaggler 등급
Kaggle API 설치는 pip 패키지로 인스톨 해주시면 됩니다.
먼저 Kaggle에 로그인 한 뒤 Account로 접속합니다.
바로 접속할 수 있는 주소는 다음과 같으며, username
만 치환해 주신 뒤 접속하시면 됩니다. (혹은, 우측 상단에 프로필 사진을 클릭한 뒤 Account를 클릭하시면 됩니다.)
My Account 접속 주소
https://www.kaggle.com/<username>/account
Account에 들어온 뒤, 스크롤을 내리다 보면 Create New API Token이 있습니다. 버튼을 누르면 Token을 생성합니다(kaggle.json 파일이 다운로드 됩니다).
Windows
C:\Users\<Windows-username>\.kaggle\kaggle.json
Mac OS / Linux (Unix-based)
~/.kaggle/kaggle.json
[필수 X] 보안을 위하여 다음과 같이 권한을 변경해 줄 수 있습니다.
chmod 600 ~/.kaggle/kaggle.json
kaggle competitions{list, files, download, submit, submissions, leaderboard}
# 경진대회 API의 도움말 보기
!kaggle competitions list -h
----------------------------------
usage: kaggle competitions list [-h] [--group GROUP] [--category CATEGORY]
[--sort-by SORT_BY] [-p PAGE] [-s SEARCH] [-v]
optional arguments:
-h, --help show this help message and exit
--group GROUP Search for competitions in a specific group. Default is 'general'. Valid options are 'general', 'entered', and 'inClass'
--category CATEGORY Search for competitions of a specific category. Default is 'all'. Valid options are 'all', 'featured', 'research', 'recruitment', 'gettingStarted', 'masters', and 'playground'
--sort-by SORT_BY Sort list results. Default is 'latestDeadline'. Valid options are 'grouped', 'prize', 'earliestDeadline', 'latestDeadline', 'numberOfTeams', and 'recentlyCreated'
-p PAGE, --page PAGE Page number for results paging. Page size is 20 by default
-s SEARCH, --search SEARCH
Term(s) to search for
-v, --csv Print results in CSV format (if not set print in table format)
----------------------------------
# commerce에 해당되는 경진대회 목록
!kaggle competitions list -s commerce
----------------------------------
ref deadline category reward teamCount userHasEntered
---------------------------------------- ------------------- -------- ------- --------- --------------
otto-recommender-system 2023-01-31 23:59:00 Featured $30,000 80 False
cdiscount-image-classification-challenge 2017-12-14 23:59:00 Featured $35,000 626 False
----------------------------------
# titanic 경진대회 데이터셋 보기
!kaggle competitions files -c titanic
----------------------------------
name size creationDate
--------------------- ---- -------------------
test.csv 28KB 2018-04-09 05:33:22
train.csv 60KB 2018-04-09 05:33:22
gender_submission.csv 3KB 2018-04-09 05:33:22
----------------------------------
# 데이터셋 다운로드(현재 위치에)
!kaggle competitions download -c titanic
# 경로 지정
# !kaggle competitions download -c titanic -p 경로위치
이렇게 다운받은 데이터셋은 zip 파일이므로 파일의 압축을 풀어줘야 합니다. jupyter에서 한번에 처리할 수 있도록 shutil
라이브러리를 사용합니다.
import shutil
filename = 'titanic.zip' # 압축 해제할 파일 이름
extrac_dir = 'titanic' # 압축 해제할 폴더 이름
archive_format = 'zip' # 압축 파일 형태
shutil.unpack_archive(filename, extrac_dir, archive_format) # 현재 위치에 압축 해제
kaggle competitions submit -c titanic -f submission.csv -m "Message"
Successfully submitted to Titanic: Machine Learning from Disaster(kaggle)
← 메세지와 함께 성공적으로 제출되었음을 확인할 수 있습니다.