機械学習(主にTensorFlow)

機械学習のメモ書き

UCIとかKaggleの学習データをロードしてみる

学習データのロード

有志が作成してくれている色々な学習データがあるので、それらをロードしてみる。

UCI Machine Learning RepositoryとかKaggleを試す。

実行環境は、Windows10でAnaconda Navigator。

UCI Machine Learning Repository

UCI Machine Learning Repository のデータをロードしてみる。

対象はアワビのやつ。

UCI Machine Learning Repository: Abalone Data Set

"Data Set Information"とか"Attribute Information"を見れば、どういったデータセットなのか、ファイルの形式がどうなっているのかが分かる。 学習データのファイル取得(ダウンロード)はKeras、ダウンロードした学習データの読み込みはPandasを使用。

import tensorflow as tf
import pandas as pd

dataset_url = "https://archive.ics.uci.edu/ml/machine-learning-databases/abalone/abalone.data"

# ファイルのダウンロード
dataset_path = tf.keras.utils.get_file('abalone.data', dataset_url)

print(dataset_path)

# 名前/データタイプ/測定単位/説明
# -----------------------------
# 性別/名目/-/ M、F、I(乳児)
# 長さ/連続/ mm /最長シェル測定
# 直径/連続/ mm /長さに対して垂直
# 高さ/連続/ mm /肉の殻付き
# 総重量/連続/グラム/アワビ全体
# 縮んだ重量/連続/グラム/肉の重量
# 内臓重量/連続/グラム/腸重量(出血後)
# シェル重量/連続/グラム/乾燥後
# Rings / integer /-/ +1.5は年齢を年数で示します

# このCSVファイルは1行目からデータになっているので、namesを指定
column_names = [
    'Gender',
    'Length',
    'Diameter',
    'Height',
    'Whole weight',
    'Shucked weight',
    'Viscera weight',
    'Shell weight',
    'Rings'
]

raw_data = pd.read_csv(dataset_path, names=column_names)

raw_data

データセットのダウンロード先dataset_pathは下記のような感じ。 ホームディレクトリの.keras/datasetsに格納されるみたい。

C:\Users\xxxxx\.keras\datasets\abalone.data

CSVのデータもうまく読み込みできたらしい。

f:id:sham-memo:20200913185148p:plain

Kaggle

https://github.com/Kaggle/kaggle-apiを使えば、Kaggle APIを経由してデータを取れそう。

kaggleコマンドをインストール。

pip install kaggle

APIにアクセスするためのアカウント情報としてkaggle.jsonが必要らしい。

Kaggleに登録しているアカウントがあるので、ログインしてアカウント情報のページからkaggle.jsonをダウンロードできた。

Windows環境では、ホームディレクトリの.kaggle/kaggle.jsonに配置すればOK。

f:id:sham-memo:20200922015204p:plain

kaggleコマンドで色々できるらしい。

データセット一覧を取得してみる。

kaggle datasets list

f:id:sham-memo:20200922015444p:plain

結構な件数が返ってきた。

kaggleにもアワビのデータセットがあるようなので、それを取ってみる。

データセット一覧をアワビのキーワードで絞り込む。

kaggle datasets list -s abalone

f:id:sham-memo:20200922022250p:plain

複数でてきたけど、とりあえず1件目で。

kaggle datasets download rodolfomendes/abalone-dataset

f:id:sham-memo:20200922022627p:plain

作業ディレクトリにzipファイルが落ちてきた。

import pandas as pd

file_path = 'abalone-dataset.zip'

raw_data = pd.read_csv(file_path)

raw_data

f:id:sham-memo:20200922025014p:plain

Kaggleのページを見てみたら、https://www.kaggle.com/rodolfomendes/abalone-datasetのデータセットみたい。

The original dataset can be acessed at https://archive.ics.uci.edu/ml/datasets/abalone.

上記の記載があったので、UCI Machine Learning Repositoryのデータセットと同じらしい。 CSVの1行目がヘッダになってるところが違うぐらい。