Linear Regression
학습 목표
관측 범위를 벗어난 예측과 이상값이 회귀식에 미치는 영향을 확인합니다.
직선 모델과 오차
시작 조건
, 입니다. 모델은 y_hat=w*x+b입니다.
진행 방법
- w=2,인 예측·잔차·MSE를 구하세요.
np.linalg.lstsq로 구한 w,b와 기준 모델을 같은 표에서 비교하세요.
남길 결과
- 예측·산점도 그림과 모델 비교 표.
import numpy as np
import matplotlib.pyplot as plt
x=np.arange(6.);y=np.array([1,3.2,4.8,7.1,8.9,11.2]);X=np.c_[x,np.ones_like(x)]
coef=np.linalg.lstsq(X,y,rcond=None)[0]
print(coef)
결과 기록·자가 점검
모델:
w:
b:
MSE:
예측:
확인할 점
- 잔차 y_hat-y의 부호 규약을 고정했는가?
한 표본의 영향
시작 조건
마지막 y를 18로 바꾼 자료를 만들고 계수·MSE· 예측의 변화를 비교합니다.
진행 방법
x는 유지하고 마지막y만 18로 바꾼 복사본을 만드세요. 원래 자료와 변경 자료 각각에np.linalg.lstsq를 적용하세요.- 두 모델의 , 각자가 학습한 자료에서의 MSE, 의 예측을 두 행으로 적으세요. 원래 점·변경한 점·두 예측 직선도 같은 축에 표시하세요.
- 한 표본의 변경이 계수와 새 입력의 예측에 어떻게 반영되었는지 표와 그림을 근거로 설명하세요.
남길 결과
- 두 적합 직선과 계수·MSE·새 입력 예측의 비교 표.
y2=y.copy();y2[-1]=18
결과 기록·자가 점검
학습 자료:
w·b:
MSE:
x=6 예측:
확인할 점
- 바꾼 표본을 제외한 자료와 적합 방법을 유지했는가?
다른 입력에서도 확인하기
시작 조건
에서의 예측을 그리고 관측 범위 안의 예측과 구분합니다.
진행 방법
- 앞에서 학습한 두 모델에 을 대입해 예측값을 계산하세요. 두 모델의 예측을 같은 표에 적으세요.
- 기존 관측 구간과 새 세 입력이 보이는 범위에 예측 직선을 그리고, 관측점과 새 예측점을 다른 기호로 표시하세요. 새 입력의 정답 대신 예측값과 관측 구간 포함 여부를 기록합니다.
- 관측 구간 밖으로 갈수록 두 모델의 예측 차이가 어떻게 바뀌는지 설명하세요.
남길 결과
- 새 세 입력의 예측 표와 관측 구간을 구분한 예측 그림.
# 앞 활동의 데이터와 함수를 사용해 지정된 새 예제를 검사하세요.
결과 기록·자가 점검
새 입력 x:
원래 자료의 모델 예측:
변경 자료의 모델 예측:
관측 범위 포함 여부·두 예측의 차이:
확인할 점
- 정답이 없는 새 입력의 예측을 실제 오차로 해석하지 않았는가?