みなさま、こんばんわ🌜
今日の大阪は台風7号が直撃していて、外は暴風雨になっています🌀😅💦
1 | Python 3年生 機械学習 4日目 |
---|

本日は『Python 3年生 機械学習のしくみ』という本の4日目の学習日でした。
本日は「4章 機械学習のいろいろなアルゴリズム」から学習をスタートさせました。
機械学習には様々な「アルゴリズム」があります。
「アルゴリズム」とは、予測や分類を賢くしている便利なものです。
2 | 回帰:線形回帰 |
---|
機械学習のアルゴリズムには
- 回帰:どんな数値になるのかを予測したいときに使う
- 分類:これは何なのかを予測したいとき使う
などの種類があります。
線形回帰とは、予測したい状況(説明変数X)を数値で入力すると、予測結果(目的変数y)を数値で出力するアルゴリズムです。
直線でつないだものを 線形回帰(linear regression)、直線でない線でつないだものを 非線形回帰(non-linear regression)と言います。
線形回帰では主に 最小二乗法 という方法が使われます。
⭐最小二乗法とは
引いた線と実データとの誤差が1番少なくなるような線を求めます。
引いた線と実データの誤差をそのまま計算してしまうと、正しく求めることができません。
そこで差を二乗してその合計を求めます。
値を最小になるようにすることで、誤差の少ない線を求めることから「最小二乗法」と言います。
参考 | 森巧尚(2021)『Python3年生 機械学習のしくみ 体験してわかる! 会話でまなべる! 』翔泳社 |
---|

データを作り、線形回帰のモデルに、訓練データを使って学習させました。
正解率をテストし(正解率 84.983%)散布図上に予測の線を引いて、確認してみました。
よさそうな線が引けましたね😊️
3 | 分類:ロジスティック回帰 |
---|
ロジスティック回帰とは、「YESかNOか、といった2種類(場合によっては3種類以上)の分類を回帰で予測する」アルゴリズムです。
用意したデータをシグモイド関数でグラフ化してみました。
グラフの形がいかにも、ロジスティックス回帰みたいですね😃
4 | SVM(サポートベクターマシン) |
---|
次に、SVM(サポートベクターマシン)のアルゴリズムを使って、学習を進めました。
SVM(サポートベクターマシン)は、なるべく公平な境界線を引いて、分類を予測するアルゴリズムです。

境界線の複雑さ(gamma)を変えて、分類の状態を描画してみました。

「kernel="rbf"」というコードの意味がわからなかったので、ChatGPT に聞いてみました。
ChatGPT の説明を読んで、何となくふんわりとわかったような気がしました😅
プログラミングは1日にしてならず、ですよね😅
5 | 分類:決定木 |
---|
次のアルゴリズムは「決定木」です。
「決定木」とは、2択の質問で分岐を行いそれを繰り返して、どのように分類していくのかが、人間にわかりやすいアルゴリズムです。

plot_tree命令を使って、ツリー構造を描画してみました。
基本情報技術者試験に出てくる「二分選択木」っぽいですね。
6 | 基本情報技術者試験の成果 |
---|
基本情報技術者試験の時にアルゴリズムを勉強したことが、今とても役に立っています😊️
プログラミングの勉強をはじめても、7~8割の人は途中で詰まって挫折してしまいます。
挫折率の高さを知った私は、少しでも挫折の確率を下げるために、先に「基本情報技術者」の試験勉強をしました。
基本情報技術者試験は、コンピュータの構造や動き方、アルゴリズムの知識を問う基礎的な試験です。
先に基本情報技術者試験の勉強をしたことで、今、プログラミングで詰まらずに学習を進められていると思います。
今日はここまで❗
最後までお読みいただき、ありがとうございました😄
また来てね~😄👋