Kaggle with Google Colab

Page content

공지

제 수업을 듣는 사람들이 계속적으로 실습할 수 있도록 강의 파일을 만들었습니다. 늘 도움이 되기를 바라며. 참고했던 교재 및 Reference는 꼭 확인하셔서 교재 구매 또는 관련 Reference를 확인하시기를 바랍니다.

I. 개요

  • Kaggle 대회에서 나오는 데이터의 용량은 작은 편은 아니다.
  • 성능이 적은 노트북을 사용해야 하는 경우라면 Google Colab을 사용해야 한다.
  • 이 때, Kaggle 데이터를 Google Colab으로 다운로드 받는 과정에 대해 기술 하려고 한다.

II. 캐글 계정에서 해야 할 것

  • 먼저 본인의 계정에서 API Token을 다운로드 받는다.

III. Google Colab에서 해야 할 것

  • Create New API Token을 누르면 kaggle.json 파일이 다운로드 된다. 이 파일을 바탕화면에 옮긴 뒤, 아래 코드를 실행 시킨다.
!pip install kaggle
Requirement already satisfied: kaggle in /usr/local/lib/python3.6/dist-packages (1.5.6)
Requirement already satisfied: tqdm in /usr/local/lib/python3.6/dist-packages (from kaggle) (4.41.1)
Requirement already satisfied: urllib3<1.25,>=1.21.1 in /usr/local/lib/python3.6/dist-packages (from kaggle) (1.24.3)
Requirement already satisfied: python-slugify in /usr/local/lib/python3.6/dist-packages (from kaggle) (4.0.0)
Requirement already satisfied: six>=1.10 in /usr/local/lib/python3.6/dist-packages (from kaggle) (1.12.0)
Requirement already satisfied: certifi in /usr/local/lib/python3.6/dist-packages (from kaggle) (2020.4.5.1)
Requirement already satisfied: requests in /usr/local/lib/python3.6/dist-packages (from kaggle) (2.23.0)
Requirement already satisfied: python-dateutil in /usr/local/lib/python3.6/dist-packages (from kaggle) (2.8.1)
Requirement already satisfied: text-unidecode>=1.3 in /usr/local/lib/python3.6/dist-packages (from python-slugify->kaggle) (1.3)
Requirement already satisfied: chardet<4,>=3.0.2 in /usr/local/lib/python3.6/dist-packages (from requests->kaggle) (3.0.4)
Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.6/dist-packages (from requests->kaggle) (2.9)
from google.colab import files
files.upload()
Upload widget is only available when the cell has been executed in the current browser session. Please rerun this cell to enable.
Saving kaggle.json to kaggle.json





{'kaggle.json': b'{"username":"your_id","key":"your_key_value"}'}
  • 위 파일이 제대로 업로드 되었는지 확인하기 위해 아래 코드를 실행한다.
!ls -1ha kaggle.json
kaggle.json
  • 위 코드를 실행 시켰을 때, kaggle.json이 나온다면 성공적이다.
  • json 파일을 ~/.kaggle로 이동 시켜야 하며, 아래 코드를 실행시키자.
!mkdir -p ~/.kaggle # 파일 생성
!mv kaggle.json ~/.kaggle/ # kaggle.json 파일 이동
!chmod 600 ~/.kaggle/kaggle.json # 권한 부여
  • 현재 진행중인 Compeition을 확인한다.
!kaggle competitions list
Warning: Looks like you're using an outdated API Version, please consider updating (server 1.5.6 / client 1.5.4)
ref                                               deadline             category            reward  teamCount  userHasEntered  
------------------------------------------------  -------------------  ---------------  ---------  ---------  --------------  
digit-recognizer                                  2030-01-01 00:00:00  Getting Started  Knowledge       3000           False  
titanic                                           2030-01-01 00:00:00  Getting Started  Knowledge      22146            True  
house-prices-advanced-regression-techniques       2030-01-01 00:00:00  Getting Started  Knowledge       5138            True  
connectx                                          2030-01-01 00:00:00  Getting Started  Knowledge        399           False  
nlp-getting-started                               2030-01-01 00:00:00  Getting Started      Kudos       1965            True  
competitive-data-science-predict-future-sales     2020-12-31 23:59:00  Playground           Kudos       6867           False  
global-wheat-detection                            2020-08-04 23:59:00  Research           $15,000        386           False  
open-images-object-detection-rvc-2020             2020-07-31 16:00:00  Playground       Knowledge          1           False  
open-images-instance-segmentation-rvc-2020        2020-07-31 16:00:00  Playground       Knowledge          0           False  
hashcode-photo-slideshow                          2020-07-27 23:59:00  Playground       Knowledge         25           False  
prostate-cancer-grade-assessment                  2020-07-22 23:59:00  Featured           $25,000        395           False  
alaska2-image-steganalysis                        2020-07-20 23:59:00  Research           $25,000        328           False  
halite                                            2020-06-30 23:59:00  Featured             Kudos          0           False  
m5-forecasting-accuracy                           2020-06-30 23:59:00  Featured           $50,000       4008            True  
m5-forecasting-uncertainty                        2020-06-30 23:59:00  Featured           $50,000        439           False  
trends-assessment-prediction                      2020-06-29 23:59:00  Research           $25,000        363           False  
jigsaw-multilingual-toxic-comment-classification  2020-06-22 23:59:00  Featured           $50,000        998           False  
tweet-sentiment-extraction                        2020-06-16 23:59:00  Featured           $15,000       1278           False  
imet-2020-fgvc7                                   2020-05-28 23:59:00  Research         Knowledge         82           False  
abstraction-and-reasoning-challenge               2020-05-27 23:59:00  Research           $20,000        841           False  
  • 이 때 참가하려는 현재 진행중인 대회 M5 Forecasting - Accuracy에 참가한다고 가정해보자.
  • 아래 코드를 실행하면 데이터를 다운로드 받을 수 있다.
  • 구글 코랩 content 폴더에 가면 zip 파일을 확인할 수 있다.
! kaggle competitions download -c m5-forecasting-accuracy
Warning: Looks like you're using an outdated API Version, please consider updating (server 1.5.6 / client 1.5.4)
sales_train_validation.csv.zip: Skipping, found more recently modified local copy (use --force to force download)
sample_submission.csv.zip: Skipping, found more recently modified local copy (use --force to force download)
calendar.csv: Skipping, found more recently modified local copy (use --force to force download)
sell_prices.csv.zip: Skipping, found more recently modified local copy (use --force to force download)
  • 다운로드된 모든 파일을 아래와 같이 unzip을 사용해서 확인한다.
!unzip sales_train_validation.csv.zip
Archive:  sales_train_validation.csv.zip
  inflating: sales_train_validation.csv  
!ls
calendar.csv			sample_data
sales_train_validation.csv	sample_submission.csv.zip
sales_train_validation.csv.zip	sell_prices.csv.zip

IV. 결론

  • Kaggle에서 데이터를 다운로드 받는 부분을 수행하였고, 이 부분을 통해서 이제 여러분들이 적극적으로 코드를 경험하기를 바란다.

V. Reference

출처: Jay Speidell. Easy way to use Kaggle datasets in Google Colab. Retrieved from https://www.kaggle.com/general/51898