인공지능/텐서플로우
validation 데이터란 무엇이고 코드에서 사용하는 방법 (validation_split)
iminu
2022. 6. 13. 12:07
def build_model():
model = Sequential()
model.add(Dense(units = 4, activation = 'relu', input_shape = (8, )))
model.add(Dense(units = 20, activation = 'relu'))
model.add(Dense(units = 10, activation = 'relu'))
model.add(Dense(units = 1, activation = 'linear'))
# 옵티마이저의 learning rate를 설정하는 방법
model.compile(tf.keras.optimizers.RMSprop(learning_rate = 0.001), loss = 'mse', metrics = ['mse', 'mae'])
#model.compile('adam', 'mse')
return model
model = build_model()
epoch_history = model.fit(X_train, y_train, epochs = 1000, validation_split = 0.2)
Validation set(검정 데이터)은 training set으로 만들어진 모델의 성능을 측정하기 위해 사용된다. 일반적으로 어떤 모델이 가장 데이터에 적합한지 찾아내기 위해서 다양한 파라미터와 모델을 사용해보게 되며, 그 중 validation set으로 가장 성능이 좋았던 모델을 선택한다. validation_split이 0.2면 학습데이터의 20프로를 에포크 한번 끝날 때마다 오차를 측정하는 데 쓴다.