これまでのデータの確認で 70,000 枚の画像データがあることがわかりました。これらをすべて学習のデータ (学習データ) として使ってしまうと、学習した結果の良さを確認するためのデータ (テストデータ) が残りません。そこで、以下の図のように 70,000 枚のデータを学習データとテストデータに分割します。
これを Python で実装すると以下のようになります。[0:60000, 0:784] は、データの0番目から59,999番目の合計60,000の画像において、784 の画素データすべてを選ぶ指定になります。すべて選ぶ場合、数値の指定を省略することが可能で、[0:60000] や [0:60000, :] といった指定も可能です。ラベル y は画像 X と違って、1データにつき1つの値しか持たないので [0:784] に当たる部分の指定はありません。
X_train = X[0:60000,0:784]
X_test = X[60000:70000,0:784]
y_train = y[0:60000]
y_test = y[60000:70000]
それぞれの変数の意味は以下のようになります。
shape をつかってX_train のサイズを調べてみましょう。