PythonでのMNISTデータセットの基本的なインポートとプロット
MNISTデータセットのチュートリアルへようこそ。このチュートリアルでは、MNISTデータセットとは何か、Pythonでのインポート方法、そしてmatplotlibを使用してのプロット方法を学びます。
MNISTデータセットとは何ですか?
MNISTセットは、手書き数字の大きなコレクションです。画像処理の分野で非常に人気のあるデータセットです。機械学習アルゴリズムのベンチマークテストによく使用されています。
MNISTは、Modified National Institute of Standards and Technology databaseの略です。
MNISTには0から9までの手書き数字を含む、70,000枚の28 x 28ピクセルの画像のコレクションがあります。
データセットはすでにトレーニングセットとテストセットに分割されています。このチュートリアルの後で説明します。
MNISTの詳細については、Wikipediaのページを参照してください。私たちはKerasからデータセットをインポートします。
Pythonのノートブックにデータセットを読み込むことから始めましょう。
KerasからMNISTを読み込む。
最初に、KerasモジュールからMNISTデータセットをインポートする必要があります。
以下のコードを使用することで、それを行うことができます。
from keras.datasets import mnist
今度は、訓練セットとテストセットを別々の変数に読み込みます。
(train_X, train_y), (test_X, test_y) = mnist.load_data()
訓練セットとテストセットには、いくつの画像が含まれているのかを調べましょう。つまり、このデータセットの分割比率を見つけることを試みましょう。
学習・テストデータにデータを分割する方法については、このチュートリアルを参照して、分割比率について詳しく学んでください。
分割率を見つけるために、すべてのベクトルの形状を印刷します。
print('X_train: ' + str(train_X.shape))
print('Y_train: ' + str(train_y.shape))
print('X_test: ' + str(test_X.shape))
print('Y_test: ' + str(test_y.shape))
出力:
X_train: (60000, 28, 28)
Y_train: (60000,)
X_test: (10000, 28, 28)
Y_test: (10000,)
トレーニングセットには6万枚の画像があり、テストセットには1万枚の画像があることがわかります。
私たちのトレーニングベクトルの次元は(60000、28、28)です。これは、28×28の次元を持つ60,000枚のグレースケール画像があるためです。
MNISTデータセットをロードするための完全なコード
このセクションから全てのコードを次に示します。
from keras.datasets import mnist
#loading the dataset
(train_X, train_y), (test_X, test_y) = mnist.load_data()
#printing the shapes of the vectors
print('X_train: ' + str(train_X.shape))
print('Y_train: ' + str(train_y.shape))
print('X_test: ' + str(test_X.shape))
print('Y_test: ' + str(test_y.shape))
このデータセットのプロットの方法を学びましょう。
Matplotlibを使用して、MNISTデータセットのプロットを行う。
自分が作業しているデータセットをプロットするのは常に良いアイデアです。それによって、扱っているデータの種類について良い感覚を得ることができます。
責任あるデータサイエンティストとして、データセットをプロットすることは常に最初のステップとする責務があります。
データセットをプロットするために、以下のコードを使用してください。 (Dētasetto o purotto suru tame ni, ika no kōdo o shiyō shite kudasai.)
from matplotlib import pyplot
for i in range(9):
pyplot.subplot(330 + 1 + i)
pyplot.imshow(train_X[i], cmap=pyplot.get_cmap('gray'))
pyplot.show()
出力:
私たちのデータはこんな感じです! (Watashitachi no dēta wa konna kanji desu!)
これらの画像と同じものが70,000枚あると想像してください。それがデータセットの中に含まれているものです。そのボリュームがデータセットの人気の1つの理由です。
筆記体認識の問題はどんなに些細なものでも、今では時代遅れです。MNSITデータセットのより挑戦的なバージョンが必要とされ、それが代替となる役割を果たすようになりました。
MNISTデータセットのより難しいバージョンは存在しますか? (MNIST データセットのより難しいバージョンはありますか?)
はい、あります。Fashion MNIST データセットがあります。
ファッションMNISTデータセット
Fashion MNISTデータセットは、古いMNISTデータセットのより難しい代替品です。
このデータセットには、靴、Tシャツ、ドレスなどの10種類の服の、28×28ピクセルのグレースケール画像が70,000枚含まれています。
ファッションMNISTデータセットのインポートとプロットの方法を学ぶには、このチュートリアルを読んでください。
結論
このチュートリアルでは、PythonでMNISTデータセットをインポートしてプロットする方法について説明しました。また、このデータセットのより難しい代替であるFashion MNISTセットについても議論しました。一緒に学んで楽しんでいただけたと思います!