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つの画像を正しく予測していることを示しています。