python - Get the accuracy of model on prediciton -


l want accuracy of model predicting labels of x_test

   __future__ import print_function     keras.models import sequential     keras.layers import dense     import keras     import numpy np     model = sequential()     model.add(dense(2000, input_dim=3072, activation='relu'))     model.add(dense(500, activation='relu'))     model.add(dense(66, activation='softmax'))     model.fit(x_train,y_train, epochs=100, batch_size=128)     scores = model.evaluate(x_train, y_train)     print("\n%s: %.2f%%" % (model.metrics_names[1], scores[1]*100)) 

now l want accuracy on prediction

predictions = model.predict(x_test) 

l tried :

  print("\n%s: %.2f%%" % (model.metrics_names[1], predictions*100)) 

l got following error:

--------------------------------------------------------------------------- typeerror                                 traceback (most recent call last) <ipython-input-262-edbcf292f31c> in <module>() ----> 1 print("\n%s: %.2f%%" % (model.metrics_names[1], predictions*100))  typeerror: float argument required, not numpy.ndarray 

model.predict produces numpy.array different float. might try print using print(predictions) using formatted string float absolutely won't work in case. try:

print("\n%s:" % (model.metrics_names[1])) print(100 * predictions) 

or

print("\n%s: %s" % (model.metrics_names[1], np.array_str(predictions*100))) 

or if have 1 case in x_test:

print("\n%s: %.2f%%" % (model.metrics_names[1], predictions[0]*100)) 

Comments