노트 :

선형회귀 평가지표 (with Scikit-learn) 본문

ML

선형회귀 평가지표 (with Scikit-learn)

IT_달토끼 2023. 5. 14. 22:11

 

1. 회귀(Regression)

: 영국의 통계학자 갈톤(Galton)이 유전적 특성을 연구하면서 체계화함. 부모와 자식의 키의 상관관계를 들여다 보면 부모의 키가 모두 클 때 자식의 키가 크긴 하지만 부모를 능가할 정도로 크지 않고, 부모의 키가 모두 작을 때 그 자식의 키가 작기는 하지만 부모보다는 큰 경향성을 띔. 즉, 사람의 키는 평균 키로 회귀하려는 경향을 가지고 있으며, 회귀 분석은 이러한 자연법칙을 적용하여 데이터의 값이 평균과 같은 일정한 값으로 돌아가려는 점에 착안하여 분석을 진행함

 

회귀분석: 여러 개의 독립변수와 한 개의 종속변수 간의 상관관계를 모델링

 

 

2. 선형회귀

: 실제값과 예측값의 차이(오류)를 최소화하는 직선형 회귀선을 최적화하는 방식

 

 

3. 머신러닝에서의 회귀예측의 목표

: 주어친 피처(data)와 결정값(label) 데이터 기반에서 학습을 통해 최적의 회귀 계수를 찾아내는 것

 

 

4. 선형회귀의 종류

 

① 단순 선형 회귀(Simple Linear Regression)

 

② 다중 선형 휘귀(Multiple Linear Regression)

 

③ 다항회귀(Polynomial Regression)

 

④ 로지스틱 회귀(Logistic Regression) : 분류에 사용

 

 

5. 선형회귀 평가지표

 

 MAE(Mean Absolute Error)

: 실제값과 예측값의 차이를 절댓값으로 변환해 평균화, 0에 가까울수록 좋음

 

② MSE(Mean Squared Error)

: 실제값과 예측값의 차이를 제곱해 평균화, 0에 가까울수록 좋음

 

③ RMSE(Root Mean Squared Error)

: MSE는 오류의 제곱을 구하므로 실제 오류보다 더 커지는 특성이 있으므로 MSE에 루트를 씌움, 0에 가까울수록 좋음

 

R^2

: 결정계수, 실제값의 분산 대비 예측값의 분산 비율을 지표로 함, 1에 가까울수록 좋음

 

6. 사이킷런 평가지표

 

평가방법 사이킷런 평가지표 API 스코어링 함수 적용 값
MAE metrics.mean_absolute_error 'neg_mean_absolute_error'
MSE metrics.mean_squared_error 'neg_mean_squared_error'
RMSE metrics.mean_square_error사용 후
squared = False 설정
'neg_root_mean_suqared_error'
MSLE (MSE나 RMSE에 log적용) metrics.mean_squared_log_error 'neg_mean_squared_log_error'
R^2 metrics.r2_score 'r2'

* 사이킷런의 스코어링 함수는 숫자가 큰 값을 예측이 높다고 생각하지만, 해당 평가방법은 실제값과 예측값의 오차에 대한 평가방법이므로 숫자가 작을수록 예측성능이 좋다. 따라서 사이킷런의 스코어링 함수에 적용할 때는 negative값으로 바꿔서 적요해주어야 한다.

 

 

 

 

 

 

 

 

 

참고: 「파이썬 머신러닝 완벽 가이드」, 권철민 지음, 위키북스