#12.當資料集數目少時可用k-摺疊交叉驗證法(k fold cross validation) k = 4 nb_val_samples = len(X_train) // k nb_epochs = 80 mse_scores = [] mae_scores = [] for i in range(k): print("Processing Fold #" + str(i)) # 取出驗證資料集 X_val = X_train[i*nb_val_samples: (i+1)*nb_val_samples] Y_val = Y_train[i*nb_val_samples: (i+1)*nb_val_samples] # 結合出訓練資料集 X_train_p = np.concatenate( [X_train[:i*nb_val_samples], X_train[(i+1)*nb_val_samples:]], axis=0) Y_train_p = np.concatenate( [Y_train[:i*nb_val_samples], Y_train[(i+1)*nb_val_samples:]], axis=0) model = build_model() # 訓練模型 model.fit(X_train_p, Y_train_p, epochs=nb_epochs, batch_size=16, verbose=0) # 評估模型 mse, mae = model.evaluate(X_val, Y_val, verbose=0) mse_scores.append(mse) mae_scores.append(mae)