PYTHON/machine_learning

회귀(Regression)

죠으니 2022. 1. 26. 19:30

 

 

회귀 : 여러 개의 독립변수와 한 개의 종속변수 간의 상관관계를 모델링하는 기법을 통칭

 

▶ 머신러닝의 회귀 예측 핵심은 주어진 피처와 결정 값 데이터 기반에서 학습을 통해 최적의 회귀 계수를 찾아내는 것

▶ 최적의 회귀 모델을 만든다는 것을 바로 전체 데이터의 잔차(오류 값) 합이 최소가 되는 모델을 만든다는 의미.

   오류 값 합이 최소가 될 수 있는 최적의 회귀 계수를 찾다는 의미.

 

□ 경사하강법 - 비용 최소화하기

▶ 반복적인 계산을 통해, 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 )