2017-07-10 4 views
0

Ich bin binäre Klassifizierung mit One-Output-Layer. Ich möchte wissen, welche Klasse als 0 und als 1 codiert ist, so dass ich Wahrscheinlichkeitswerte bei der Verwendung von model.predict() in Keras interpretieren kann (was meiner Meinung nach Punkte für label1 sind). Ist es sinnvoll, predct_classes für Trainingsdaten zu verwenden, um das Klassenlabel zu überprüfen, da der Trainingsverlust gering ist? Gibt es einen besseren Weg dazu?Keras. herauszufinden, Klassenlabel Codierung

+0

Haben Sie die binären Etiketten selbst erstellt oder verwenden Sie sklearn? – DJK

Antwort

0

Ja, es ist sinnvoll, predict(trainingData) zu verwenden, um die Ergebnisse zu untersuchen, um die Werte zwischen den vorhergesagten Daten und den echten Daten manuell zu vergleichen.

Aber Sie definieren, was 0 und 1 sind, wenn Sie die wahren Werte erstellen.

Die Antwort liegt in Ihren echten Daten, was sie normalerweise "Y" nennen. Das Modell wird lernen, was in Y ist und das ist die Klassifizierung. Nur Sie (wer die Daten erstellt hat) können das wissen.

+0

Vielen Dank für Ihren Kommentar. Ich habe ImageDataGenerator verwendet und die Labels nicht manuell codiert. Ich habe herausgefunden: class_indices hat den Trick gemacht, es zeigt das Wörterbuch, das den Namen des Unterverzeichnisses den kodierten Labels zuordnet. https://github.com/fchollet/keras/issues/3296 –

+0

Vielleicht können Sie den Generator einmal durchlaufen, um zu sehen, was er generiert: https://stackoverflow.com/questions/11539194/how-to-loop-through- A-Generator --- 'für X, Y im GeneratorInstance:' ... –