단순선형회귀
1. 상관계수 분석
2. 기준모델
3. 모델 설정
4. 회귀계수 확인
5. 예측
1. 상관계수 분석
X,Y의 상관계수를 구한다.
타겟과의 상관계수가 높은 특성을 찾기 위함이다.
# 특성이 많지않을 때 사용한다.
np.corrcoef(X,Y)
# 데이터 전체적으로 사용이 가능하다.
df.corr()
#정리할 떄 용이
df.sort_values(by = '기준열', ascending = True(올림차순), False(내림차순))
2. 기준모델
기준모델을 설정한다.
기준모델을 설정해서 예측모델과 비교한다.(필수)
기준이 될 수 있는 것은 많지만 오늘 배운 것은 평균을 기준으로 하는 것이다.
#기준모델 값
predict = df['기준열'].mean()
#잔차
Error = predict - df['기준열']
#평균절대오차
Mean Absolute Error(MAE) = Error.abs().mean()
3. 모델설정
모델을 만들어 학습시킵니다.
from sklearn.linear_model import LinearRegression
#모형만들기
model = LinearRegression()
#타겟, 특성 정하기
feature = ['특성']
target = ['타겟']
X_train = df[feature]
y_train = df[target]
#학습
model.fit(X_train, y_train)
4. 회귀계수
회귀계수를 구해 독립변수 X가 Y에 얼마나 영향을 주는지 알아본다.
#절편
b0 = model.intercept_
#회귀계수
b1 = model.coef_
yhat = b0 + b1*X
5. 예측
학습된 모델을 가지고 Y를 예측한다.
#특성이 특정값일 때
X_test = [[특정값]]
#특정값에 대한 예측된 Y값
Y_predict = model.predict(X_test)
회고
너무 게으른 거 아닐까?
항상 해야한다고는 생각하는데 행동으로 옮기기 쉽지않다.
블로그 글을 한 달만에 올리는 것부터 문제이다.
매일매일 쓰기로 했는데 안쓴다.
한심하다.
그래도 오늘부터라도 다시 시작해보자!