本来程序中用了model.evaluate来求loss和准确率
score, acc = model.evaluate(X_test, y_test, batch_size=batch_size)
后来想加上recall,查了半天也没找到model.evaluate能返回recall。
后来就想换个函数:
y_pred=model.predict(X_test, batch_size=batch_size)#此处传入的X_test和Input层的内容一致,要是多个Input(),就传个列表,和model.fit传入的参数一致(不传y_test)
print(classification_report(Y_test, y_pred))
先用model.predict()求出预测结果y_pred,然后利用包:
from sklearn.metrics import classification_report将其打印出来。
由于我们预测的概率向量[0.2,0.3,0.4,0.1]是这样,和真实标签的one-hot表示有出入[0,0,1,0],所以可以将预测的概率向量y_pred进行以下转换