みなさま、こんばんわ🌜

今日の大阪は南から台風が接近しています🌀😅💦

 
1 Python 3年生 機械学習 3日目

本日は『Python 3年生 機械学習のしくみ』という本の3日目の学習日でした。

 

本日は「3章 機械学習の手順を理解しよう」から学習をスタートさせました。

2 機械学習の手順

機械学習の手順は以下のようになっています👇👇👇

機械学習の手順

  1. データを用意する
  2. データを学習用とテスト用に分ける
  3. モデルを選んで、学習する
  4. モデルをテストする
  5. 新しい値を渡して、予測する
参考 森巧尚(2021)『Python3年生 機械学習のしくみ 体験してわかる! 会話でまなべる! 』翔泳社

実際は、14 の手順を繰り返し行って調整し、だんだんと使える人工知能になるそうです。

3 ① データを用意する

まず、データを作り、視覚的に確認するために散布図で描画してみました。

 

「塊数を2」に設定しているので、青と赤の2種類のデータができています。

4 ② データを学習用とテスト用に分ける

作成したデータを、「学習用(75%)」と「テスト用(25%)」に分けてみました。

 

データを「学習用」と「テスト用」に分けるのは、「学習用」だけでモデルに学習させ、後から「テスト用」できちんと学習できているかをテストするためです。

 

テストの点が悪かったら、学習方法を変えたり、問題を見直したりして学習し直していくことで、良い学習モデルが作られていきます。

5 ③ モデルを選んで、学習する

本に沿って、人生で初めて「モデル」を作ってみました。

 

モデルは機械学習の本体そのものです。

 

外部ライブラリのおかげで、たった2行で簡単にモデルが作れちゃいました❗

 

今回は SVM(サポートベクターマシン)を使ってみました。

 

SVM(サポートベクターマシン)は、画像認識や音声認識といったパターン識別でよく使われている、人気のアルゴリズムです。

6 ④ モデルをテストする

「テスト用」データを使って、作ったモデルをテストしてみると 正解率96.0%

 

たった2行で作った「人生初モデル」の正解率が96%❗

 

いいですね~~~😄

7 ⑤ 新しい値を渡して、予測する

[1, 3]、[1, 2]という架空のデータをモデルに渡して、分類を予測させてみました。

 

散布図の のところは、[1, 3]、[1, 2] の予測位置です。

 

「青になりそうな場所の点は青」で、「赤になりそうな場所の点は赤」になっているので、ちゃんと予測できていることが目で確認できますね😃

8 分類の状態を可視化する

機械学習の結果をわかりやすくするために、「学習した分類の状態」を可視化してみました。

 

データをどのように分類できているかを見るために、グラフ上のすべての点の分類を色分けで塗りつぶして、総当たりで調べてみました。

 

Google Colaboratory で警告が出たので、ChatGPT にお伺いを立てました。

 

ChatGPT はいつものように、すぐに正しいコードを教えてくれました。

 

でも、まだまだ書経段階の私は、ChatGPT のコードの意味がわかりません😅

 

よくわからないまま ChatGPT の通りにコードを書き直すと、Google Colaboratory で警告は表示されなくなりました。

 

いつかコードの意味がわかって、自分でも修正できるようになれるといいんですけど…😅

8 plot_boundary関数に渡して予測データを作る

plot_boundary 関数を使って、分類の状態を描く関数を作ってみました。

 

上の関数を使うと、たった1行で様々なデータセットが描画できました。

 

plot_boundary 関数はめっちゃ便利ですね😊️

 

今日はここまで❗

 

最後までお読みいただき、ありがとうございました😄

また来てね~😄👋