본문 바로가기

스파르타 코딩클럽/[강의] 머신러닝

[머신러닝 기초] 선형회귀의 가정과 정리

  • 머신러닝모델 중에서 선형회귀는 이해하기 쉽고 방법도 쉬운 장점이 있다.
  • 말 그대로 x-y 변수간의 선형적 관계가 좋아야만 좋은 성능을 낸다

선형회귀의 가정

 

1. 선형성(Linearity)

  • 종속 변수(Y)와 독립 변수(X) 간의 선형 관계가 존재해야 함

2. 등분산성(Homoscedasticity)

  • 오차의 분산이 모든 수준의 독립 변수에 대해 일정해야 함
  • 즉, 오차가 특정 패턴을 보여서는 안되며, 독립변수의 값에 상관없이 일정해야 함

3. 정규성(Normality)

  • 오차 항은 정규 분포를 따라야 함

4. 독립성(Independence)

  • X 변수는 서로 독립적이어야 함
  • 다중공산성 문제 : 회귀분석에서 독립변수(X)간의 강한 상관관계가 나타나는 것
  • 다중공산성 해결 방법
    • 서로 상관관계가 높은 변수 중 하나만 선택(산점도 혹은 상관관계 행렬)
    • 두 변수를 동시에 설명하는 차원축소(Principle Component Analysis, PSA) 실행하여 변수 1개로 축소
pairplot 기능을 이용한 산점도 heatmap을 이용한 상관관계 행렬 PCA를 이용한 차원축소
pairplot 기능을 이용한 산점도
heatmap을 이용한 상관관계 행렬
PCA를 이용한 차원축소

 

 

선형회귀 정리

  • 장점
    • 직관적이며 이해하기 쉽다. X-Y관계를 정량화 할 수 있다.
    • 모델이 빠르게 학습된다(가중치 계산이 빠르다)
  • 단점
    • X-Y간의 선형성 가정이 필요하다.
    • 평가지표가 평균(mean)포함 하기에 이상치에 민감하다.
    • 범주형 변수를 인코딩시 정보 손실이 일어난다.
  • Python 패키지
    • sklearn.linear_model.LinearRegression