MNIST(エムニスト)とは?
MNIST(エムニスト)は、手書き数字のデータセットの1つで、機械学習の分野でよく用いられます。
- このデータセットには
- 0から9までの数字が書かれた28x28ピクセルの画像が
- 学習用の60,000枚とテスト用の10,000枚の合計70,000枚含まれている
- 0から9までの数字が書かれた28x28ピクセルの画像が
MNISTは、機械学習の分野で、手書き数字を認識するためのアルゴリズムやニューラルネットワークの性能を評価するために、広く用いられているデータセットの1つです。
MNISTのデータセットは、機械学習の分野において初心者から上級者まで幅広く用いられており、様々な機械学習の手法やアルゴリズムを用いて、手書き数字の認識精度を競うことができます。
MNISTのデータセットは無料で手に入るの?
MNISTのデータセットは無料で手に入ります。
多くの機械学習フレームワークやライブラリ、ツールに組み込まれており、簡単にダウンロードして使用することができます。
例えば、Pythonの機械学習ライブラリであるscikit-learnやTensorFlow、PyTorch、Kerasなどが含まれます。
また、オンライン上でも利用できるデータセットの一つであり、多くの場合、公式ウェブサイトからダウンロードすることができます。
では次の項目で、実際にMNISTデータセットを取得して表示してみましょう。
MNISTデータセットの手書き数字を表示するサンプルコード
以下は、Pythonのmatplotlib
ライブラリを使用して、MNISTデータセットの最初の25個の手書き数字を表示するサンプルコードです。
import matplotlib.pyplot as plt
from sklearn.datasets import fetch_openml
# MNISTデータセットをダウンロード
mnist = fetch_openml('mnist_784', version=1)
# 最初の25個の手書き数字を表示
fig, ax = plt.subplots(5, 5, figsize=(10, 10))
for i, axi in enumerate(ax.flat):
axi.imshow(mnist.data.to_numpy()[i % len(mnist.data)].reshape(28, 28), cmap='gray_r')
axi.set(xticks=[], yticks=[])
コードの実行結果をキャプチャしたものがこれです。
手軽に試せるので、ぜひ jupyter Notebook にコードを貼り付けて実行してみてください。
「ただ表示するだけじゃ、あまり意味がないかもしれない・・・」そう思っていませんか?
でもそんなことはありません。
機械学習に関するスライドの資料が掲載されたページがあったので、ペラペラと見ていたら、MNISTとか、sklearn とか、見覚えのあるキーワードが並んでいてなんとなく理解できそうな気がしました。
千里の道も一歩からですね。
しかしこれ以降は、手軽に試せるサンプルコードを提供できないようですので、この辺で説明を終えたいと思います。