회귀(Regression)
회귀 : 여러 개의 독립변수와 한 개의 종속변수 간의 상관관계를 모델링하는 기법을 통칭
▶ 머신러닝의 회귀 예측 핵심은 주어진 피처와 결정 값 데이터 기반에서 학습을 통해 최적의 회귀 계수를 찾아내는 것
▶ 최적의 회귀 모델을 만든다는 것을 바로 전체 데이터의 잔차(오류 값) 합이 최소가 되는 모델을 만든다는 의미.
오류 값 합이 최소가 될 수 있는 최적의 회귀 계수를 찾다는 의미.
□ 경사하강법 - 비용 최소화하기
▶ 반복적인 계산을 통해, W 파라미터 값을 업데이트 하면서 오류 값이 최소가 되는 W 파라미터를 구하는 방식
▶ 고차원 방정식에 대한 문제를 해결해주면서 비용 함수 RSS를 최소화하는 방법을 직관적으로 제공
▶ 미분을 통해 비용 더이상 미분된 1차 함수의 기울기가 최소인 지점을 비용함수 최소인 지점으로 간주.
▶ 새로운 w1, w0를 반복적으로 업데이트 하면서 비용 함수가 최소가 되는 값을 찾는다.
□ 사이킷런 Linear Regression 클래스(보스턴 주택 가격 예측)
▶ Linear Regression 클래스는 예측값과 실제 값의 RSS를 최소화해 OLS 추정방식으로 구현한 클래스다.
▶506개를 7:3으로 train/test 데이터로 분리
train 데이터(7) - 학습(train) -> linear reqression 학습/모델링 수행 -> 모델(W) 생성
test 데이터(3) - 평가(valuation) -> 평가지표(MSE, RMSE ...)
▶ feature, target 데이터 분리
y_target = bostonDF['PRICE'] #레이블(종속변수)
X_data = bostonDF.drop(['PRICE'], axis=1, inplace=False) #피쳐(독립변수)
▶ train, test 데이터 분리
X_train , X_test , y_train , y_test = train_test_split(X_data , y_target ,test_size=0.3, random_state=156)
▶ Linear Regression 선형 회귀
lr = LinearRegression()
▶ 학습
lr.fit(X_train , y_train )