2025.04.14 본_캠프 38일차

민동·2025년 4월 14일
1

본캠프

목록 보기
37/74

[실무에 쓰는 머신러닝 기초] 챕터 1-3: 회귀(Regression)

머신러닝의 대표적인 지도학습 중 하나인 회귀 분석(Regression) 은 연속적인 숫자 값을 예측하는 데 사용됩니다.


1. 선형 회귀 (Linear Regression)

개념 요약

  • 입력 변수 X와 출력 Y 사이가 직선(linear) 관계라고 가정
  • 회귀식: Y = β₀ + β₁X + ... + βₙXₙ

사용 예시

  • 공부 시간 → 시험 점수 예측
  • 마케팅 비용 → 매출 예측

구현 코드 요약

from sklearn.linear_model import LinearRegression
model = LinearRegression()
model.fit(X_train, y_train)
y_pred = model.predict(X_test)

평가 지표

  • MSE (Mean Squared Error): 오차 제곱의 평균, 낮을수록 좋음
  • R² Score: 1에 가까울수록 설명력이 좋음

2. 다항 회귀 (Polynomial Regression)

개념 요약

  • 선형 회귀로 설명이 어려운 곡선 형태의 데이터를 표현
  • X², X³ 등 고차항을 추가하여 비선형성을 모델링

구현 코드 요약

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)

주의할 점

  • 차수가 높아질수록 과적합 위험이 증가
  • 적절한 degree 선택이 중요

3. 회귀 모델 평가 지표

지표의미특징
MSE평균 제곱 오차큰 오차에 민감
MAE평균 절대 오차직관적, 이상치에 덜 민감
RMSE제곱근 평균 제곱 오차MSE에 루트 적용
결정 계수모델의 설명력 (1에 가까울수록 좋음)

4. 규제 회귀 (Ridge & Lasso)

개념

  • 과적합 방지를 위해 회귀계수(가중치)를 규제
  • 모델이 너무 훈련 데이터에만 맞춰지는 걸 방지

Ridge (릿지 회귀)

  • L2 규제: 가중치의 제곱합을 페널티로 부여
  • 모든 변수의 계수를 부드럽게 감소시킴
from sklearn.linear_model import Ridge
model = Ridge(alpha=1.0)

Lasso (라쏘 회귀)

  • L1 규제: 가중치의 절댓값 합을 페널티로 부여
  • 일부 변수의 계수를 0으로 만듦 → 변수 선택 효과
from sklearn.linear_model import Lasso
model = Lasso(alpha=0.1)

🧾 최종 정리

회귀 유형특징주의사항
선형 회귀가장 기본, 직선 관계비선형에 약함
다항 회귀곡선 모델링 가능과적합 주의
Ridge모든 변수 사용, 가중치 축소해석은 쉬우나 변수 선택 불가
Lasso변수 선택 가능일부 정보 손실 가능

모델 선택 Tip

  • 설명력 해석이 중요하다면 선형회귀
  • 변수 선택이 필요하다면 Lasso
  • 과적합이 걱정된다면 Ridge
profile
아자아자

0개의 댓글