🐘

【図解】kerasのサンプルデータセット7選まとめ

2022/08/29に公開

はじめに

keras に含まれている 7 つのデータセットについて紹介します。
それぞれのデータセットについて、データ数や種類についてまとめました。
機械学習をする際の参考にしてください。

keras とは?

keras とは、深層学習フレームワークの 1 つです。
keras を使用することで、数学的な難しい部分をゼロから開発することなく、比較的短いソースコードで人工知能を作ることができます。

keras は、Google の深層学習フレームワーク「tensorflow」をインストールすることで使えるようになります。tensorflow の中に keras が同梱されています。ここから使うのが一般的です。

インストール方法
pip install tensorflow

keras に含まれるデータセット 7 つ

keras には、サンプルのデータセットが 7 つ含まれています。
サンプルデータを使うことで、機械学習やディープラーニングを簡単に試すことができるのでとても便利です。

7 つのデータセットを 1 つずつ紹介していきます。
気になるデータセットからチェックしてみてくだい ↓

No. データセット 名前 回帰/分類 種類
01 ボストンの住宅価格 データセット boston_housing 回帰 数値
02 CIFAR10 画像 データセット cifar10 分類(多クラス) 画像(カラー)
03 CIFAR100 画像 データセット cifar100 分類(多クラス) 画像(カラー)
04 ファッション画像 データセット fashion_mnist 分類(多クラス) 画像(白黒)
05 映画レビュー感情 データセット imdb 分類(2 クラス) テキスト
06 手書き数値画像 データセット mnist 分類(多クラス) 画像(白黒)
07 ニューストピックス データセット reuters 分類(多クラス) テキスト


DeepLearning の基礎を本にまとめています。手に取って頂けるととても喜びます ↓
https://zenn.dev/nekoallergy/books/904df952389317


Created by NekoAllergy


01 ボストンの住宅価格データセット boston_housing

目的(できること)

このデータセットは、1970 年代後半におけるボストン近郊の住宅に関する数値です。
犯罪率や部屋の数などの情報から、部屋の家賃を予測しましょう!

情報まとめ

boston_housing の情報

手法

boston_housing
手法 回帰
データ種類 数値

データの数

boston_housing
訓練データ数 404
テストデータ数 102

変数の数

boston_housing
説明変数 13
目的変数 1

使い方

データセットの使い方
# ライブラリの読み込み
from tensorflow.keras.datasets import boston_housing
# データを取得
(x_train, y_train), (x_test, y_test) = boston_housing.load_data()
データの型とサイズを確認
データの型とサイズを確認
print("\n◆学習データ:")
print(f"x_train : {x_train.shape}, {type(x_train)}")
print(f"y_train : {y_train.shape}, {type(y_train)}")
print("\n◆テストデータ:")
print(f"x_test : {x_test.shape}, {type(x_test)}")
print(f"y_test : {y_test.shape}, {type(y_test)}")
結果

◆学習データ:
x_train : (404, 13), <class 'numpy.ndarray'>
y_train : (404,), <class 'numpy.ndarray'>

◆テストデータ:
x_test : (102, 13), <class 'numpy.ndarray'>
y_test : (102,), <class 'numpy.ndarray'>

参考 https://atmarkit.itmedia.co.jp/ait/articles/2006/24/news033.html


Created by NekoAllergy

02 CIFAR10 画像 データセット cifar10

目的(できること)

10 のクラスにラベル付けされた,60,000 枚の 32x32 物体カラー画像のデータセットです。10 クラスは、0:飛行機、1:自動車、2:鳥、3:猫、4:鹿、5:犬、6:カエル、7:馬、8:船、9:トラック です。
物体カラー写真の画像が 10 クラスのどれに当てはまるかを分類しましょう!

情報まとめ

cifar10 の情報

手法

cifar10
手法 分類
データ種類 画像

データの数

cifar10
訓練データ数 50,000
テストデータ数 10,000

変数の数

cifar10
説明変数 (32, 32, 3)
目的変数 1

使い方

データセットの使い方
# ライブラリの読み込み
from tensorflow.keras.datasets import cifar10
# データを取得
(x_train, y_train), (x_test, y_test) = cifar10.load_data()
データの型とサイズを確認
データの型とサイズを確認
print("\n◆学習データ:")
print(f"x_train : {x_train.shape}, {type(x_train)}")
print(f"y_train : {y_train.shape}, {type(y_train)}")
print("\n◆テストデータ:")
print(f"x_test : {x_test.shape}, {type(x_test)}")
print(f"y_test : {y_test.shape}, {type(y_test)}")
結果

◆学習データ:
x_train : (50000, 32, 32, 3), <class 'numpy.ndarray'>
y_train : (50000, 1), <class 'numpy.ndarray'>

◆テストデータ:
x_test : (10000, 32, 32, 3), <class 'numpy.ndarray'>
y_test : (10000, 1), <class 'numpy.ndarray'>

参考 https://atmarkit.itmedia.co.jp/ait/articles/2006/10/news021.html


Created by NekoAllergy

03 CIFAR100 画像 データセット cifar100

目的(できること)

先程の cifar10 のクラスが 100 クラスになった版です。

100 のクラスにラベル付けされた,60,000 枚の 32x32 物体カラー画像のデータセットです。100 クラスは、こちら から確認できます。
物体カラー写真の画像が 100 クラスのどれに当てはまるかを分類しましょう!

情報まとめ

cifar100 の情報

手法

cifar100
手法 分類
データ種類 画像

データの数

cifar100
訓練データ数 50,000
テストデータ数 10,000

変数の数

cifar100
説明変数 (32, 32, 3)
目的変数 1

使い方

データセットの使い方
# ライブラリの読み込み
from tensorflow.keras.datasets import cifar100
# データを取得
(x_train, y_train), (x_test, y_test) = cifar100.load_data()
データの型とサイズを確認
データの型とサイズを確認
print("\n◆学習データ:")
print(f"x_train : {x_train.shape}, {type(x_train)}")
print(f"y_train : {y_train.shape}, {type(y_train)}")
print("\n◆テストデータ:")
print(f"x_test : {x_test.shape}, {type(x_test)}")
print(f"y_test : {y_test.shape}, {type(y_test)}")
結果

◆学習データ:
x_train : (50000, 32, 32, 3), <class 'numpy.ndarray'>
y_train : (50000, 1), <class 'numpy.ndarray'>

◆テストデータ:
x_test : (10000, 32, 32, 3), <class 'numpy.ndarray'>
y_test : (10000, 1), <class 'numpy.ndarray'>

参考 https://atmarkit.itmedia.co.jp/ait/articles/2006/15/news036.html


Created by NekoAllergy

04 ファッション画像 データセット fashion_mnist

目的(できること)

このデータセットは、10 のクラスにラベル付けされた,28x28 のファッション画像を 60,000 枚まとめたものです。
10 クラスは、0 T シャツ/トップス, 1:ズボン, 2:プルオーバー, 3:ドレス, 4:コート, 5:サンダル, 6:シャツ, 7:スニーカー, 8:バッグ, 9:アンクルブーツです。

ファッション画像が10クラスのどれに当てはまるかを分類しましょう!

情報まとめ

fashion_mnist の情報

手法

fashion_mnist
手法 分類
データ種類 画像

データの数

fashion_mnist
訓練データ数 60,000
テストデータ数 10,000

変数の数

fashion_mnist
説明変数 (28, 28)
目的変数 1

使い方

データセットの使い方
# ライブラリの読み込み
from tensorflow.keras.datasets import fashion_mnist
# データを取得
(x_train, y_train), (x_test, y_test) = fashion_mnist.load_data()
データの型とサイズを確認
データの型とサイズを確認
print("\n◆学習データ:")
print(f"x_train : {x_train.shape}, {type(x_train)}")
print(f"y_train : {y_train.shape}, {type(y_train)}")
print("\n◆テストデータ:")
print(f"x_test : {x_test.shape}, {type(x_test)}")
print(f"y_test : {y_test.shape}, {type(y_test)}")
結果

◆学習データ:
x_train : (60000, 28, 28), <class 'numpy.ndarray'>
y_train : (60000,), <class 'numpy.ndarray'>

◆テストデータ:
x_test : (10000, 28, 28), <class 'numpy.ndarray'>
y_test : (10000,), <class 'numpy.ndarray'>

参考 https://atmarkit.itmedia.co.jp/ait/articles/2005/28/news016.html


Created by NekoAllergy

05 映画レビュー感情 データセット imdb

目的(できること)

このデータセットは、映画のレビューとそのレビューが肯定なのか否定なのかをまとめたものです。
レビューから感情(肯定/否定)を予測して分類しましょう!

情報まとめ

imdb の情報

手法

imdb
手法 分類
データ種類 テキスト(数値)

データの数

imdb
訓練データ数 25,000
テストデータ数 25,000

変数の数

imdb
説明変数 1(テキストは可変長)
目的変数 1 (肯定 or 否定)

使い方

データセットの使い方
# ライブラリの読み込み
from tensorflow.keras.datasets import imdb
# データを取得
(x_train, y_train), (x_test, y_test) = imdb.load_data()
データの型とサイズを確認
データの型とサイズを確認
print("\n◆学習データ:")
print(f"x_train : {x_train.shape}, {type(x_train)}")
print(f"y_train : {y_train.shape}, {type(y_train)}")
print("\n◆テストデータ:")
print(f"x_test : {x_test.shape}, {type(x_test)}")
print(f"y_test : {y_test.shape}, {type(y_test)}")
結果

◆学習データ:
x_train : (25000,), <class 'numpy.ndarray'>
y_train : (25000,), <class 'numpy.ndarray'>

◆テストデータ:
x_test : (25000,), <class 'numpy.ndarray'>
y_test : (25000,), <class 'numpy.ndarray'>

参考 https://qiita.com/hkambe/items/8c56ca8f0bbb4f895dee


Created by NekoAllergy

06 手書き数値画像 データセット mnist

目的(できること)

このデータセットは、10 のクラスにラベル付けされた,28x28 手書き数字画像を 60,000 枚まとめたものです。
10 クラスは、それぞれ 0 から 9 の数値に対応しています。

書かれている数値が、10クラスのどれに当てはまるかを分類しましょう!

情報まとめ

mnist の情報

手法

mnist
手法 分類
データ種類 画像

データの数

mnist
訓練データ数 60,000
テストデータ数 10,000

変数の数

mnist
説明変数 (28, 28)
目的変数 1

使い方

データセットの使い方
# ライブラリの読み込み
from tensorflow.keras.datasets import mnist
# データを取得
(x_train, y_train), (x_test, y_test) = mnist.load_data()
データの型とサイズを確認
データの型とサイズを確認
print("\n◆学習データ:")
print(f"x_train : {x_train.shape}, {type(x_train)}")
print(f"y_train : {y_train.shape}, {type(y_train)}")
print("\n◆テストデータ:")
print(f"x_test : {x_test.shape}, {type(x_test)}")
print(f"y_test : {y_test.shape}, {type(y_test)}")
結果

◆学習データ:
x_train : (60000, 28, 28), <class 'numpy.ndarray'>
y_train : (60000,), <class 'numpy.ndarray'>

◆テストデータ:
x_test : (10000, 28, 28), <class 'numpy.ndarray'>
y_test : (10000,), <class 'numpy.ndarray'>

参考 https://atmarkit.itmedia.co.jp/ait/articles/2001/22/news012.html


Created by NekoAllergy

07 ニューストピックス データセット reuters

目的(できること)

このデータセットは、46 のクラスにラベル付けされた,ニュース記事をまとめたものです。
書かれているニュースが、どのトピックについて述べられているのかを分類しましょう!

情報まとめ

reuters の情報

手法

reuters
手法 分類
データ種類 テキスト(数値へ変換済)

データの数

reuters
訓練データ数 8,982
テストデータ数 2,246

変数の数

reuters
説明変数 1 (テキストの長さは可変)
目的変数 1 (46 トピックのどれに当てはまるかを予測)

使い方

データセットの使い方
# ライブラリの読み込み
from tensorflow.keras.datasets import reuters
# データを取得
(x_train, y_train), (x_test, y_test) = reuters.load_data()
データの型とサイズを確認
データの型とサイズを確認
print("\n◆学習データ:")
print(f"x_train : {x_train.shape}, {type(x_train)}")
print(f"y_train : {y_train.shape}, {type(y_train)}")
print("\n◆テストデータ:")
print(f"x_test : {x_test.shape}, {type(x_test)}")
print(f"y_test : {y_test.shape}, {type(y_test)}")
結果

◆学習データ:
x_train : (8982,), <class 'numpy.ndarray'>
y_train : (8982,), <class 'numpy.ndarray'>

◆テストデータ:
x_test : (2246,), <class 'numpy.ndarray'>
y_test : (2246,), <class 'numpy.ndarray'>

参考 https://qiita.com/ftnext/items/236145fa41a5e464463e


Created by NekoAllergy

まとめ

No. データセット 名前 回帰/分類 種類
01 ボストンの住宅価格 データセット boston_housing 回帰 数値
02 CIFAR10 画像 データセット cifar10 分類(多クラス) 画像(カラー)
03 CIFAR100 画像 データセット cifar100 分類(多クラス) 画像(カラー)
04 ファッション画像 データセット fashion_mnist 分類(多クラス) 画像(白黒)
05 映画レビュー感情 データセット imdb 分類(2 クラス) テキスト
06 手書き数値画像 データセット mnist 分類(多クラス) 画像(白黒)
07 ニューストピックス データセット reuters 分類(多クラス) テキスト

間違いがあればご指摘いただけると助かります。
皆さんの理解が一歩でも進むと嬉しいです。

人工知能/AI/機械学習をもっと詳しく

https://zenn.dev/nekoallergy/books/904df952389317
ニューラルネットワークの基本を知りたいかたは、こちら ↑ の本も併せてご覧ください。


ねこアレルギーのAI

ねこアレルギーの AI
YouTube で機械学習について発信しています。お時間ある方は覗いていただけると喜びます。

参考文献

https://www.tensorflow.org/api_docs/python/tf/keras/datasets#modules
https://keras.io/ja/datasets/
https://atmarkit.itmedia.co.jp/ait/articles/2005/13/news017.html


Created by NekoAllergy

Discussion