Como chegar tanto pontuação e precisão após o treinamento

votos
5
model.fit(X_train, y_train, batch_size = batch_size,
     nb_epoch = 4, validation_data = (X_test, y_test),
     show_accuracy = True)    
score = model.evaluate(X_test, y_test, 
     batch_size = batch_size, show_accuracy = True, verbose=0)

dá saída escalar e, portanto, o seguinte código não funciona.

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

A saída que eu vejo é: Trem em 20.000 amostras, validar em 5000 amostras

Epoch 1/4

20000/20000 [==============================] - 352s - loss: 0.4515 - val_loss: 0.4232

Epoch 2/4

20000/20000 [==============================] - 381s - loss: 0.2592 - val_loss: 0.3723

 Epoch 3/4

 20000/20000 [==============================] - 374s - loss: 0.1513 - val_loss: 0.4329

 Epoch 4/4

 20000/20000 [==============================] - 380s - loss: 0.0838 - val_loss: 0.5044

Keras versão 1.0

Como posso obter a precisão também? Por favor ajude

Publicado 03/05/2016 em 05:25
fonte usuário
Em outras línguas...                            


2 respostas

votos
4

Se você usar o Sequentialmodelo que você pode tentar ( código atualizado ):

nb_epochs = 4
history = model.fit(X_train, y_train, batch_size = batch_size,
 nb_epoch = nb_epochs, validation_data = (X_test, y_test),
 show_accuracy = True)

print("Test score", history.history["val_loss"][nb_epochs - 1])
print("Test acc", history.history["val_acc"][nb_epochs - 1])
Respondeu 03/05/2016 em 10:41
fonte usuário

votos
3

Graças Marcin e você está correto.

O código precisa ser assim

model.compile(loss='binary_crossentropy',
          optimizer = 'adam',
          metrics=["accuracy"])

show_accuracy serve nenhuma finalidade no model.fit e necessita ser removido a partir daí.

Respondeu 04/05/2016 em 03:55
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more