下載kaggle資料集的小妙招

語言: CN / TW / HK

kaggle是很多資料分析和機器學習初學者非常喜愛的資料科學競賽平臺。
這個平臺上有很多接近現實業務場景的資料集,非常適合練手。
今天向大家推薦一個下載kaggle資料集的小工具——kaggleAPI 配置好之後,可以寫個指令碼,以後下載資料就方便多了。

安裝

pip install kaggle 安裝完畢之後執行 kaggle compeitions list 然後就會報錯,提示沒有kaggle.json檔案,不用理他。
這一步主要是讓其執行後生成配置資料夾,一般在C盤-使用者-使用者名稱下的.kaggle

配置

登入kaggle官網 右上角頭像處點選,選擇Account 進去之後滾動到最下面API處,選擇Create New API Token

然後就會自動下載一個kaggle.json檔案,另存到第一步那個.kaggle資料夾

下載資料集

再執行以下 kaggle compeitions list 可以看到近期的一些競賽,重點關注以下獎金😃

除了list,kaggle competitions 還有一些其他用法,不展開講了。 kaggle competitions {list, files, download, submit, submissions, leaderboard}

大家最關心的資料集下載 kaggle datasets{list,files,download,create,version,init,metadata,status} 比較常用的是:list(可用資料集列表)、files(資料檔案)、download(下載) kaggle datasets list 用法 usage: kaggle datasets list [-h] [--sort-by SORT_BY] [--size SIZE] [--file-type FILE_TYPE] [--license LICENSE_NAME] [--tags TaG_IDS] [-s SEARCH] [-m] [--user USER] [-p PAGE] [-v] 這個裡面還有2個常用的引數: -s 搜尋,後面可以加關鍵詞;-p 展示多少行,預設是20

kaggle datasets download 用法 usage: kaggle datasets download [-h] [-f FILE_NAME] [-p PATH] [-w] [--unzip] [-o] [-q][dataset]

更真實的用法

如果單純在cmd執行個下載指令就大材小用了,我們還可以用kaggleAPI寫shell指令碼完成更復雜的用法,比如:

```

!/bin/sh

DATASET="noxmoon/chinese-official-daily-news-since-2016" ARCHIVE_FILE="chinese-official-daily-news-since-2016.zip" DATA_FILE="chinese_news.csv" DATA_DIR="data" COL_NAME="headline" LINES=3000 OUTPUT_FILE="headlines.txt"

if [ -d ${DATA_DIR} ]; then echo ${DATA_DIR}' exists, please remove it before running the script' exit 1 fi

echo "Creating dir" mkdir -p ${DATA_DIR} cd ${DATA_DIR} kaggle datasets download -d ${DATASET} unzip ${ARCHIVE_FILE}

echo "Deleting original dataset archive" rm -f ${ARCHIVE_FILE}

echo "Extracting, cutting, shuffling data" awk -v col=$COL_NAME -F "\",\"" '{print $COL_NAME}' $DATA_FILE | shuf -n 3000 > ${OUTPUT_FILE}

``` 下載-解壓一氣呵成!

參考

https://github.com/Kaggle/kaggle-api