Keras-model-evaluation-and-prediction

提供:Dev Guides
移動先:案内検索

Keras-モデル評価とモデル予測

この章では、Kerasでのモデル評価とモデル予測について説明します。

モデルの評価を理解することから始めましょう。

モデル評価

評価は、モデルの開発中のプロセスであり、モデルが特定の問題と対応するデータに最適であるかどうかを確認します。 Kerasモデルは関数を提供し、evaluateはモデルの評価を行います。 これには3つの主な引数があります。

  • テストデータ
  • テストデータラベル
  • verbose-trueまたはfalse

前の章で作成したモデルをテストデータを使用して評価してみましょう。

score = model.evaluate(x_test, y_test, verbose = 0)

print('Test loss:', score[0])
print('Test accuracy:', score[1])

上記のコードを実行すると、以下の情報が出力されます。

0

テストの精度は98.28%です。 手書きの数字を識別するための最適なモデルを作成しました。 良い面としては、モデルを改善するためのスコープを作ることができます。

モデル予測

*_Prediction_* は最後のステップであり、モデル生成の予想される結果です。 Kerasは、トレーニング済みモデルの予測を取得するためのメソッド_predict_を提供します。 _predict_メソッドのシグネチャは次のとおりです。
predict(
   x,
   batch_size = None,
   verbose = 0,
   steps = None,
   callbacks = None,
   max_queue_size = 10,
   workers = 1,
   use_multiprocessing = False
)

ここでは、未知の入力データを参照する最初の引数を除いて、すべての引数はオプションです。 適切な予測を得るには、形状を維持する必要があります。

以下のコードを使用して、前の章で作成したMPLモデルの予測を行いましょう-

pred = model.predict(x_test)
pred = np.argmax(pred, axis = 1)[:5]
label = np.argmax(y_test,axis = 1)[:5]

print(pred)
print(label)

ここに、

  • *行1 *は、テストデータを使用して予測関数を呼び出します。
  • *行2 *は最初の5つの予測を取得します
  • *行3 *は、テストデータの最初の5つのラベルを取得します。
  • *行5-6 *は予測と実際のラベルを出力します。

上記のアプリケーションの出力は次のとおりです-

[7 2 1 0 4]
[7 2 1 0 4]

両方の配列の出力は同じであり、モデルが最初の5つの画像を正しく予測していることを示しています。