AIは文字や顔を認識します。pythonをもちいた基本プログラムを勉強したいと思います。今日は、手書きの文字を認識するpythonのプログラムの説明です。
資料はこちら → 機械学習4
p.1 1文字を表すのに、縦横8ピクセル、合計64ピクセル(=8×8)の情報があり、これを文字の特徴量とします。左図は、濃淡を0~15として、手書きの「0」の情報を64ピクセルで示しています。データは右のようにピクセルの左上から右方向に並んでいます。
p.2 このプログラムは、scikit-learnのライブラリにある「datasets」を読み込んで、変数Xとyに格納します。1797個の文字データがあります。1文字64ピクセルのデータ1797個が変数Xに、0~9の文字のターゲットデータ1797個が変数yに格納されます。 14、15、19及び20行目のprint文により、実行結果が表示されます。 28行目のprint文により、0~9のサンプル数が幾つあるかを実行結果として表示されます。
p.3 読み込んだ「datasets」の手書きデータを14行目でイメージに変換します。その後、パッケージ「matplotlib」にある「pyplot」というモジュールで図形を描いていきます。「pyplot」を4行目で「plt」と略していますので、以下「plt.〇〇」というコードがたくさん出てきます。〇〇のところにコンポーネントが入って、塗り潰したり、タイトルをつけたりしてくれます。「figure」というコンポーネントは階層構造の最上位にいて、ここでは図を描く台紙を用意すると意味になります。
p.4 「matplotlib」については、奥が深くてまだ理解できていないのですが、次のWebsiteに描かれていた図(左図)が分かり易いので載せておきます。
- containersという箱の中にprimitivesが入っている
- containersの中は、階層構造
というイメージを覚えておいてください。
参考にしたWebsiteはこちら → https://qiita.com/skotaro/items/08dc0b8c5704c94eafb9
matplotlibのガイドはこちら → https://matplotlib.org/stable/tutorials/introductory/usage.html