fit()
は入力用のモデルです。
predict()
は実際の予測です。入力サンプルの出力予測を生成します。
evaluate()
は既に訓練されたモデルを評価するためのものです。モデルの損失値&メトリクス値を返します。
私たちは、単純な回帰の例を考えてみましょう:
# input and output
x = np.random.uniform(0.0, 1.0, (200))
y = 0.3 + 0.6*x + np.random.normal(0.0, 0.05, len(y))
は今kerasにおける回帰モデルを適用することができます:
# A simple regression model
model = Sequential()
model.add(Dense(1, input_shape=(1,)))
model.compile(loss='mse', optimizer='rmsprop')
# The fit() method - trains the model
model.fit(x, y, nb_epoch=1000, batch_size=100)
Epoch 1000/1000
200/200 [==============================] - 0s - loss: 0.0023
# The evaluate() method - gets the loss statistics
model.evaluate(x, y, batch_size=200)
returns:
loss: 0.0022612824104726315
# The predict() method - predict the outputs for the given inputs
model.predict(np.expand_dims(x[:3],1))
returns:
[ 0.65680361],[ 0.70067143],[ 0.70482892]
でもmodel.fit()の損失とACCを返します。右?私はmodel.fit()とmodel.evaluate()と少し曖昧です。 –
fit()はモデルを訓練するためのものです。 evaluate()は、テストセット上の訓練されたモデルをテストするためのものです。 –