【Python 메모】Google Colaboratory에서 Kaggle API를 사용하는 엄청난 코드&작법
15115 단어 파이썬colaboratoryKaggle
Kaggle에서의 대회 참가도 Colaboratory상에서 통일할 수 있을까? 그래서,
KaggleAPI를 Colaboratory상에서 실행하는 엄청난 코드&작법입니다.
뭔가 잘못 등이 있으면 지적하실 수 있으면 기뻐합니다! !
Google 드라이브 사용
Kaggle API와 관련이 없지만 처리 상 Google Drive를 사용하는 것이 가장 효율적이라고 생각하므로,
Google Drive를 사용할 수 있게 하는 마운트 처리에서.
Google Drive 래퍼를 설치합니다.
코드를 실행하면 괜찮습니다.
!apt-get install -y -qq software-properties-common python-software-properties module-init-tools
!add-apt-repository -y ppa:alessandro-strada/ppa 2>&1 > /dev/null
!apt-get update -qq 2>&1 > /dev/null
!apt-get -y install -qq google-drive-ocamlfuse fuse
인증 토큰을 생성.
URL이 발행되므로 액세스하여 토큰을 복사합시다.
from google.colab import auth
auth.authenticate_user()
Google Drive 라이브러리의 인증 토큰도 생성, copipe.
from oauth2client.client import GoogleCredentials
creds = GoogleCredentials.get_application_default()
import getpass
!google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_secret} < /dev/null 2>&1 | grep URL
vcode = getpass.getpass()
!echo {vcode} | google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_secret}
아래에서 마지막. drive 바로 아래의 파일이 표시되면 성공.
!mkdir -p drive
!google-drive-ocamlfuse drive
print ('Files in Drive:')
!ls drive/
Kaggle API 준비
먼저 Kaggle 명령을 노트북에 설치합니다.
!pip install kaggle
그런 다음 아래에서 Kaggle API 토큰을 생성합니다.kaggle.json
파일을 다운로드합니다.
https://www.kaggle.com/(사용자 이름)/account
kaggle.json
파일을 Google 드라이브의 원하는 위치에 저장합니다.
파일명은 바꾸지 않는 것.
다음 코드에서 API를 사용할 수 있도록 합니다.
덧붙여 이 코드는 Kaggle Forum에서 정보 제공해 주신 하나님의 코드 그대로 인용입니다.
감사합니다.
!apt-get install -y -qq software-properties-common python-software-properties module-init-tools
!add-apt-repository -y ppa:alessandro-strada/ppa 2>&1 > /dev/null
!apt-get update -qq 2>&1 > /dev/null
!apt-get -y install -qq google-drive-ocamlfuse fuse
from google.colab import auth
auth.authenticate_user()
from oauth2client.client import GoogleCredentials
creds = GoogleCredentials.get_application_default()
import getpass
!google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_secret} < /dev/null 2>&1 | grep URL
vcode = getpass.getpass()
!echo {vcode} | google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_secret}
!mkdir -p drive
!google-drive-ocamlfuse drive
print ('Files in Drive:')
!ls drive/
먼저 Kaggle 명령을 노트북에 설치합니다.
!pip install kaggle
그런 다음 아래에서 Kaggle API 토큰을 생성합니다.
kaggle.json
파일을 다운로드합니다.https://www.kaggle.com/(사용자 이름)/account
kaggle.json
파일을 Google 드라이브의 원하는 위치에 저장합니다.파일명은 바꾸지 않는 것.
다음 코드에서 API를 사용할 수 있도록 합니다.
덧붙여 이 코드는 Kaggle Forum에서 정보 제공해 주신 하나님의 코드 그대로 인용입니다.
감사합니다.
useful Google Labs tool for people playing with data science and deep learning (Kaggle Forum)
This notebook provides a recipe for using Kaggle API with Colab (Colaboratory)
from googleapiclient.discovery import build
import io, os
from googleapiclient.http import MediaIoBaseDownload
from google.colab import auth
auth.authenticate_user()
drive_service = build('drive', 'v3')
results = drive_service.files().list(
q="name = 'kaggle.json'", fields="files(id)").execute()
kaggle_api_key = results.get('files', [])
filename = "/content/.kaggle/kaggle.json"
os.makedirs(os.path.dirname(filename), exist_ok=True)
request = drive_service.files().get_media(fileId=kaggle_api_key[0]['id'])
fh = io.FileIO(filename, 'wb')
downloader = MediaIoBaseDownload(fh, request)
done = False
while done is False:
status, done = downloader.next_chunk()
print("Download %d%%." % int(status.progress() * 100))
os.chmod(filename, 600)
Kaggle API 사용
자, 시도해 봅시다.
경쟁 목록을 검색해 봅니다.
!kaggle competitions list
이런 리스트가 돌아오면 성공
대회 데이터 다운로드도 시도합니다.
Google 드라이브의 디렉토리에 다운로드해 봅시다.
크기가 큰 파일은 남은 용량에 중요합니다.
Kaggle의 Competite 사이트에서 다음 API 명령을 복사합니다.
Google Colaboratory에 붙여넣기.
선두에 익스클라메이션 마크(!)를 붙이는 것을 잊지 말고.
여기에서는 데이터를 다운로드하는 디렉토리를 다음과 같습니다.drive/Colab Notebooks
※Colaboratory 파일을 작성하는 방법에 따라 drive/Colab Notebooks
아래에 파일이 생성됩니다.
이 디렉토리명이 귀찮고, 반각 스페이스가 들어가 있습니다.
Linux명령을 쓸 때는, 반각 스페이스의 전에 \
가 필요하게 되므로 주의합시다.
kaggle competitions download -c titanic -p drive/Colab\ Notebooks
# カレントディレクトリにダウンロードする場合は以下
# !kaggle competitions download -c titanic -p.
데이터 세트가 지정된 디렉토리에 다운로드되면 성공
!kaggle competitions list
kaggle competitions download -c titanic -p drive/Colab\ Notebooks
# カレントディレクトリにダウンロードする場合は以下
# !kaggle competitions download -c titanic -p.
Kaggle API의 자세한 사양은 다음 GitHub에서 공개됩니다.
Kaggle API
(덤) 현재 디렉토리 변경
로컬 환경과 마찬가지로 Colaboratory에서도 현재 디렉토리를 지정할 수 있습니다.
import os
os.getcwd() # 現在のカレントディレクトリの取得
os.chdir('/content/drive/Colab Notebooks') # カレントディレクトリを指定
os.getcwd()
이제 현재 디렉토리가 변경되었는지 확인할 수 있어야 합니다.
그리고는 아래와 같이 보통으로 데이터를 취득하면 OK.
import pandas as pd
train = pd.read_csv('train.csv')
train.head()
Enjoy! Colaboratory and Kaggle!!
참고
참고로 해 주신 프로페셔널 분들의 기사 정리
import os
os.getcwd() # 現在のカレントディレクトリの取得
os.chdir('/content/drive/Colab Notebooks') # カレントディレクトリを指定
os.getcwd()
import pandas as pd
train = pd.read_csv('train.csv')
train.head()
참고로 해 주신 프로페셔널 분들의 기사 정리
Reference
이 문제에 관하여(【Python 메모】Google Colaboratory에서 Kaggle API를 사용하는 엄청난 코드&작법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/h_kobayashi1125/items/749f63577a7353771969텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)