Logistic Regression
학습 목표
놓침과 오경보 중 무엇을 줄일지는 확률을 얻은 뒤 Threshold로 결정합니다.
Logit·확률·판정
시작 조건
, 입니다.
진행 방법
- Sigmoid로 확률을 구하고 Threshold=.5의 판정을 기록하세요.
- Threshold=.3,.5,.7에서 TP·FP·FN·TN과 Accuracy를 비교하세요.
남길 결과
- 확률·판정 표와 Threshold별 Confusion Matrix.
import numpy as np
import matplotlib.pyplot as plt
logit=np.array([-2,-.5,0,.5,2]);y=np.array([0,0,1,1,1]);p=1/(1+np.exp(-logit))
print(p,p>=.5)
결과 기록·자가 점검
Threshold:
TP:
FP:
FN:
TN:
Accuracy:
확인할 점
- 확률과 최종 Label을 같은 값이라고 쓰지 않았는가?
틀리는 종류 선택
시작 조건
미탐지(FN)를 더 줄여야 하는 센서 경보 상황을 가정하고 세 Threshold 중 하나를 선택합니다.
진행 방법
- 앞 활동의 Threshold 별 TP·FP·FN·TN·Accuracy 표를 재사용하세요. 같은 Logit과 Label을 사용합니다.
- FN이 가장 적은 Threshold 후보를 찾으세요. 동률인 후보가 있으면 FP도 비교한 뒤 사용할 값 하나를 선택하고, 선택 근거가 된 FN·FP를 함께 적으세요.
- 선택한 값과 Threshold 0.5의 판정을 표본별로 대조해, 어떤 표본의 경보가 달라졌는지 설명하세요.
남길 결과
- 선택한 Threshold와 FN·FP에 근거한 선택 이유.
thresholds=[.3,.5,.7]
결과 기록·자가 점검
Threshold:
FN:
FP:
선택한 값과 근거:
확인할 점
- 동률 후보가 있으면 선택 근거를 남겼는가?
다른 입력에서도 확인하기
시작 조건
Class 1 비율이 10%인 가상 Label 100개에서 항상 0을 내는 모델을 비교합니다.
진행 방법
- Class 1이 10개, Class 0이 90개인 Label 배열과 모두 0인 예측 배열을 만드세요.
- 실행 전에 TP·FP·FN·TN과 Accuracy를 계산하고, 코드로 같은 값을 구해 대조하세요. Class 1 중 놓친 표본 수를 함께 기록하세요.
- Accuracy가 높게 나와도 미탐지를 줄인 모델이라고 할 수 있는지, 기록한 FN으로 설명하세요.
남길 결과
- 예상·실제 Confusion 개수와 Accuracy·미탐지 수의 해석.
# 앞 활동의 데이터와 함수를 사용해 지정된 새 예제를 검사하세요.
결과 기록·자가 점검
실행 전 TP·FP·FN·TN:
실제 TP·FP·FN·TN:
Accuracy:
놓친 Class 1 수·해석:
확인할 점
- 전체 Accuracy와 Class 1의 미탐지 수를 구분했는가?