機械学習に挑戦する② scikit-learn
R5.2月からPythonの勉強をしているプログラミング初心者です。
勉強した内容を備忘メモ程度にアウトプットしていきます。
参考書籍はこちら。
(さすがに全てまるまる写してしまうとまずいので部分的に抽出していきます。)
前回はライブラリscikit-learnに入っている1番目の数値化されたデータとそのデータに紐づけられている答えを見ていきました。
今回はその数字のデータを画像化してみましょう。
数値化されたデータを画像化する
前回は数値化されたデータを出力しましたが今回はそのデータを画像化してみましょう。「matplotlib(マットプロットリブ)」というライブラリを使用します。
では前回数値で表示したデータを画像として表示させるプログラムを入力していきましょう。
import sklearn.datasets
import matplotlib.pyplot as plt
digits = sklearn.datasets.load_digits()
plt.imshow(digits.images[0], cmap="Greys")
plt.show()
プログラムを実行すると、
画像が表示されました。
これはどう見ても「0」ですね。
モザイク画像みたいになっていますが8×8のデータを画像化したのでこのようになっています。人工知能はこのようなモザイク画像を見て数字を学習していきます。
一行ごとの解説
では一行ごとどのような命令が行われているか見ていきましょう。
「import sklearn.datasets」
「import matplotlib.pyplot as plt」
この二つはライブラリをインポートしていますね。前回も使った「scikit-learn」と今回数値データを画像化するための「matplotlib」ですね。
「digits = sklearn.datasets.load_digits()」
これは前回も出てきました。「scikit-learn」の中に入っているデータを読み込む命令を変数digitsに代入しています。
「plt.imshow(digits.images[0], cmap="Greys")」
「matplotlib(ライブラリ)」の「imshow」というメソッドを使います。すみません、調べたら関数ではなくメソッドというらしいです。関数とメソッドは使い方や呼び出し方が明確に違いがあるそうです。色々読んでていてもなんとなくしかわかりませんでしたが…。「imshow」はデータを画像で表示してくれる命令です。()の中に画像化したいデータを指定します。今回はscikit-learnの1番目[0]のデータを指定し、cmapでGreysの色を指定しています。ほかの色も選べるみたいですね。
「plt.show()」
これは画像化したものを表示させる命令ですね。
一言メモ
画像の色を「cmap」のところで変えられるので試しに春らしく「spring」という色で表示させてみました。
それがこちら。
これは見づらい。笑
目がチカチカしますね。
まとめ
今回は前回数値データ化したものを画像化させてみました。前回も書きましたがこのようなデータがscikit-learnには1797個入っているそうです。全部表示させたらすごいことになりそうですね。今回はデータを一つだけ表示させましたがfor文を使えばデータの個数を指定して何個も表示できるようです。このブログでは割愛しますが、気になる方は是非書籍を読んでみてください。
次回はいよいよ自分で書いた数字を人工知能に読み込ませて正しい答えが返ってくるか試してみます!