캐글(kaggle)은 데이터 과학자들과 머신 러닝 사용자들의 커뮤니티이자 데이터 과학 경진 플랫폼이다. 기업 등에서 해결할 과제와 데이터를 업로드하면 데이터 과학자들이 과제를 해결할 모델을 개발하며 경쟁하기도 한다.
캐글에서는 데이터 과학/머신 러닝에 필요한 데이터를 업로드/다운로드 할 수 있다. 필요한 데이터를 코드 한 줄로 간단히 받을 수도 있다. 그러기 위해서는 우선 캐글을 설치해야 한다.
pip install kaggle
그리고 깃허브처럼 데이터를 다운로드/업로드 하기 위해서는 토큰이 필요하므로 먼저 캐글 사이트에 가입을 하자.
가입 후 우측 상단의 내 계정을 클릭하고 나오는 Settings 페이지에 들어가자. Account 탭에서 아래로 스크롤 하면 API 부분이 나오는데 거기에 있는 Create New Token 버튼을 누르면 된다.
그러면 kaggle.json 파일이 다운로드 되는데 이를 아래와 같은 과정을 통해 특정 디렉토리로 옮긴 후 권한을 설정해야한다.
(리눅스 기준)
1. cd ~
2. mkdir .kaggle (디렉토리 이름이 .kaggle임에 유의)
3. cd .kaggle
4. kaggle.json을 ~/.kaggle 로 옮기기
5. chmod 600 kaggle.json
이제 캐글에서 원하는 경진 자료를 다운로드 받아보자. 원하는 경진 자료 (여기서는 titanic 문제를 예시로 보겠다.) 를 검색한 후 data 탭으로 들어가서 맨 아래쪽으로 스크롤하면
>_ kaggle competitions download -c titanic
과 같이 데이터를 다운로드할 수 있는 명령어가 있다. 이를 복사해서 터미널에 붙여넣기만 하면 관련 데이터가 다운로드 된다.
403 -Forbidden - You must accept this competitions's rules before you'll able to download files
kaggle competitions download 했을 때 위와 같은 에러 메시지가 뜨면서 데이터가 다운로드 되지 않을 때가 있다. 이는 메시지 그대로 competition의 rule에 동의를 해야 해결되는 문제로, 해당 경진 대회의 Rules 탭에 들어가서 맨 아래쪽의 "I Understand and Accept" 버튼을 누르면 해결된다.
kaggle competitions list