njs03332 / ml_study

3 stars 0 forks source link

2022/05/12~2022/05/18 #29

Open danbi5228 opened 2 years ago

danbi5228 commented 2 years ago

5/18 수 pm 10:30

유리: 4.6~4.6.1 선미: 4.6.2 단비: 4.6.3

danbi5228 commented 2 years ago

~- 호기롭게 먼저 하겠다고 한 것 치곤 내용이 별로 없어서 당황~

4.6.3 결정 경계 decision boundary

데이터 로드

from sklearn import datasets iris = datasets.load_iris() X = iris["data"][:, 3:] # 꽃잎의 너비 y = (iris["target"]==2).astype(int) # array. Iris-Virginica면 1, 그렇지 않으면 0

로지스틱 회귀모델 훈련

from sklearn.linear_model import LogisticRegression log_reg = LogisticRegression() log_reg.fit(X, y)

꽃잎의 너비가 0~3cm인 꽃에 대해 모델의 추정 확률 계산

X_new = np.linspace(0, 3, 1000).reshape(-1, 1) y_proba = log_reg.predict_proba(X_new) plt.plot(X_new, y_proba[:, 1], "g-", label="Iris virginica") plt.plot(X_new, y_proba[:, 0], "b--", label="Not Iris virginica")


![image](https://user-images.githubusercontent.com/26505830/168630358-21124e89-b40b-4ba1-baff-ab60c991a17a.png)
- 양쪽의 확률이 똑같이 50%가 되는 1.6cm 근방에서 결정 경계가 만들어짐
- 다른 선형 모델 처럼 로지스틱 회귀 모델도 l1, l2 페널티를 사용하여 규제할 수 있고, 사이킷런은 l2 페널티를 기본으로 함

![image](https://user-images.githubusercontent.com/26505830/168631019-42f2269a-218e-4f05-97bd-dd909d7d304a.png)
- 동일한 데이터셋을 가지고 꽃잎 너비와 꽃잎 길이 두 개의 특성을 기반으로 훈련
- 결정 경계: 검정색 점선 (&theta;<sub>0</sub> + &theta;<sub>1</sub>x<sub>1</sub> + &theta;<sub>2</sub>x<sub>2</sub> = 0 을 만족하는 x의 집합) - 50% 확률 추정 지점
- 나머지 선: 특정 확률 출력. 맨 아래 0.150 보라색 선 - 15% 확률 
njs03332 commented 2 years ago

4.6 로지스틱 회귀

givitallugot commented 2 years ago

4.6.2 훈련과 비용 함수

로지스틱 회귀의 훈련 방법