본문 바로가기
Data Science

[3] 머신러닝 인트로 캐글 / Model Validation, train_test_split

by Ju.D 2022. 6. 15.
반응형

Model Validation :모델이 유효한지 확인해야 한다

 

많은 방법 중 Mean Absolute Error (MAE)로 알아본다.

error = actual - predicted
from sklearn.metrics import mean_absolute_error

predicted_home_prices = melbourne_model.predict(X)
mean_absolute_error(y, predicted_home_prices)

in-samples 값을 이용하여 예측하는 경우 실제 상황에서 적용되지 않을 수 있다. 

따라서 test_data가 아닌 데이터를 이용해서 모델을 테스트 해야 한다. 이것을 validation data 라고 한다.

 

scikit-learn 라이브러리는 train_test_split 함수를 이용해 데이터를 2개로 나눌 수 있다.

from sklearn.model_selection import train_test_split

train_X, val_X, train_y, val_y = train_test_split(X, y, random_state = 0)
# Define model
melbourne_model = DecisionTreeRegressor()
# Fit model
melbourne_model.fit(train_X, train_y)

# get predicted prices on validation data
val_predictions = melbourne_model.predict(val_X)

random_state 값을 설정할 경우 코드를 다시 실행시켜도 같은 split이 일어난다.

반응형

댓글