[AI] 회귀분석

나장승현
|2024. 12. 28. 21:50

1. 개념

  • 입력변수(독립 변수)에 기초하여 출력변수(종속 변수)을 설명하거나 예측하는 통계적 모델
  • 오차를 최소화 할 수 있는 기울기와 절편을 계산하는 과정
  • 회귀분석은 입력변수와 출력변수에 선형적 관계가 존재해야 예측 성능이 좋음

2. 유형

  • 단순 선형회귀(Simple Regression) : 입력변수가 1개
  • 다중 선형회귀 : 입력변수가 k개
  • 다항선형회구 : 입력변수와 출력변수와의 관계가 1차 함수 이상인 관계
  • 로지스틱 회귀(Logistic Regression) : 회귀식을 이용한 분류모델(이진분류)
  • 페널티(정규화, Regulization) 기법을 사용한 회귀분석
    • 오버피팅을 막기 위한 방법
    • Redgie, Lasso, elasticNet 등
  • 비선형 회귀 : 입력과 출력이 비선형 관계

3. 모델 이해

3.1 기본 표현식

  • y = b + Wx + e
  • W : 가중치
  • b : 편향
  • e : 오차(잔차)
    • 오차(Error) : 모집단에서 예측된 값과 실제 값의 차이
    • 잔차(Residual) : 표본집단에서 예측된 값과 실제 값의 차이

3.2 성능지표

  • 평균제곱오차(MSE, Mean Square Error) : 실제 값과 예측 값 차이를 제곱한 평균값
  • 절대평균제곱오차(RMSE, Root Mean Square Error) : MSE는 이상치에 민감하기에 여기에 루트를 취한 값
  • 절대평균오차(MAE, Mean Absolute Error) : 실제 값과 예측 값의 차이를 절대값으로 변환 후 평균값
  • 결정계수(R-squared)
    • SST(Total sum of squares) : 총 제곱합
    • SSR(Sum of squares due to regression) : 회귀모델에 의한 제곱합
    • SSE(Sum of squares due to residual errors) : 오차에 의한 제곱합
    • R^2 = SSR / SST = 1 - (SSE / SST)
    • MAE, MSE, RMSE는 데이터의 scale에 따라 값이 다르나, R^2 값은 0~1 범위 값을 가짐
  • 수정 결정계수(Adj. R-squared)
    • 다중회귀분석에서 사용(일반 결정계수와 함께 사용)
    • 결정계수는 입력변수 개수가 많아질수록 결정계수 값이 커지는 특성이 있음

4. Python API

  • 모델(sklearn.linear_model)
    • LinearRegression
    • LogisticRegression
    • Lasso
    • Ridge
    • ElasticNet
  • 모델 공통 함수
    • fit(train_x, train_y) : 학습
    • coef : 가중치
    • intercept_ : 편향
    • predict(test_x) : 예측
    • score(test_x, test_y) : 성능 평가
  • 성능 측정(sklearn.metrics)
    • mse : mean_squared_error
    • rmse : mse에 루트
    • mae : mean_absolute_error
    • r2 : r2_score
  • 구현 프로세스
  1. 데이터셋 분리
  2. 전처리
  3. 모델 객체 생성
  4. 학습
  5. 예측
  6. 성능평가

'💻 Computer Science > AI' 카테고리의 다른 글

[AI] 데이터 전처리  (0) 2024.12.28
[AI] 인공지능 기본  (0) 2024.06.05