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

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

関連記事

Slackでコマンドを作る方法をご紹介(自作スラッシュコマンド)

  <目次> (1) Slackでコマンドを作る方法をご紹介(自作スラッシュコマンド)  (1-0) やりたいこと  (1-1) STEP1:Slackボットの開発(所要時間:60分)  ( …

ValgrindのIndirectly Lostの意味や実際のサンプルをご紹介

  <目次> (1) ValgrindのIndirectly Lostの意味や実際のサンプルをご紹介  (1-1) Valgrindの「Indirectly Lost」はどんな状況?  (1 …

CelonisとSlackを連携する方法(例と設定手順のご紹介)

  <目次> (1) CelonisとSlackを連携する方法(例と設定手順のご紹介)  (1-1) 連携の概要  (1-2) STEP1:Slackコネクションの設定  (1-3) STE …

プロセス構成図の書き方とサンプルのご紹介

  <目次> (1) プロセス構成図の書き方とサンプルのご紹介  (1-1) プロセス構成図の目的  (1-2) プロセス構成図の書き方  (1-3) プロセス構成図のサンプル (1) プロ …

システム開発における設計品質の分析の進め方(一例)について

  <目次> (1) システム開発における設計品質の分析の進め方(一例)について  (1-1) まえがき  (1-2) 前提事項  (1-3) 進め方  (1-4) 参考:分析の手法について …

  • English (United States)
  • 日本語
Top