LogoMark.png

LogisticRegression の変更点


#author("2023-01-31T16:09:18+09:00;2023-01-31T15:49:34+09:00","default:inoue.ko","inoue.ko")
#author("2023-01-31T16:14:08+09:00","default:inoue.ko","inoue.ko")
*ロジスティック回帰
Logistic Regression
~

***概要(教師あり|分類)
ロジスティック回帰とは、線形回帰分析を分類問題に応用したアルゴリズムで、例えば、商品を購入するか否か、衝突するか否か、採用すべきか否かなどの2値分類を、0から1の範囲の確率を示す[[ロジスティック関数>GoogleImage:ロジスティック関数]]を用いて推測します。

2値分類(0:陰性 or 1:陽性)の場合、予測確率 0.5 をしきい値としてクラス分けを行います。確率0.2 であれば予測値は「 0」、確率が 0.85 であれば予測値は「1」と分類するわけです。ちなみに、確率がちょうど 0.5 となる境目の部分を「決定境界」といいます。

//学習では「ロジスティック損失」というものを誤差関数として、これが最小になるように学習させます。
~


***用語解説

(書きかけです)

~

***プログラム例
(準備中)
//以下に、3値分類の線形回帰のサンプルを掲載しています。
//ipynb(JupyterNotebook)形式で、GitHubに置いていますが、レンダリングがタイムアウトする場合は、下の nbviewer 経由でご覧下さい。
//-GitHub:[[LogisticRegression.ipynb>https://github.com/koichi-inoue/JupyterNotebook/blob/master/LogisticRegression.ipynb]]
//-nbviewer:[[LogisticRegression.ipynb>https://nbviewer.jupyter.org/github/koichi-inoue/JupyterNotebook/blob/master/LogisticRegression.ipynb]]

//-このプログラム例では、ガクの長さ(sepal length)、花弁の長さ(petal length)  のみ使用して、3品種の分類を行なっています。

-使用したライブラリ
--pandas:データ解析
--matplotlib:グラフ描画
--sklearn:ロジスティック回帰

-使用したモデル
scikit-learn、linear_model の [[LogisticRegressionモデル>https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html]]を使用
--fitメソッド:ロジスティック回帰モデルの重みを学習
--predictメソッド:説明変数の値からクラスを予測

-使用したデータ:iris(sklearn)

~
~

**APPENDIX
-ロジスティック方程式
#mathjax(\frac{dN}{dt}  = rN(1-\frac{N}{K}) )

-ロジスティック関数(ロジスティック方程式の解)
//σSUB{a};(t) = 1 / ( 1 + eSUP{-rt}; )
#mathjax(N = \frac{K}{1 + e^{-rK(t-t_0)}})

-標準ロジスティック関数
#mathjax(g(x) = \frac{1}{1 + e^{-x}})
-シグモイド関数(ロジスティック関数の一形態)
#mathjax(σ(x) = \frac{1}{1 + e^{-ax}} (a>0))

-シグモイド関数(ロジスティック関数の)
#mathjax(f(x) = \frac{1}{1 + e^{-ax}} (a>0))
-標準シグモイド関数(シグモイド関数におけるゲイン(a)が1のもの)
#mathjax(σ(x) = \frac{1}{1 + e^{-x}})


-参考:__[[LogisticCurve]]__


~
~