今回は機械学習の勉強でよく目にするデータセットである「mnist」について中身を調べた話になります。
この記事でわかること
ここでは以下を中心に書かれています。
- MNISTとは何かざっくりとわかる。
- MNISTの中身(構成)がどうなっているのかがわかる。
MNISTとは
0から9まで手書きで書かれた画像データであり、画像とラベル(その画像が何の数字か)のセットでデータが格納されている。
機械学習では、画像を入力することでその数字が何なのかを分類する課題を行うときに使われる。
mnistの呼び出し
今回はpythonで中身を確認しました。
以下のようにデータが格納されています。
- 「xtrain」と書かれている部分に6万個の28*28画素の画像データ
- 「ytrain」と書かれている部分に6万個のラベルデータ
- 「xtest」と書かれている部分に1万個の28*28画素の画像データ
- 「ytest」と書かれている部分に1万個のラベルデータ
画像データの中身を見てみると、以下のように0~255の実数値が格納されており、グレースケール画像の輝度値が入っていることが確認できます。
続いてラベルデータの中身を見てみると、以下のようにどの数字なのかその数字が入れられています。
mnistの構成
mnistの訓練データは6万データあるので、「0」〜「9」の10種類がそれぞれ6000個あると思いきや、実際に調べるとこのようになっています。
1が一番多く6742データもあり、逆に5は5421個しかデータが入っていません。
綺麗に表にまとめるといかになります。
ラベルデータ | データセット数 |
[0] | 5923 |
[1] | 6742 |
[2] | 5958 |
[3] | 6131 |
[4] | 5842 |
[5] | 5421 |
[6] | 5918 |
[7] | 6265 |
[8] | 5851 |
[9] | 5949 |
まとめ
今回はmnistの中身について見ていきました。
ただ使うのではなく、どんな構成でデータが作られているのかを知ることも大事だと思いました。
次は、fmnistについて見ていこうかと思います。