我在使用Keras训练一个回归模型。我的代码如下所示:
estimators = []estimators.append(('standardize', StandardScaler()))estimators.append(('mlp', KerasRegressor(build_fn=baseline_model, epochs=100, batch_size=32, verbose=2)))pipeline = Pipeline(estimators)X_train, X_test, y_train, y_test = train_test_split(X, Y, train_size=0.75, test_size=0.25)pipeline.fit(X_train, y_train)
问题在于模型出现了严重的过拟合。我如何能够查看每个epoch后的验证错误?
回答:
您可以向KerasRegressor的fit方法传递参数:
validation_split: float (0. < x < 1)。用作保留验证数据的分数。validation_data: 元组 (x_val, y_val) 或元组 (x_val, y_val, val_sample_weights),用作保留验证数据。将覆盖validation_split。
通过Pipeline的fit方法:
**fit_params : 字符串到对象的字典。传递给每个步骤的fit方法的参数,其中每个参数名称前缀为步骤s的参数p的键为s__p。
示例:
pipeline.fit(X_train, y_train, mlp__validation_split=0.3)