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
Post a Comment