===== (5)結果の出力(Keras) =====
Keras2でMNIST目次\\
[[Kerasプログラミングの全体図]]
-[[(1)Kerasを使用するためのimport文]]
-[[(2)データ準備(Keras)]]
-[[(3)モデル設定(Keras)]]
-[[(4)モデル学習(Keras)]]
-[[(5)結果の出力(Keras)]] <= いまココ
-[[(6)学習結果の保存(Keras)]]
-[[(7)推測(Keras)]]
基本的に以下をコピペするだけです。
#5 結果の出力(Keras)
score = model.evaluate(X_test, y_test, verbose=0)
print('Test loss:', score[0])
print('Test accuracy:', score[1])
===== 開発環境 =====
Windows 8.1\\
Anaconda \\
Python 3.5\\
Tensorflow 1.4\\
Keras 2.0.9\\
Keras2.0のインストール方法は[[windowsにkeras2.0をインストール]]をご覧下さい。
このページは、[[(4)モデル学習(Keras)]]の続きであり、今回は、結果の出力を行っていきます。
===== 手順 =====
==== 0. 前回終了時の画面 ====
[[(4)モデル学習(Keras)]]終了時の、以下のような状態から始めます。
{{:pasted:20171110-044806.png}}
==== 1. モデルの学習 ====
以下のコードを入力して、Shift + Enterを押します。
#5 結果の出力(Keras)
score = model.evaluate(x_test, y_test, verbose=0)
print('Test loss:', score[0])
print('Test accuracy:', score[1])
以下のような画面になります。
{{:pasted:20171110-045243.png}}
model.evaluate()関数により、入力値における損失値(損失関数に(x_test, y_test)の組み合わせを入力して出てきた結果)を返します。
詳細はよく分かりませんが、score[0]にlossを、score[1]にaccuracyを持つようなリストを返すようです。
lossは、おそらく、x_testの画像10000枚とその正解ラベルy_testのセットを、損失関数に入れたときの値(損失)だと思われます。(ググってもはっきりとした記載は見つけることはできませんでしたが、たぶんそれで間違いないと思います。)
KerasでのModel学習の手順は上記でおしまいです。
初めての方は、次は、[[(6)学習結果の保存(Keras)]]に進んでください。
===== accuracyとlossについて =====
accuracy(全体正解率)予測測に対して答えがどのくらいあってたか
Accuracy=(TP+TN)/(TP+FP+TN+FN)
詳細は以下のページが参考になります。
2017-05-17
機械学習で使う指標総まとめ(教師あり学習編)\\
http://www.procrasist.com/entry/ml-metrics
===== kerasのSequentialモデルのevaluateメソッドについて =====
https://keras.io/ja/models/sequential/\\
{{:pasted:20171110-053055.png}}
evaluate()関数は、バッチごとにある入力データにおける損失値を計算します。つまり、損失関数にx_testとy_testの組み合わせを入力して、その結果を出力します。
===== 参考文献 =====
初めてKerasプログラミングをやるときの超おすすめ本。\\
===== リンク =====
次 [[(6)学習結果の保存(Keras)]]
前 [[(4)モデル学習(Keras)]]
Keras2でMNIST目次\\
[[Kerasプログラミングの全体図]]
-[[(1)Kerasを使用するためのimport文]]
-[[(2)データ準備(Keras)]]
-[[(3)モデル設定(Keras)]]
-[[(4)モデル学習(Keras)]]
-[[(5)結果の出力(Keras)]]
-[[(6)学習結果の保存(Keras)]]
-[[(7)推測(Keras)]]