機械学習-文字認識 (試験データの中身)
sklearnでの機械学習の文字認識に使用した画像を表示させてみます。この画像の1つのサイズは8×8の64個の配列からなっており、直接データをprint表示した場合、64個の配列データで表示されます。
文字認識自体のプログラムについては以下の記事を確認してください
ソースコード(print表示)
1 2 3 4 5 6 |
# 準備作業 from sklearn import datasets data = datasets.load_digits() #各種データの確認 print(data.data) |
1 2 3 4 5 6 7 |
[[ 0. 0. 5. ..., 0. 0. 0.] [ 0. 0. 0. ..., 10. 0. 0.] [ 0. 0. 0. ..., 16. 9. 0.] ..., [ 0. 0. 1. ..., 6. 0. 0.] [ 0. 0. 2. ..., 12. 0. 0.] [ 0. 0. 10. ..., 12. 1. 0.]] |
ソースコード(画像変換表示 先頭から30個分)
全てのデータを表示すると多くなってしまうので先頭から30個分を表示します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
# 準備作業 from sklearn import datasets import matplotlib.pyplot as plt digits = datasets.load_digits() # 正解の表示 print(data.target[0:30]) # 画像の表示 images = digits.images labels = digits.target for i in range(30): plt.subplot(3, 10, i + 1) plt.imshow(images[i], cmap=plt.cm.gray_r, interpolation="nearest") plt.axis("off") plt.show() |
1 |
print(data.target[0:30]) |
1 |
[0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9] |
ラベルにある正解値を表示します。先頭から30個分表示されており、0~9の繰り返しの数字になっていることが分かります。
1 2 3 4 5 6 7 8 |
# 画像の表示 images = digits.images labels = digits.target for i in range(30): plt.subplot(3, 10, i + 1) plt.imshow(images[i], cmap=plt.cm.gray_r, interpolation="nearest") plt.axis("off") plt.show() |
先頭から30個分の画像を表示させてみました。0~9の繰り返しの画像になっていることが分かります。