머신러닝의 대표적인 지도학습 중 하나인 회귀 분석(Regression) 은 연속적인 숫자 값을 예측하는 데 사용됩니다.
from sklearn.linear_model import LinearRegression
model = LinearRegression()
model.fit(X_train, y_train)
y_pred = model.predict(X_test)
from sklearn.preprocessing import PolynomialFeatures
from sklearn.pipeline import Pipeline
model = Pipeline([
("poly", PolynomialFeatures(degree=2)),
("lin_reg", LinearRegression())
])
model.fit(X_train, y_train)
지표 | 의미 | 특징 |
---|---|---|
MSE | 평균 제곱 오차 | 큰 오차에 민감 |
MAE | 평균 절대 오차 | 직관적, 이상치에 덜 민감 |
RMSE | 제곱근 평균 제곱 오차 | MSE에 루트 적용 |
R² | 결정 계수 | 모델의 설명력 (1에 가까울수록 좋음) |
from sklearn.linear_model import Ridge
model = Ridge(alpha=1.0)
from sklearn.linear_model import Lasso
model = Lasso(alpha=0.1)
회귀 유형 | 특징 | 주의사항 |
---|---|---|
선형 회귀 | 가장 기본, 직선 관계 | 비선형에 약함 |
다항 회귀 | 곡선 모델링 가능 | 과적합 주의 |
Ridge | 모든 변수 사용, 가중치 축소 | 해석은 쉬우나 변수 선택 불가 |
Lasso | 변수 선택 가능 | 일부 정보 손실 가능 |
모델 선택 Tip