みなさま、こんばんわ🌜
今日の大阪は南から台風が接近しています🌀😅💦
1 | Python 3年生 機械学習 3日目 |
---|

本日は『Python 3年生 機械学習のしくみ』という本の3日目の学習日でした。
本日は「3章 機械学習の手順を理解しよう」から学習をスタートさせました。
2 | 機械学習の手順 |
---|
機械学習の手順は以下のようになっています👇👇👇
⭐機械学習の手順
- データを用意する
- データを学習用とテスト用に分ける
- モデルを選んで、学習する
- モデルをテストする
- 新しい値を渡して、予測する
参考 | 森巧尚(2021)『Python3年生 機械学習のしくみ 体験してわかる! 会話でまなべる! 』翔泳社 |
---|
実際は、1 ~ 4 の手順を繰り返し行って調整し、だんだんと使える人工知能になるそうです。
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 関数はめっちゃ便利ですね😊️
今日はここまで❗
最後までお読みいただき、ありがとうございました😄
また来てね~😄👋