반응형
앞에서 모델을 훈련시킬 때(fit) 검증 값을 test로 사용했다. 그러나 훈련 세트에 검증 값이 들어가고 그 검증 값을 다시 테스트한다면 평가에 검증 값이 반영되는 문제가 있다.
그래서 훈련 세트, 테스트 세트, 검증 세트은 분리가 되는 것이 좋다.
일반적으로 Train 데이터의 일부를 잘라서 Validation 데이터로 사용하는 것이 좋다.
import numpy as np
#1 데이터 준비
#훈련데이터
x_train = np.array([1,2,3,4,5,6,7,8,9,10])
y_train = np.array([1,2,3,4,5,6,7,8,9,10])
#테스트데이터
x_test = np.array([11,12,13,14,15,16,17,18,19,20])
y_test = np.array([11,12,13,14,15,16,17,18,19,20])
#검증용데이터
x_val = np.array([101,102,103,104,105])
y_val = np.array([101,102,103,104,105])
#2 모델 구성
from keras.models import Sequential
from keras.layers import Dense
model = Sequential()
#model.add(Dense(5, input_dim=1, activation='relu'))
model.add(Dense(5, input_shape = (1, ), activation = 'relu'))
model.add(Dense(3))
model.add(Dense(4))
model.add(Dense(1))
# model.summary()
#3 훈련
model.compile(loss='mse', optimizer='adam' ,metrics=['mse'])
# 실행 validation_data 훈련데이터와 평가 데이터를 나누기 위해 평가데이터 정의
model.fit(x_train, y_train, epochs=1000, batch_size=1, validation_data= (x_val, y_val))
#4 평가 예측
mse = model.evaluate(x_test, y_test, batch_size=1)
print("mse : ", mse)
y_predict = model.predict(x_test)
print(y_predict)
반응형
'AI > DeepLearning' 카테고리의 다른 글
회귀 모델 5 - 함수형 모델 (1:1, 다:다, 다:1, 1:다) (0) | 2020.07.01 |
---|---|
회귀 모델 4 R2, RMSE 추가 (0) | 2020.06.27 |
회귀모델의 판별식 R2, RMSE (0) | 2020.06.23 |
회귀 모델 2 101~110 예측하기 (0) | 2020.06.23 |
회귀 모델 1 1에서 10까지 예측하기 (0) | 2020.06.23 |