【データセット】Fashion MNIST データセットについて

Fashin MNISTはMNISTっていう数字のデータセットを靴とか衣服とかにしたデータセットです。
なので、MNISTと同様に0〜9までのクラスがあるデータセットです。

基本的には参考文献のtensorflowのチュートリアルのソースコードを参考にしています。

githubにもあげてあります。

データセットを見てみる

では、tensorflowから簡単にデータを取得できるので取得してみます。

from tensorflow.keras import datasets
import matplotlib.pyplot as plt

(x_train, y_train), (x_test, y_test) = datasets.fashion_mnist.load_data()

取得したデータ形式を見てみます。

print("x_train shape:",x_train.shape)
print("y_train shape:",y_train.shape)
print("---------------------------------")
print("x_test shape:",x_test.shape)
print("y_test shape:",y_test.shape)

# 以下出力
# x_train shape: (60000, 28, 28)
# y_train shape: (60000,)
# ---------------------------------
# x_test shape: (10000, 28, 28)
# y_test shape: (10000,)

訓練データは60000枚の28x28の画像に対して、各々ラベル(0〜9)が与えられているデータになっています。
テストデータも同様です。

各クラスは衣服や靴を表しています。確認してみます。

class_names = ['T-shirt/top', 'Trouser', 'Pullover', 'Dress', 'Coat', 
               'Sandal', 'Shirt', 'Sneaker', 'Bag', 'Ankle boot']
labels = np.arange(len(class_names))
for label,class_name in zip(labels,class_names):
    print(label,":",class_name)

以下が出力になります。0はTシャツ、4はコートを表していることわかります。

0 : T-shirt/top
1 : Trouser
2 : Pullover
3 : Dress
4 : Coat
5 : Sandal
6 : Shirt
7 : Sneaker
8 : Bag
9 : Ankle boot

画像を見てみます。

plt.figure(figsize=(10,10))
for i in range(25):
    plt.subplot(5,5,i+1)
    plt.xticks([])
    plt.yticks([])
    plt.grid(False)
    plt.imshow(x_train[i], cmap=plt.cm.binary)
    plt.xlabel(class_names[y_train[i]])
plt.show()

参考文献

タイトルとURLをコピーしました