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

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

関連記事

no image

Azure FunctionsのPythonローカル開発をVS Codeで行うためのセットアップ手順

  <目次> (1) Azure FunctionsのPythonローカル開発をVS Codeで行うためのセットアップ手順  (1-1) STEP1:Node.js(含むnmp)のインストー …

OpenAIのAPIを使ったSlackボットの作り方

  <目次> (1) OpenAIのAPIを使ったSlackボットの作り方  (1-1) やりたいこと  (1-2) 前提条件  (1-3) サンプルコード (1) OpenAIのAPIを使 …

Postmanの使い方を初めての方向けにご紹介

  <目次> (1) Postmanの使い方を初めての方向けにご紹介  (1-1) Postmanとは?  (1-2) PostmanのConnection画面(≒APIテスト機能)の見かた …

APIの難しい部分を吸収し、手軽に検証するためのツール(Postman)をご紹介

  <目次> (1) APIの難しい部分を吸収し、手軽に検証するためのツール(Postman)をご紹介  (1-1) Postmanの概要  (1-2) Postmanの導入手順  (1-3 …

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

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

  • English (United States)
  • 日本語
Top