Keras - Plot training, validation and test set accuracy

前端 未结 4 1679
萌比男神i
萌比男神i 2020-12-07 22:36

I want to plot the output of this simple neural network:

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


        
相关标签:
4条回答
  • 2020-12-07 23:22

    try

    pd.DataFrame(history.history).plot(figsize=(8,5))
    plt.show()
    
    0 讨论(0)
  • 2020-12-07 23:36
    import keras
    from matplotlib import pyplot as plt
    history = model1.fit(train_x, train_y,validation_split = 0.1, epochs=50, batch_size=4)
    plt.plot(history.history['acc'])
    plt.plot(history.history['val_acc'])
    plt.title('model accuracy')
    plt.ylabel('accuracy')
    plt.xlabel('epoch')
    plt.legend(['train', 'val'], loc='upper left')
    plt.show()
    

    plt.plot(history.history['loss'])
    plt.plot(history.history['val_loss'])
    plt.title('model loss')
    plt.ylabel('loss')
    plt.xlabel('epoch')
    plt.legend(['train', 'val'], loc='upper left')
    plt.show()
    

    0 讨论(0)
  • 2020-12-07 23:37

    It is the same because you are training on the test set, not on the train set. Don't do that, just train on the training set:

    history = model.fit(x_test, y_test, nb_epoch=10, validation_split=0.2, shuffle=True)
    

    Change into:

    history = model.fit(x_train, y_train, nb_epoch=10, validation_split=0.2, shuffle=True)
    
    0 讨论(0)
  • 2020-12-07 23:37

    Validate the model on the test data as shown below and then plot the accuracy and loss

    model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
    history = model.fit(X_train, y_train, nb_epoch=10, validation_data=(X_test, y_test), shuffle=True)
    
    0 讨论(0)
提交回复
热议问题