Loading [MathJax]/extensions/tex2jax.js

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パッケージをインストールします。
(実行コマンド)
  1. > pip install kaggle --user
(図121)
(結果例)

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

目次にもどる

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

この状態でプログラムを実行しても下記のエラーとなります。
(エラーメッセージ)
  1. 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:サンプルプログラム(データセットダウンロード)

(サンプルプログラム)
  1. from kaggle.api.kaggle_api_extended import KaggleApi
  2. import zipfile
  3.  
  4. api = KaggleApi()
  5. api.authenticate()
  6.  
  7. output_path = './kaggle_download_dataset/'
  8.  
  9. # kaggle.com/c/dogs-vs-catsからダウンロード
  10. # train.zip / test1.zipの2つのファイルがある
  11. # './'はカレントディレクトリの意味。
  12. api.competition_download_file('sentiment-analysis-on-movie-reviews',
  13. 'train.tsv.zip', path=output_path)
  14. api.competition_download_file('sentiment-analysis-on-movie-reviews',
  15. 'test.tsv.zip', path=output_path)
  16.  
  17. # zipファイルの解凍
  18. with zipfile.ZipFile(output_path+'train.tsv.zip', 'r') as zipref:
  19. zipref.extractall(output_path)
  20. with zipfile.ZipFile(output_path+'test.tsv.zip', 'r') as zipref:
  21. zipref.extractall(output_path)
・①プログラムを実行します。
(図131)

(結果例)

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

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

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

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

●エラー

(エラーメッセージ)
  1. 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

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

関連記事

Windows10でアイコンの間隔が広くなる不具合の対処

  <目次> (1) Windows10でアイコンの間隔が広くなる不具合の対処  (1-1) 発生状況・エラーメッセージ等  (1-2) 原因・対処 (1) Windows10でアイコンの間 …

Celonisの研修の概要・受講方法・学習支援コンテンツについて

  <目次> (1) Celonisの研修の概要・受講方法・学習支援コンテンツについて  (1-1) Celonisの研修概要  (1-2) Celonisの研修の分類について  (1-3) …

hostsファイルとは?書き換えや反映の手順をご紹介(Windows編)

<目次> (1) hostsファイルとは?書き換えや反映の手順をご紹介(Windows編)  (1-1) hostsファイルとは?  (1-2) hostsファイルの主な用途  (1-3) hosts …

Anaplanのトレーニングの受講方法について

  <目次> (1) Anaplanのトレーニングの受講方法について  (1-1) 受講方法の概要  (1-2) Anaplan Communityの登録手順  (1-3) Anaplanの …

Azure App ServiceにVisual Studioからデプロイを行う方法

  <目次> (1) Azure App ServiceにVisual Studioからデプロイを行う方法  (1-0) STEP0:前提条件  (1-1) STEP1:Visual Stu …

  • English (United States)
  • 日本語
S