我想得到我的模型预测x_test标签的准确性
from __future__ import print_function
from keras.models import Sequential
from keras.layers import Dense
import keras
import numpy as 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))现在我想得到预测的精确性
predictions = model.predict(x_test)我试过:
print("\n%s: %.2f%%" % (model.metrics_names[1], predictions*100))我发现了以下错误:
---------------------------------------------------------------------------
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发布于 2017-04-06 15:19:15
model.predict生成一个与float完全不同的numpy.array。您可以尝试使用print(predictions)打印该字符串,但是在这种情况下,在float中使用格式化字符串绝对行不通。尝试:
print("\n%s:" % (model.metrics_names[1]))
print(100 * predictions)或
print("\n%s: %s" % (model.metrics_names[1], np.array_str(predictions*100)))或者如果你在x_test中只有一个病例
print("\n%s: %.2f%%" % (model.metrics_names[1], predictions[0]*100))https://stackoverflow.com/questions/43257910
复制相似问题