Ich trainiere eine RNN mit Keras und würde gerne sehen, wie sich die Validierungsgenauigkeit mit der Datensatzgröße ändert. Keras hat in seinem History-Objekt eine Liste namens val_acc
, die nach jeder Epoche mit der entsprechenden Validierungs-Set-Genauigkeit (link to the post in google group) angehängt wird. Ich möchte den Durchschnitt von val_acc
für die Anzahl der Epochen abrufen und diese gegen die entsprechende Datensatzgröße plotten.Wie zeichne ich eine Lernkurve für ein Keras-Experiment?
Frage: Wie kann ich die Elemente in der val_acc
Liste abrufen und eine Operation wie numpy.mean(val_acc)
durchführen?
EDIT: Wie @runDOSrun sagte, immer den Mittelwert der val_acc
s macht keinen Sinn. Lassen Sie mich auf das endgültige val_acc
konzentrieren.
Ich habe versucht, was von @nemo vorgeschlagen wurde, aber kein Glück. Hier ist, was ich habe, wenn ich
model.fit(X_train, y_train, batch_size = 512, nb_epoch = 5, validation_split = 0.05).__dict__
Ausgabe drucken:
{'model': <keras.models.Sequential object at 0x000000001F752A90>, 'params': {'verbose': 1, 'nb_epoch': 5, 'batch_size': 512, 'metrics': ['loss', 'val_loss'], 'nb_sample': 1710, 'do_validation': True}, 'epoch': [0, 1, 2, 3, 4], 'history': {'loss': [0.96936064512408959, 0.66933631673890948, 0.63404161288724303, 0.62268789783555867, 0.60833334699708819], 'val_loss': [0.84040999412536621, 0.75676006078720093, 0.73714292049407959, 0.71032363176345825, 0.71341043710708618]}}
Es stellt sich heraus, es gibt keine Liste als val_acc
in meiner Geschichte Wörterbuch.
Frage: Wie man val_acc
in das history
Wörterbuch einbindet?
Danke für die Antwort @nemo, können Sie zugreifen einen Blick auf meinen letzten Schnitt werfen? – akilat90