Multiplie Linear Regression

ParkJangSik·2021년 6월 9일
1

DataScientist의 길

목록 보기
3/5
post-thumbnail

1. 회귀식

Y = b0 + b1x1 + b2x2

2. 특징

  • 기준모델, 단순선형 회귀 모델에 비해 error 값이 작다.
    (but)
    feature가 많다고 무조건 좋은 것이 아니다!!
    ex) overfitting...
  • 통계적 유의성은 F-통계량으로 확인한다.
    (유의수준보다 작으면 회귀식이 유의하다)
  • feature importance를 구해서 어떤 feature를 사용할지 정할 수 있다.

3. 코드

###Sklearn의 LinearRegration 사용하기
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_absolute_error
model = LinearRegression()
model_Z = LinearRegression()

### 두개의 feature에 대해 train, test data 나누기
features = ['bathrooms','sqft_living']
X_train = train[features]
X_test = test[features]
Y_train = train['price']
Y_test = test['price']

Scale 작업은 Must로 진행 해야한다.
표준화를 할지 정규화를 할지는 직접 해보고 결과가 더 좋은 것을 선택한다.

# 데이터 표준화 하기
# 교차 검증을 할 때는 Train Set에만 표준화를 해 줘야 한다.

from sklearn.preprocessing import StandardScaler

scaler = StandardScaler()

scaler.fit(X_train)
Z_Xtrain = scaler.transform(X_train)
Z_Xtest= scaler.transform(X_test)

표준화된 데이터를 가지고 Model에 학습시키기.

# 표준화된 데이터를 사용해서 모델 학습
model_Z.fit(Z_Xtrain, Y_train)

#test셋에 대한 예측값 구하기
Y_pred2 = model_Z.predict(Z_Xtest)

#train set에 대한 예측값 구하기
Y_pred3 = model_Z.predict(Z_Xtrain) 

#mae 값 구하기
mae = mean_absolute_error(Y_test, Y_pred2)

print(f'테스트세트에 대한 MAE 값은 {mae} 입니다.')

4. 회귀모델을 평가하는 지표들

  • MSE
  • MAE
  • RMSE
  • R-Squared = Coefficent of determinent

5. 회귀분석의 성능판단

  • 모델의 정확도를 판단하고 싶다.
    : (R^2 사용)
  • feature가 유효한지 알고 싶다.
    : (P-value 사용)
  • 어떤 feature가 설명력이 큰가?
    : (기울기 사용)
profile
취준생

0개의 댓글