2017-11-01 16 views
0

ケラスを使用して機械学習モデルを設定して、このようなデータを予測します。 model.fitショーの損失の後ケラスのエラー率を計算する方法

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, 
     ) 

出力など損失:0.0382。私は何を意味するのか分からない損失:0.0382。列車と試験データの誤差は何パーセントですか?どのように計算する?

+0

パーセントで何を意味するのか詳しく説明できますか? –

+0

私[回答はこちら](https://stackoverflow.com/questions/46864926/my-r-squared-score-is-coming-negative-but-my-accuracy-score-using-k-fold-cross-v/46887354#46887354)は物事を明確にするのに役立ちます。それは別のコンテキスト( 'scikit-learn')ですが、あなたの質問は特定のパッケージと実装とは無関係に、非常に初歩的なレベルにあります – desertnaut

答えて

0

mean_squared_error(mse)損失機能を使用しています。

MSEは、推定値(すなわち、データのサンプルをデータがサンプリングされる母集団のパラメータにマッピングする数学的関数)または予測子(すなわち、任意の入力をサンプルにマッピングする関数任意の変数の値の)。

Formula for MSE

MSEは良いモデルのために低くなければなりません。 MSEをモデルより良くしてください。

トレーニングでは、0.0382の損失があります。それはかなり良いです。

Kerasには、別の損失関数mean_absolute_percentage_errorがあります。列車とテストでモデルのパーセンテージエラーを知りたい場合は、mean_absolute_percentage_errorのモデルを損失関数としてコンパイルできます。

モデルの正確度に基づいてコンパイルとトレーニング後にモデルを評価したい場合は、evaluate()のような機能を使用できます。

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

私はmodel.compile(loss = 'mean_absolute_percentage_error'、optimizer = 'adam')を使用します。なぜ出力は エポック200/200 39/39 [================] - 0秒 - 損失:74374.4342 100%以上ですか?それの使い方? – user572575

+0

私は答えを編集しました。私はモデルの精度を見つけることがあなたが探しているものだと思います。 –

関連する問題