Kaggle Machine Learning: Model Validation

daeungdaeung·2021년 6월 25일
0

Kaggle-ML

목록 보기
3/7

이번 글에서는 모델의 quality를 측정하는 방법에 대해 배웁니다.
(모델의 quality는 모델 improvement를 위해서 꼭 필요하다고 생각합니다.)

What is Model Validation

MAE: Mean Absolute Error

error = actual - predicted

MAE는 에러에 절대값을 적용하고 그 값들의 평균을 의미합니다.

코드로 구현하면 아래와 같습니다.

from sklearn.metrics import mean_absolute_error

predicted_home_prices = melbourne_model.predict(X)

mean_absolute_error(y, predicted_home_prices)

The Problem with "In-Sample" Scores

모델을 학습 시키기 위해서 사용한 데이터를 활용하여 정확도를 측정하는 것은 비상식적입니다.

따라서 전체 데이터 중 일부 데이터를 뽑아내어 테스트 데이터로 활용합니다. \rarr 이러한 데이터를 validation data라고 합니다.

Coding It

sklearn 에서는 주어진 데이터를 학습 데이터 & 테스트 데이터로 나눠주는 train_test_split이 있습니다.

from sklearn.model_selection import train_test_split

train_X, valid_X, train_y, valid_y = train_test_split(X, y, random_state=0)

train_X, train_y로 모델을 학습시키고, valid_X, valid_y로 모델의 quality를 평가합니다.

Exercises

Step 1: Split Data

from sklearn.model_selection import train_test_split

train_X, val_X, train_y, val_y = train_test_split(X, y, random_state=1)

Step 2: Specify and Fit the Model

iowa_model = DecisionTreeRegressor(random_state=1)

iowa_model.fit(train_X, train_y)

Step 3: Make Predictions with Validation data

val_predictions = iowa_mode.predict(val_X)

아래 코드 & 결과는 valdation data(5개)의 예측된 Price 값과 실제 Price 값 비교를 눈으로 확인하기 위함입니다.

# print the top few validation predictions
print(val_predictions[:5])
# print the top few actual prices from validation data
print(val_y.head())

Step 4: Calculate the MAE in Validation Data

from sklearn.metrics import mean_absolute_error

val_mae = mean_absolute_error(val_y, val_predictions)

위 결과 val_mae29652.931506849316 값을 가집니다.

해당 값은 모델의 성능이 좋다는 건지 나쁘다는 건지 아직은 모릅니다. \rarr 다음 차시에서 배우도록 합시당

profile
개발자가 되고싶읍니다...

0개의 댓글