AIB Section2. n211 단순선형회귀(02/22)

Seo_Gury·2022년 2월 22일

AIB 12기

목록 보기
5/16
post-thumbnail

단순선형회귀

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)
회고
너무 게으른 거 아닐까? 
항상 해야한다고는 생각하는데 행동으로 옮기기 쉽지않다. 
블로그 글을 한 달만에 올리는 것부터 문제이다. 
매일매일 쓰기로 했는데 안쓴다.
한심하다. 
그래도 오늘부터라도 다시 시작해보자!
profile
미래의 데이터 분석가~@

0개의 댓글