LinearRegression 모델
▶︎ 선형 회귀란?
- 예측하고자 하는 종속변수 y와 독립변수 x의 관계를 가장 잘 나타내는 선(line)을 구하는 회귀 분석 방법
- 즉, 선형회귀모델은 '회귀계수(regression coefficient)를 선형 결합으로 표현할 수 있는 모델
- 주로 수치 예측 문제에 사용됨
- 선형모델은 파라미터가 선형식으로 표현하기 때문에 유연성이 떨어짐
- 하지만, 파라미터를 추정하거나 모델을 해석할 때 비선형 모델에 비해 유리하다는 특징이 있음
- 위 그래프에서 빨간 선(Linear regression)은 파란색 점들로 표현된 x와 y의 관계를 잘 나타낸다.
- 이처럼 선형회귀분석을 통해 두 변수의 관계를 확인할 수 있다.
▶︎ 사이킷런 linear_model 모듈
- 사이킷런의 linear_model 모듈은 다양한 종류의 선형 기반 회귀를 클래스로 구현해 제공한다.
- 선형 모델 중, 규제가 적용되지 않은 선형 회귀를 사이킷런에서 구현한 클래스가 LinearRegression이다.
- LinearRegression 클래스는 RSS(예측값과 실제 값의 제곱합)를 최소화해 OLS(Ordinary Least Squares) 추정 방식으로 구현한 클래스이다.
from sklearn.linear_model import LinearRegression
# 모델 정의
lunch_model = LinearRegression()
▶︎ 입력 파라미터
fit_intercept | * 디폴트 : True * intercept(절편) 값을 계산할 것인지 말지를 지정 * False 로 지정시 절편이 0 이 됨 |
normalize | * 디폴트 : False * fit_intercept가 False인 경우, 이 파라미터는 무시됨 * True 로 지정시, 회귀를 수행하기 전에 입력 데이터 세트를 정규화 |
▶︎ 회귀 평가 지표
- cross_val_score, GridSearchCV 에서 평가 시 사용되는 scoring 파라미터 적용 값
- 사이킷런의 scoring 함수는 값이 클수록 좋은 평가 결과로 자동 평가하기 때문에 'neg' , 즉 -1을 곱한 음수 값으로 보정을 해줌
평가 방법 | 사이킷런 평가 지표 API | Scoring 함수 적용 값 |
MAE | metrics.mean_absolute_error | 'neg_mean_absolute_error' |
MSE | metrics.mean_squared_error | 'neg_mean_squared_error' |
RMSE | metrics.mean_squared_error 를 그대로 사용하되 squared 파라미터를 False로 설정 | 'neg_root_mean_squared_error' |
MSLE | metrics.mean_squared_log_error | 'neg_mean_squared_log_error' |
R² | metrics.r2_score | 'r2' |
728x90
'Machine Learning > scikit-learn' 카테고리의 다른 글
[교차 검증] K-폴드 교차 검증 (0) | 2023.08.17 |
---|---|
[데이터 전처리] MinMaxScaler를 이용한 데이터 정규화 예제 (0) | 2023.08.17 |
[하이퍼 파라미터] hyper parameter란? (0) | 2023.08.17 |
[앙상블] RandomForestRegressor(랜덤포레스트) (2) | 2023.08.14 |
[데이터 분할] 학습 세트와 검증 세트 분할 : train_test_split() (0) | 2023.08.14 |