반응형
선형 회귀(Linear Regression)
- 종속 변수 y와 한 개 이상의 독립 변수 X와의 선형 상관 관계를 모델링하는 회귀 분석 기법
- 독립 변수가 한개면 단순 선형 회귀, 두개 이상이면 다중 선형 회귀
- 데이터를 수집해 분포를 만족하는 직선을 찾으려하는 것
- 알려지지 않은 파라미터는 데이터로부터 추정
- 선형 회귀 함수는 직선이기 때문에 일차 함수로 표현
- y= ax + b (a=기울기, b=절편)
- 값의 추정 방법으로는 일반적으로 최소제곱법(OLS:Ordinary Least Squares) 사용
- 다른 기법으로도 선형 회귀 모델링 가능
- 최소제곱법이 가장 단순하고 계산이 간단해서 많이 사용
- 최소제곱법을 사용하여 예측된 값이 제곱의 합을 최소화하는 것을 목표
- 최소제곱법의 종류
SSE(Sum of Squares Error) | 제곱의 합 |
MSE(Mean Squared Error) | 제곱의 합의 평균 |
MAE(Mean Absolute Error) | 절대값의 합의 평균 |
RMSE(Root Mean Squared Error) | 제곱의 합의 평균에 루트를 씌운 값 |
선형 회귀를 사용하는 이유
- 알려지지 않은 파라미터에 대해 선형 관계를 갖는 모델을 세우는 것이 비선형 관계를 갖는 모델을 세우는 것보다 용이하기 때문
선형 회귀 모델링
- 선형 예측함수를 사용하여 알려지지 않은 파라미터는 데이터로부터 추정하는 것
라이브러리 호출
from sklearn.linear_model import LinearRegression
# 선형 회귀 라이브러리 호출
from sklearn.model_selection import train_test_split
# 데이터셋 분리를 위한 라이브러리 호출
from sklearn.metrics import confusion_matrix
# 성능 검사를 위한 라이브러리 호출
인공지능 학습
- 학습 : 모든 관측점(Observation)에서의 y값의 오차(error)가 존재하고, 이 오차들의 총 합을 줄여 나가는 과정
- regressor = LinearRegression() : 인공지능 regressor 생성(모델링)
- regressor.fit(X_train, y_train) : 학습 데이터를 대입하여 인공지능 학습
- 주의 : 인공지능 학습하는 함수인 fit함수는 2차원으로 넣어야 동작
- 예시에 쓰일 X, y 데이터
- X는 학습시킬 데이터이므로 2차원 배열로 변경
- y는 결과값이므로 2차원 배열로 변경 할 필요 없음
1. 피처 스케일링(전처리)
- 선형 회귀(Linear Regression) 라이브러리는 자체 피처 스케일링
- 따라서 별도의 과정을 거치지 않고 데이터 바로 사용 가능
2. 학습용 데이터와 테스트용 데이터 분리 (train_test_split)
3. 인공지능 생성 후 학습 (모델링)
4. 인공지능 성능 테스트
- 보기 편하게 표로 작성
5. 오차 확인
반응형