머신 러닝의 지도 학습 중 회귀 분석은 연속적인 숫자를 예측하는 것을 목표로 합니다.
단순 선형 회귀는 독립 변수(x) 가 하나인 경우로, y=Wx+b 인 경우 y 예측을 목표로 하고,
다중 선형 회귀는 독립 변수 (x1, x2,...) 가 2개 이상으로, y=W1x1+W2x2+⋯+b 인 경우에 y 예측을 목표로 하고,
다항 회귀는 하나의 독립변수에 대해 다양한 차수에 따라 y를 예측하는 것을 목표로 합니다.
모델의 학습 과정은 손실 함수로서 평균 제곱의 오차 (MSE) 를 활용하는데, 예측값과 실제 값의 차의 제곱의 평균이 최소가 되도록 하는 것입니다.
일반적인 선형회귀에서는 최소 자승법(Ordinary least squares) 로 오차를 최소화할 수 있고,
경사하강법을 사용할 경우, 미분값이 0으로 수렴하는 지점을 찾아내려고 하게 됩니다.
1. 단순 선형 회귀
mean_squared_error (y_test, y_pred) 로 MSE 를 구할 수 있습니다.
2. 다중 선형 회귀
model.coef_ 로 회귀 계수를, model.intercept_ 로 절편을 구할 수 있습니다.
3. 다중선형 회귀 (경사하강법)
StandardScaler() 로 표준화 한 후, SGDRegressor 로 경사하강법을 통한 다중선형회귀를 수행할 수 있습니다.
4. 다항 회귀
PolynomialFeatures (degree= 차수) 를 적용하여 다항의 조합으로 이뤄진 X의 행렬을 생성하고, 선형 회귀를 수행하여 다항 회귀를 수행할 수 있습니다.
5. 규제를 활용하는 회귀
과적합을 방지하기 위해 회귀에 규제를 활용할 수 있습니다.
1) 릿지 (Ridge)
릿지 (L2)는 가중치의 제곱합을 손실함수에 추가하여, 모든 가중치를 작게 만듭니다.
2) 라쏘 (Lasso)
라쏘 (L1)는 가중치의 절댓값의 합을 손실함수에 추가하여, 중요하지 않은 변수를 완전히 제거합니다.
2) 엘라스틱넷
엘라스틱넷은 릿지, 라쏘의 장점을 결합한 모델입니다.
'데이터 사이언스 기초' 카테고리의 다른 글
데이터 스케일링 (머신 러닝) (1) | 2024.11.28 |
---|---|
분류 분석 (머신 러닝) (0) | 2024.11.27 |
분산분석 with 파이썬 (1) | 2024.11.15 |
t 검정 with 파이썬 (0) | 2024.11.15 |
웹 스크래핑의 기본 (0) | 2024.11.13 |