IoT, AI,機械学習 トピックス

豊富なモデルから選べる

投稿日:

今日は、機械学習に用いるモジュールであるscikit-learnの復習です。以前の「機械学習を始めます」も合わせてご覧ください。

資料をご覧ください → Jupyterその7

p.1 機械学習は、データを学習→一定のパターン抽出してモデル化→新たなデータによる予測という流れで進みます。このモデルを豊富にもっているのがpythonの利点です。 教師ありなしを図にしています。

p.2 ①scikit-learnをインストール後、②jupyterを起動して、③おなじみのirisデータをロードします。

p.3 変数=train_test_split(データ、教師データ、test_size=0.2)のスクリプトにより、データの2割を予測用8割を学習用に振り分けて変数に代入します。振り分けたデータをprint文で表示させています。

p.4 今度は、デジタルデータのデータセットをロードします。1797個のデータに各々8×8=64個の値があります。この8×80と1からなる画像データだと思ってください。

p.5 p.3のirisデータと同様に、データの2割を予測用、8割を学習用に振り分けて変数に代入します。今回は、K近傍法というモデルでフィットさせます。「 KNeighborsClassifier」をインポートして用います。このモデルを用いて予測した値予測用教師データの合致度を求めるのが「accuracy_score(test_Y,pred)」です。今回はscore=0.975の正解率でした。 行列の対角線が正解数を表しています。対角以外にある数字は、教師用予測値と異なったものです。

p.6 赤枠(K近傍法)の部分を、「単純パーセプトロン」「ロジスティック回帰」「SVC」「多層パーセプトロン」のモデルに置き換えるだけで、あとのスクリプトは同じです。

p.7 フィットさせるモデルを変えて、予測値と教師用予測値との合致性を調べた表を中央下に載せます。何れも90%以上の正解率ですが、SVCが99%と高い正解率を示しています。pythonは一部スクリプトを変更するだけなので、簡単ですね。いくつかのモデルを試して、フィットするモデルを選択することもできます。

今回用いたスクリプトは → jupyter7(スクリプト)

-IoT, AI,機械学習, トピックス

Copyright© 進化するガラクタ , 2024 All Rights Reserved Powered by STINGER.