Y = b0 + b1x1 + b2x2
###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} 입니다.')