νκ· μκ³ λ¦¬μ¦μ λΆλ₯μμλ μ¬μ©λλ€. λΆλ₯μ μλ―Έλ μ ν΄μ Έ μλ λ²μ£Όλ€ μ€ νλλ‘ μμΈ‘νλ κ²μ΄λ€. μ΄λ₯Ό μΉ΄λκ±°λ μ΄μ μ 무, μ€νΈλ©μΌμ¬λΆ, κ³ κ° μ΄ν μ¬λΆ, λ°±νλ³ μ¬λΆ λ± λΆλ₯νλ λ¬Έμ μ νμ©ν μ μλ€.
λ‘μ§μ€ν± νκ·λ μνμ΄ νΉμ ν΄λμ€μ μν νλ₯ μ μΆμ νλλ° λ리 μ¬μ©λλ€. μΆμ νλ₯ μ΄ 50%κ° λμΌλ©΄ κ·Έ μνμ΄ ν΄λΉ ν΄λμ€μ μνλ€κ³ μκΈ°ν μ μλ€. ν΄λμ€μ μνλ€λ κ²μ, λ μ΄λΈμ΄ 1μΈ μμ±ν΄λμ€(positive class), ν΄λμ€μ μνμ§ μλ κ²μ λ μ΄λΈμ΄ 0μΈ μμ± ν΄λμ€(negative class0λΌκ³ νλ€. μ΄λ₯Ό μ΄μ§ λΆλ₯κΈ°λΌ νλ€.
νν λ‘μ§μ€ν± νκ·λ μ’
μλ³μκ° μ΄νν λ¬Έμ (μ¦, μ ν¨ν λ²μ£Όμ κ°μκ° λκ°μΈ κ²½μ°)λ₯Ό μ§μΉν λ μ¬μ©λλ€. μ΄μΈμ, λ κ° μ΄μμ λ²μ£Όλ₯Ό κ°μ§λ λ¬Έμ κ° λμμΈ κ²½μ°μ λ€ν λ‘μ§μ€ν± νκ· (multinomial logistic regression) λλ λΆν λ‘μ§μ€ν± νκ· (polytomous logistic regression)λΌκ³ νκ³ λ³΅μμ λ²μ£Όμ΄λ©΄μ μμκ° μ‘΄μ¬νλ©΄ μμ λ‘μ§μ€ν± νκ· (ordinal logistic regression) λΌκ³ νλ€. μ¦ λ‘μ§μ€ν± νκ·λ μ΄νν λλ λ€ννμ΄ λ μ μλ€. μ΄νν λ‘μ§μ€ν± νκ·(binomial logistic regression)μ κ²½μ° μ’
μ λ³μμ κ²°κ³Όκ° (μ±κ³΅, μ€ν¨) μ κ°μ΄ 2κ°μ μΉ΄ν
κ³ λ¦¬κ° μ‘΄μ¬νλ κ²μ μλ―Ένλ©° λ€νν λ‘μ§μ€ν± νκ·λ μ’
μν λ³μκ° (λ§μ, νλ¦Ό, λΉ)μ κ°μ΄ 2κ° μ΄μμ μΉ΄ν
κ³ λ¦¬λ‘ λΆλ₯λλ κ²μ κ°λ¦¬ν¨λ€. μ΄νν λ‘μ§μ€ν±μ νκ· λΆμμμ 2κ°μ μΉ΄ν
κ³ λ¦¬λ 0κ³Ό 1λ‘ λνλ΄μ΄μ§κ³ κ°κ°μ μΉ΄ν
κ³ λ¦¬λ‘ λΆλ₯λ νλ₯ μ ν©μ 1μ΄ λλ€.
<μλ μ리>
μ ννκ·μ λΉμ·νκ² κ°μ€μΉ ν©μ κ³μ°νκ³ νΈν₯μ λνλ€. κ·Έλ¬λ μ’ μ λ³μμ λ 립 λ³μ μ¬μ΄μ κ΄κ³μ μμ΄μ μ ν λͺ¨λΈκ³Ό μ°¨μ΄μ μ μ§λκ³ μλ€. 첫 λ²μ§Έ μ°¨μ΄μ μ μ΄ννμΈ λ°μ΄ν°μ μ μ©νμμ λ μ’ μ λ³μ yμ κ²°κ³Όκ° λ²μ[0,1]λ‘ μ νλλ€λ κ²μ΄κ³ λ λ²μ§Έ μ°¨μ΄μ μ μ’ μ λ³μκ° μ΄μ§μ μ΄κΈ° λλ¬Έμ μ‘°κ±΄λΆ νλ₯ (P(yβx))μ λΆν¬κ° μ κ·λΆν¬ λμ μ΄ν λΆν¬λ₯Ό λ°λ₯Έλ€λ μ μ΄λ€.
λ‘μ§μ€ν± ν¨μλ μ 0κ³Ό 1μ¬μ΄λ₯Ό μΆλ ₯νλ μκ·Έλͺ¨μ΄λ ν¨μμ΄λ€. μ¦, λ‘μ§μ€ν± ν¨μλ μκ·Έλͺ¨μ΄λ ν¨μλΌκ³ λ νλ€.
λ‘μ§μ€ν± ν¨μλ π₯κ°μΌλ‘ μ΄λ€ κ°μ΄λ λ°μ μκ° μμ§λ§ μΆλ ₯ κ²°κ³Όλ νμ 0μμ 1μ¬μ΄ κ°μ΄ λλ€. μ¦, νλ₯ λ°λν¨μ(probability density function) μ건μ μΆ©μ‘±μν€λ ν¨μμΈ κ²μ΄λ€. Sμ ννμ λ¨μ μ¦κ° νΉμ λ¨μ κ°μ κ·Έλνμ΄λ€.
μ μμμ xλ μ ν νκ· ννλ‘ λ€μκ³Ό κ°λ€
odds(μΉμ°)μ μ΄λ¬ν xμ ν΄μμ μ©μ΄νκ² νλ€λ κ°λ μμ λ±μ₯νλ€. μΉμ°μ μμμ μ¬κ±΄ π΄κ° λ°μνμ§ μμ νλ₯ λλΉ μΌμ΄λ νλ₯ μ λΉμ¨λ‘, pκ° μ±κ³΅νλ₯ μ΄λΌλ©΄ μ€ν¨ λλΉ μ±κ³΅νλ₯ μ λΉμ¨μ΄λ€. λ€μ μ μ²λΌ ννν μ μλ€.
pμ λ‘μ§μ€ν± ν¨μλ₯Ό λ£μΌλ©΄ oddλ κ²°κ΅ λ²μ£Ό 0(μμ±ν΄λμ€)μ μν νλ₯ λλΉ λ²μ£Ό 1(μμ±ν΄λμ€)μ μν νλ₯ μ΄ λλ€.
oddsμ logλ₯Ό μ·¨νλ©΄
λ¨μν μ νκ²°ν© ννλ‘ λ³νκ² λλ€ . μ΄λ₯Ό λ‘μ§ λ³νμ΄λΌκ³ νλ€.
μ¬μ΄ν·λ°μμ ꡬνν΄λ΄ μλ€
μ λͺ ν iris λ°μ΄ν°μμ κ½μμ λλΉλ‘ Iris-Versicolorμ κ°μ§νλ μ΄μ§ λΆλ₯κΈ°λ₯Ό λ§λ€μ΄λ³Ό κ²μ λλ€.
μ¬μ΄ν·λ°μ logisticRegressionμ ν΄λμ€ λ μ΄λΈμ λ°ννλ predict()μ ν΄λμ€μ μν νλ₯ μ λ°ννλ predict_proba()κ° μμ΅λλ€.
from sklearn import datasets
iris=datasets.load_iris()
#κ½μμ λλΉλ‘ Iris-Versicolorμ κ°μ§νλ μ΄μ§ λΆλ₯κΈ°λ₯Ό λ§λ€μ΄λ³΄μ
import numpy as np
X=iris['data'][:,3:]#κ½μμ λλΉλ§
y=(iris['target']==2).astype(np.int32) #Iris-Versicolorλ©΄ 1, μλλ©΄ 0
from sklearn.linear_model import LogisticRegression
lr = LogisticRegression()
lr.fit(X,y)
import matplotlib.pyplot as plt
newX=np.linspace(0,3,1000).reshape(-1,1)
yProba = lr.predict_proba(newX)
plt.plot(newX,yProba[:,1],"g",label="Iris-Versicolor")
plt.plot(newX,yProba[:,0],"b--",label="NOT Iris-Versicolor")
μ΄λ‘μ λΌμΈμ 보면 μ°λ¦¬κ° μ°Ύλ Iris-Versicolor νμ’ μ κ½μ λλΉλ 1,4~2.5cmμ λΆν¬ν©λλ€. λ°λ©΄ λ€λ₯Έ νμ’ μ μΌλ°μ μΌλ‘ κ½μμ λλΉκ° λ μμ 0.1~1.8cmμ λΆν¬ν©λλ€. κ½μμ λλΉκ° 2cmμ΄μμ΄λ©΄ Iris-Versicolor ν΄λμ€μ λν λμ νλ₯ μ μΆλ ₯ν©λλ€. μ΄ λ κ·Ήλ¨μμλ κ²ΉμΉλ λΆλΆμ΄ μμ΄ λΆλ₯κ° νμ€νμ§ μμ§λ§, μ΄μ¨λ λΆλ₯νλ €κ³ νλ©΄(predict_proba()κ° μλ predict()λ₯Ό μ¬λ£ν΄μ) κ°μ₯ κ°λ₯μ±μ΄ ν° ν΄λμ€λ₯Ό λ°νν κ²μ λλ€. κ·Έλ κΈ°μ μμͺ½ νλ₯ μ΄ λκ°μ΄ 50%κ° λλ 1.6cmκ·Όλ°©μμ κ²°μ κ²½κ³κ° λ§λ€μ΄μ§ κ²μ λλ€.
code:
https://colab.research.google.com/drive/15vQxtl97V3lCS1fyOIzT7pTILaEbKD41?usp=sharing
'λ¨Έμ λ¬λ' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
μ°¨μ μΆμ, PCA python μ¬μ΄ν·λ° (0) | 2022.12.05 |
---|---|
λ€μ€ λ‘μ§μ€ν± νκ· (μννΈλ§₯μ€ νκ·) (0) | 2022.12.05 |
[λ¨Έμ λ¬λ4] Logistic Regression λ‘μ§μ€ν± νκ· pyhton (0) | 2022.11.30 |
[λ¨Έμ λ¬λ3] Multiple Linear Regression λ€μ€μ ννκ· python (0) | 2022.11.30 |
[λ¨Έμ λ¬λ2] Polynomial Regression python (0) | 2022.11.30 |