2017-11-01 2 views
0

Ich benutze Keras und Maschine Lernmodell, um meine Daten so zu prognostizieren.Wie Prozent des Fehlers in Keras zu berechnen

K.clear_session() 

model = Sequential() 
model.add(Dense(3, input_dim=1, activation='relu')) 
model.add(Dense(1)) 
model.compile(loss='mean_squared_error', optimizer='adam') 
model.fit(X_train, y_train, epochs=500, 
      batch_size=2, verbose=1, 
     ) 

Ausgabe nach model.fit zeigen Verlust wie Verlust: 0,0382. Ich weiß nicht, was ist gemein Verlust: 0,0382. Wie viele Prozent Fehler zwischen Zug- und Testdaten? Wie man rechnet ?

+0

Können Sie mehr auf was meinen Sie prozentual? –

+0

Mein [hier antworten] (https://stackoverflow.com/questions/46864926/my-r-squared-score-iscoming-negative- but-my-accuracy-score-using-k-fold-cross-v/46887354 # 46887354) kann helfen, Dinge zu klären; es ist in einem anderen Kontext ('scikit-learn'), aber Ihre Frage ist auf eine sehr elementaren Ebene, unabhängig von irgendwelchen spezifischen Paketen & Implementierungen – desertnaut

Antwort

0

Sie mean_squared_error (mse) Verlustfunktion verwendet haben. Der MSE bewertet die Qualität eines Schätzers (dh eine mathematische Funktion, die eine Stichprobe von Daten einem Parameter der Population zuordnet, aus der die Daten abgetastet werden) oder einen Prädiktor (dh eine Funktion, die willkürliche Eingaben zu einer Stichprobe mappt von Werten einer Zufallsvariablen).

Formula for MSE

MSE muss für ein gutes Modell niedrig sein. Verringern Sie den MSE besser das Modell.

In Ihrer Ausbildung bekam man einen Verlust von 0.0382. Was ziemlich gut ist.

In Keras gibt es eine weitere Verlustfunktion mean_absolute_percentage_error benannt. Sie können das Modell mit mean_absolute_percentage_error als Verlustfunktion kompilieren, wenn Sie den prozentualen Fehler des Modells mit Zug und Test wissen möchten.

Wenn Sie das Modell nach der Kompilierung und dem Training basierend auf der Genauigkeit des Modells auswerten möchten, können Sie die Funktion evaluate() wie folgt verwenden.

scores = model.evaluate(X_validation, Y_validation, verbose=1) 
print("Accuracy: %.2f%%" % (scores[1]*100)) 
+0

Ich benutze model.compile (Verlust =‚mean_absolute_percentage_error‘, Optimierer =‚adam‘). Warum Ausgang ist Epoch 200/200 39/39 [==============================] - 0s - Verlust: 74374,4342 Ist es mehr als 100%? Wie man es benutzt? – user572575

+0

Ich habe die Antwort bearbeitet. Ich denke, dass Sie die Genauigkeit des Modells finden. –