Python機械学習ライブラリScikit-learn その44:手書き数字のデータセットを使って、自分で作った手書きの数字を予想してみる〜準備編〜

目次

機械学習ライブラリScikit-learn

前回、機械学習ライブラリScikit-learnで手書き数字のデータセットをLinearSVCモデルを使って機械学習を試してみました。

その結果、かなり良い精度で予想してくれるという結果が得られました。

となると試してみたくなるのが、自分で書いた数字をちゃんと分類してくれるのかということ。

そこで今回から自分で準備した手書き数字をこの機械学習で予想させてみようと思います。

今回はその準備編。

必要なライブラリの確認と画像の準備の方法に関して解説していきます。

使用するライブラリPILの確認

今回、画像を読み込んだり、処理したりするのにPIL(Python Image Library)というライブラリを使います。

そこでこのライブラリがAnacondaにインストールされているか確認しましょう。

ということでAnaconda-Navigatorを起動。

左の「Environments」をクリック。

真ん中上の「installed」というタブを「All」に変更。

検索窓に「PIL」と入れてEnter。

すると「Pillow」というライブラリが出てきます。

緑色の背景で白色のチェックが入っていたら、インストールされています。

チェックがなければ、チェックを入れて右下に出てくる「Apply」をクリックするとインストールのウインドウが出てきますので、そこからインストールしてください。

これで使用するライブラリ「PIL」の確認は完了です。

使用する画像の準備

次に使用する画像の準備をしていきます。

私のコンピュータはMacなので、残念ながらWindowsにあるペイントはありません。

ただペイントソフトをインストールする(そしてそれも解説する)のはなかなか骨が折れます。

ということでMacに最初からインストールされているソフトを使って、画像を準備していきます。

Windowsの方は素直にペイントを使って準備してください。

流れとしてはまずは何も書かれていない白い背景の図を取得し、サイズを調整、数字を書き込んでいくとなります。

まずはKeynoteを開きます。

左下の「新規書類」をクリック。

白い背景が欲しいので、「ベーシックホワイト」を選択し、右下の「作成」をクリック。

タイトルとか枠とか出てきますが、これを全部削除します。

白い背景の場所ができたら、「Shift + command + 4」を押して白色の背景のところを適当なサイズ(500 x 500 ピクセル以上)で画像として保存します。

Macでの画像や動画の保存方法はこちらの記事で解説していますので、良かったらどうぞ。

保存した画像をダブルクリックするとプレビューで開きます。

まずはサイズの調整をしていきます。

上のメニューの「ツール」をクリックし、「サイズを調整」をクリックします。

「縦横比を固定」のチェックを外します。

幅と高さをそれぞれ500ピクセルにし、右下の「OK」をクリックします。

これで幅500ピクセル、高さ500ピクセルの白の画像が得られました。

この画像を保存するにはメニューの「ファイル」から「保存」をクリックし、適当な場所に保存してください。

ちなみに私はこの白色の元ファイルを残しておきたいので、「white.png」として保存しました。

保存が終わったら、一旦閉じて、保存した画像をダブルクリックして開いてみましょう。

ここで一つ注意。

この画像に書き込んでしまうと、この画像ファイル自体に書き込まれてしまうので、これから数字を書き込む用にファイルをコピーしておいた方がいいです。

私はせっかくなので0から9全ての数字を試してみたいので、別に元の画像とは別に10個用意しました。

書き込む用のファイルをプレビューで開いたら、メニューの「表示」から「マークアップツールバーを表示」をクリック。

すると画像の上部に色々な操作のボタンが現れます。

まずは右から3番目の枠のマークをクリックし、黒色をクリックします。

このボタンは枠線の色の指定です。

次に左から4番目のペンのマークをクリックします。

ドラッグすると線が描けるので、これで数字を書いて保存を繰り返します。

自分で画像を用意するのはめんどくさいよという人のために私が用意した画像をこちらに保存しておきますので、ダウンロードと使用はご自由にどうぞ。

あとはファイルの階層はこんな感じで、anacondaのファイルと同じフォルダに「numbers」のフォルダを保存してください。

これで準備は完了です。

次回はプログラミングに戻って、機械学習から自分のデータを予想させるということをしていきましょう。

ということで今回はこんな感じで。

よかったらシェアしてね!

コメント

コメントする

目次
閉じる