Rainbow Engine

IT技術を分かりやすく簡潔にまとめることによる学習の効率化、また日常の気付きを記録に残すことを目指します。

IT技術 (Technology)

Kaggleのデータセットをダウンロードする方法(API)をご紹介

投稿日:2023年4月26日 更新日:

 

<目次>

(1) Kaggleのデータセットをダウンロードする方法(API)をご紹介
 (1-0) STEP0:(事前準備)Kaggleアカウント作成
 (1-1) STEP1:(事前準備)パッケージのインストール
 (1-2) STEP2:(事前準備)APIトークンの取得
 (1-3) STEP3:サンプルプログラム(データセットダウンロード)

(1) Kaggleのデータセットをダウンロードする方法(API)をご紹介

本記事ではKaggleのデータセットをPythonプログラムからAPI経由でダウンロードする手順についてご紹介します。

(1-0) STEP0:(事前準備)Kaggleアカウント作成

データセットのダウンロードにはKaggleアカウントが必要なため、持っていない方は作成します。
・①URLにアクセスしRegisterを進める
(図111①)
(図111②)
(図111③)
・②「Verify Your Account」押下
(図111④)

・「Send Verification Code」押下
(図111⑤)
・「Verify」押下
(図111⑥)
・「Close」押下
(図111⑦)

(1-1) STEP1:(事前準備)パッケージのインストール

Kaggleパッケージをインストールします。
(実行コマンド)
> pip install kaggle --user
(図121)
(結果例)

Running setup.py install for kaggle ... done
Successfully installed kaggle-1.5.12

目次にもどる

(1-2) STEP2:(事前準備)APIトークンの取得

この状態でプログラムを実行しても下記のエラーとなります。
(エラーメッセージ)
OSError: Could not find kaggle.json. Make sure it's located in C:\Users\Rainbow\.kaggle. Or use the environment method.
(図122)
これは認証に必要な情報(ユーザーID、APIキー)が適用されていないためです。
よって、下記の対応が必要。

●STEP2-1:APIトークンの発行

・①自分のアイコン→「Account」押下
(図123)

・②「Create New API Token」を押下
(図123②)

・③kaggle.jsonが生成されます。
→この中にユーザー名とキーが発行されます
{“username”:”XXXX”,”key”:”XXXXX”}
 
(図123③)

●STEP2-2:kaggle.jsonの配備

・「C:\Users\[ご自身のユーザー名]\.kaggle」に配備します。
 
(図124)
 

(1-3) STEP3:サンプルプログラム(データセットダウンロード)

(サンプルプログラム)
from kaggle.api.kaggle_api_extended import KaggleApi
import zipfile

api = KaggleApi()
api.authenticate()

output_path = './kaggle_download_dataset/'

# kaggle.com/c/dogs-vs-catsからダウンロード
# train.zip / test1.zipの2つのファイルがある
# './'はカレントディレクトリの意味。
api.competition_download_file('sentiment-analysis-on-movie-reviews',
    'train.tsv.zip', path=output_path)
api.competition_download_file('sentiment-analysis-on-movie-reviews',
    'test.tsv.zip', path=output_path)

# zipファイルの解凍
with zipfile.ZipFile(output_path+'train.tsv.zip', 'r') as zipref:
    zipref.extractall(output_path)
with zipfile.ZipFile(output_path+'test.tsv.zip', 'r') as zipref:
    zipref.extractall(output_path)
・①プログラムを実行します。
(図131)

(結果例)

Downloading train.tsv.zip to ./kaggle_download_dataset
100%|█████████████████████████████████████████████████████████████████████████████████████████| 1.28M/1.28M [00:01<00:00, 1.25MB/s]
Downloading test.tsv.zip to ./kaggle_download_dataset
100%|███████████████████████████████████████████████████████████████████████████████████████████| 494k/494k [00:00<00:00, 5.65MB/s]
・②同じ階層にzipがダウンロードされ、同時に解凍もされました。
(図132)

・③tsvファイルについて
tsvはタブを区切り文字に使ってフォーマットされたファイルです。
(図133)
Pythonのcsvモジュールを用いて読込みできます。

# tsvファイルの読込み
with open(output_path+'train.tsv', encoding='utf-8', newline='') as f:
    for cols in csv.reader(f, delimiter='\t'):
        print(cols)
 
(図134)

(1-4) エラー対処:HTTP 403エラーが出た時の対処方法について

●エラー

(エラーメッセージ)
HTTP response body: b'{"code":403,"message":"Permission \\u0027competitions.downloadData\\u0027 was denied"}'
 
(図211)

●原因

CompetionのルールをAcceptしていないため。
 
(図212)

●対策

下記のURLにアクセスし、CompetionのルールをAcceptする。
 
・URL
・「I Understand and Accept」を押下
(図213)
・完了
(図214)

Adsense審査用広告コード


Adsense審査用広告コード


-IT技術 (Technology)
-

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

プロセスとは? Linuxの例も交えてご紹介

  <目次> (1) プロセスとは? Linuxの例も交えてご紹介  (1-1) プロセスとは?  (1-2) プロセスの構成要素  (1-3) プロセスの状態遷移 (1) プロセスとは? …

Fit & Gapのやり方やテンプレートについて

  <目次> (1) Fit & Gapのやり方やテンプレートについて  (1-1) Fit & Gapとは?  (1-2) 現行機能の整理(機能一覧)  (1-3) 要件の …

Celonis Snapの使い方を画像や動画でご紹介(導入編)

  <目次> (1) Celonis Snapの使い方を画像や動画でご紹介(導入編)  (1-1) STEP1:アカウント作成(仮登録→本登録→ログイン)  (1-2) STEP2:実際にデ …

OutlookからSlackにメールを転送する方法について

  <目次> (1) OutlookからSlackにメールを転送する方法について  (1-1) 方法1  (1-2) 方法2(Gmailの例)  (1-3) 方法3  (1-4) 方法4 ( …

USBブートのやり方(Windows 10)と起動しない時の確認項目について

  <目次> (1) USBブートのやり方(Windows 10)と起動しない時の確認項目について  (1-1) USBブートとは?  (1-2) USBブートのやり方(手順)  (1-3) …

  • English (United States)
  • 日本語
Top