코드 4-26 K-겹 검증하기25
k = 4
num_val_samples = len(train_data) // k
num_epochs = 100
all_scores = []
for i in range(k):
print(f"#{i}번째 폴드 처리중")
val_data = train_data[i * num_val_samples: (i + 1) * num_val_samples]
val_targets = train_targets[i * num_val_samples: (i + 1) * num_val_samples] ➊
partial_train_data = np.concatenate( ➋
[train_data[:i * num_val_samples],
train_data[(i + 1) * num_val_samples:]],
=0)
partial_train_targets = np.concatenate(
[train_targets[:i * num_val_samples],
train_targets[(i + 1) * num_val_samples:]],
=0)
model = build_model() ➌
model.fit(partial_train_data, partial_train_targets, ➍
=num_epochs, =16, =0)
val_mse, val_mae = model.evaluate(val_data, val_targets, =0) ➎
all_scores.append(val_mae)
➊ 검증 데이터 준비: k번째 분할
➋ 훈련 데이터 준비: 다른 분할 전체
➌ 케라스 모델 구성(컴파일 포함)
➍ 모델 훈련(verbose=0이므로 훈련 과정이 출력되지 않습니다)
➎ 검증 세트로 모델 평가