Linear Regression (선형 회귀)
데이터를 가장 잘 설명해내는 직선을 찾아내는 것.
데이터가 분포되어 있는 공간에서 데이터를 가장 잘 표현하는 선을 긋는 것.
가장 적합간 기울기(가중치, 계수)와 y절편(편향)을 찾아내는 것.
특성(feature, x)의 개수 1개 | 특성(feature, x)의 개수 2개 이상 | |
출력 y의 값 1개 | 단변량 단순 선형 회귀 | 단변량 다중 선형 회귀 |
출력 y의 값 2개 | - | 다변량 다중 선형 회귀 |
기본적으로 출력되는 y의 값이 1개이며 여러 개의 특성을 사용하는
단변량 다중 선형 회귀를 알아본다.
다중 선형 회귀
ŷ : 예측값
x : 독립변수, 특성으로 부르지만 여기선 특성(feature)으로 통일한다.
w : 기울기 또는 계수(coefficient) 또는 가중치. 여기선 가중치(weight)로 통일한다.
b : y절편 또는 편향. 여기선 편향(offset)으로 통일한다.
위 식에서 특성은 총 n+1개이므로 가중치도 n+1개가 필요하다.
주어진 여러 개의 샘플들의 n+1개의 특성들과 라벨값(y) 사이의 관계를 잘 설명해내는
적합한 가중치들 (w0, w1, ..., wn)과 편향(b)를 찾아내야 한다.
그렇다면 어떻게 가중치와 편향을 찾아낼 수 있을까?
이때 이용하는 것이 바로 MSE다.
MSE
실제 라벨 값 y와 예측 값 ŷ의 차이인 잔차를 제곱하여 평균을 구한다.
간단한 예시를 보면
위 상황에서 MSE의 값은 0.4가 되는 것이다.
데이터 불러오기
https://steadiness-193.tistory.com/269
위 포스팅에서 전처리 완료한 데이터를 이용한다.
학습 및 예측
평가
r²은 일반적인 선형 회귀의 평가 척도로써,
1에 가까울 수록 회귀 모델이 데이터를 잘 표현한다고 해석할 수 있다.
MAE는 잔차의 제곱 대신 절댓값을 씌운 것이다.
RMSE는 MSE에 루트를 씌운 것이다.
모델의 학습이 잘 되고 예측을 잘 할수록 r²은 1에 가깝게,
MSE, MAE, RMSE는 0에 가까운 값을 가진다.
https://steadiness-193.tistory.com/277
회귀 모델의 가중치, 편향 찾기
Linear Regression 모델의 coef_ 속성과 intercept_ 속성을 이용해 가중치와 편향을 찾을 수 있다.
변수가 25개이므로 가중치도 25개가 나오며, 편향은 y절편이므로 1개의 값만 출력된다.
다중 선형 회귀 모델은 주어진 데이터를 충실히 학습하다보니 종종 과적합(overfitting)된다.
따라서, 새로 주어진 데이터를 예측할 때 성능이 떨어질 때가 많다.
이를 보완하기 위해서 나온 모델이 Lasso와 Ridge다.
다음 포스팅에서 더 자세히 알아보자.
참조
https://blueskyvision.tistory.com/193
zetawiki.com/wiki/%ED%8F%89%EA%B7%A0%EC%A0%9C%EA%B3%B1%EC%98%A4%EC%B0%A8_MSE
'Machine Learning > 회귀(Regression)' 카테고리의 다른 글
Regression - Ridge (L2) (0) | 2020.09.14 |
---|---|
Regression - Lasso (L1) (0) | 2020.09.14 |
Regression - 다중공선성 문제 (0) | 2020.09.14 |
Regression - FIFA 이적료 예측 : 전처리 (0) | 2020.09.14 |
Regression - Regularization : L1 규제(Lasso), L2 규제(Ridge) (0) | 2020.09.09 |