선형 회귀, Linear Regression
- 가장 기초적인 머신러닝 모델
- 여러 가지 데이터를 활용하여 연속형 변수인 목표 변수를 예측해 내는 것이 목적
- 예측할 종속변수만 연속형 변수이면 되며, 그 외 변수는 연속형일 필요 없음
장점 | 단점 |
모델이 간단하기 때문에 구현과 해석이 쉬움 | 최신 알고리즘에 비해 예측력이 떨어짐 |
같은 이유로 모델링하는 데 오랜 시간이 걸리지 않음 | 독립변수와 예측 변수의 선형 관계를 전제로 하기 때문에, 이러한 전제에서 벗어나는 데이터에서는 좋은 예측을 보여주기 어려움 |
연속형 변수: 나이, 키와 같이 연속적으로 이어지는 변수(만족도, 키, 몸무게 등)
- 데이터 간의 크고 작음을 비교하거나 사칙연산 등을 할 수 있음
범주형 변수: 이어지는 숫자가 아닌 각 범주로 구성된 변수(계절, 성별 등)
- 크거나 작다고 할 수 없으며, 평균이라는 개념 또한 존재하지 않음
코드
from sklearn.linear_model import LinearRegression
model = LinearRegression()
model.fit(X_train, y_train) # 학습
pred = model.predict(X_test) # 예측
평가 지표
MAE
- Mean Absolute Error, 평균 절대 오차
- 실젯값과 예측값 사이의 오차에 절댓값을 씌운 뒤 이에 대한 평균을 계산
- 값이 작을 수록 좋은 지표(0에 가까울수록)
MSE
- Mean Squared Error, 평균 제곱 오차
- 실젯값과 예측값 사이의 오차를 제곱한 뒤 이에 대한 평균을 계산
- 값이 작을수록 좋은 지표(0에 가까울수록)
RMSE
- Root Mean Squared Error, 평균 제곱근 오차
- MSE에 루트를 씌운 값으로 가장 일반적으로 사용됨
- 값이 작을수록 좋은 지표(0에 가까울수록)
$R^2$
- 결정 계수
- 독립변수가 종속변수를 얼마만큼 설명해 주는지 가리키는 지표로, 설명력을 나타냄
- 값이 1에 가까울수록 좋은 지표
참고: 데싸노트의 실전에서 통하는 머신러닝
반응형