2017-10-13 4 views
0

J'utilise keras pour former un modèle de régression. Mon code ressemble:Comment voir l'erreur de validation après chaque époque en 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) 

Le problème est qu'il est surapprentissage de façon spectaculaire. Comment puis-je voir l'erreur de validation après chaque période?

Répondre

2

Vous pouvez transmettre parameters à KerasRegressor méthode d'ajustement:

validation_split: float (0 < x < 1). Fraction des données à utiliser comme données de validation en attente. validation_data: tuple (x_val, y_val) ou tuple (x_val, y_val, val_sample_weights) à utiliser comme données de validation . Va remplacer validation_split.

via Pipeline fit method:

** fit_params: dict de chaîne -> paramètres d'objet transmis à la méthode d'ajustement de chaque étape, où chaque nom de paramètre est préfixée de telle sorte que paramètre p à l'étape s a la clé s__p.

Exemple:

pipeline.fit(X_train, y_train, mlp__validation_split=0.3) 
+0

Merci beaucoup. Je vais poser une autre question sur le problème de sur-apprentissage. – eleanora