AI/MachineLearning

선형회귀 - 단순 회귀 / 다중 회귀

oaho 2023. 2. 23. 00:11
반응형

 

Linear Regresssion

 회귀의 원래 의미는 옛날 상태로 돌아가는 것을 의미한다.

영국의 유전학자 프랜시스 골턴은 부모의 키와 아이들의 키 사이의 연관 관계를 연구하면서 부모와 자녀의 키사이에는 선형적인 관계가 있고 키가 커지거나 작아지는 것보다는 전체 키 평균으로 돌아가려는 경향이 있다는 가설을 세웠으며 이를 분석하는 방법을 "회귀 분석"이라고 하였다.

이러한 경험적 연구 이후, 칼 피어슨은 아버지와 아들의 키를 조사한 결과를 바탕으로 함수 관계를 도출하여 회귀분석 이론을 수학적으로 정립하였다.   - 위키백과

 

Regression to the mean!

 

 

단순 회귀(Simple Regression)

: x값 하나만으로 y값을 설명할 수 있는 경우

 

회귀식 :

 

=> 반복 학습을 통해서 최선의 가중치(w1)편향(w0)을 찾음

 

* 편향: 모델의 결과가 얼마나 한쪽으로 쏠려 있는지를 나타내는 것, 

학습된 모델이 학습 데이터에 대해 만들어 낸 예측값과 실제값과의 차이

 

 

 

🌟 선형회귀의 핵심 : 예측값과 실제값을 최소화하는 w값을 찾는 것이다.

 

 

 

입력:

model.coef_
model.intercept_

결과:

[3.91650672]
-15.8047436

 => 회귀식: y = -15.81 + 3.92x

 

 

 

다중 회귀(Multiple Regression)

: y 값을 설명하기 위해서는 여러개의 x값이 필요한 경우

 

회귀식:

 

입력:

# 회귀계수 확인
print( list(x_train[features]) )
print( model.coef )
print( model.intercept )

 

출력:

['Temp', 'Wind', 'Solar.R']
[ 1.5232  -3.5698  0.0675]
-53.37347

-> 회귀식 : y = -53.87 + 1.52 * Temp -3.57 * Wind + 0.07 * Solar.R

 

 

 

 

< 회귀모델 성능평가 >

 

머신러닝 - LinearRegression(MAE, MSE, RMSE, MAPE, R2 - Score)

회귀모델 성능 평가 1) x, y 분리 target 변수 명확히 지정 target을 제외한 변수를 x 데이터프레임으로 선언 y 데이터프레임은 target변수만을 가짐 target = 'Ozone' x = data.drop(target, axis=1) y = data.loc[:, target

oaho.tistory.com

 

반응형