Kaggle API 사용법

skyepodium·2021년 4월 28일
3
post-thumbnail

Kaggle API 를 사용해서 1. 데이터 받기, 2. 제출을 해봅시다.

데이터 분석을 하다보면, Kaggle Notebook이 아닌 다른 환경에서 진행하는 경우가 있습니다.

다른 환경이라면, 1) 개인 노트북 또는 2) google colab 등이 있습니다.

물론, 데이터 파일을 직접 받거나 제출할 수도 있지만....

kaggle API를 사용하면 조금 더 편하게 할 수 있습니다.

1. Kaggle 패키지 설치

1) 설치

파이썬에서는 다른 사람들이 만든 외부 기능을 패키지라고 부릅니다.

kaggle API는 Kaggle 패키지를 통해 사용합니다.

사용하는 환경에 맞게 패키지를 설치할 수 있습니다.

# python3 환경
pip3 install kaggle

# python2 환경 또는 python3이지만, 환경을 pip로 지정한경우
pip install kaggle

# anaconda에 설치
conda install kaggle

# colab 에서 설치, colab에는 이미 설치되어 있어서 안해도 됩니다.
!pip install kaggle

2) 확인

다음 명령어는 설치된 파이썬 패키지들의 목록을 출력합니다.

목록에서 kaggle 패키지가 정상적으로 설치되었음을 확인할 수 있습니다.

# python3
pip3 list

# python2
pip list

# anaconda
conda list

# colab
!pip list

2. Kaggle TOKEN 받기

kaggle 에 접속하신 다음, Account 항목을 클릭합니다.

화면을 내리면, API 탭을 찾을 수 있습니다.

Create New API Token을 누르고 다운 kaggle.json파일을 받아줍니다.

주의 한번 발급받으면 이전의 것은 알려주지 않기 때문에, 잊어버리셨다면 Expire API TOKEN으로 모두 지우시고, 새로운 TOKEN을 받습니다.)

API를 사용할 때는 항상 kaggle.json 파일이 필요한것이 아닙니다. 그냥 토큰 문자열만 알고있어도 사용가능합니다.
1) kaggle.json 파일 사용, 2) 문자열 사용 - 2가지 모두 알아봅시다.

1) 다운 받는 방법

다운 받은 폴더로 가고, 다음 명령어를 통해 kaggle.json을 이동시켜줍니다.

mkdir -p ~/.kaggle && mv kaggle.json ~/.kaggle/kaggle.json

2) 그냥 열기

32길이의 토근만 알고 있어도 사용할 수 있습니다. google colab에서 할 때는 이게 더 편한것 같습니다.

그리고, 누구한테 알려주지는 말구요. 저는 지우고 다시받을거니까 공개하지만유.

3. 데이터 받기

문제의 Data 탭으로 가서 하단의 명령어를 복사해줍니다.

아까 말씀드린 2가지 방법 다 사용해봅시다.

1) kaggle.json 파일 사용

파일을 다운 받고 싶은 폴더로 이동해서 명령어를 입력합니다.

# 현재 나의 위치 확인
pwd

# 타이타닉 문제 데이터 받기
kaggle competitions download -c titanic

# 폴더의 파일 목록 상세 확인
ls -al

# 파일 압축 해제
unzip titanic.zip

2) 문자열 사용

닉네임과 토근을 입력해서 사용합니다.

"""
os 임포트
파이썬 내부에서 os에 접근해서 환경변수를 세팅합니다.
파이썬에서 실행했을때 즉효성을 가집니다.
"""
import os

# 닉네임, 토큰 설정
os.environ["KAGGLE_USERNAME"] = 'dplskye'
os.environ["KAGGLE_KEY"] = "c8ae3afcd781c9c303d1ba57c7c0f43f"

# 데이터 받기, colab에서 리눅스 명령어를 사용할때는 앞에 !가 붙습니다.
!kaggle competitions download -c titanic

# 확인
!ls -al

4. 제출

submit preidctions 탭에가서 중단의 명령어를 복사합니다.

1) kaggle.json 파일 사용

저는 다운 받은 데이터셋에 들어있는 gender_submission.csv을 그대로 제출할 것이기 때문에 다음과 같이 작성했습니다.

kaggle competitions submit -c titanic -f gender_submission.csv -m "Subtit with Kaggle API"

제출되었음을 확인할 수 있습니다.

2) 문자열 사용

앞에 !느낌표를 붙여서 명령어를 수행합니다.

!kaggle competitions submit -c titanic -f gender_submission.csv -m "Subtit with Kaggle API"

colab에서도 잘 작동함을 확인할 수 있습니다.

profile
callmeskye

1개의 댓글

comment-user-thumbnail
2021년 5월 2일

너무 멋지세요

답글 달기