print(' validation accuracy:\t\t{:.7f}'.format( accuracy_score(np.array(targ), preds_tst)), flush=True) print('Confusion matrix for test:', flush=True) print(confusion_matrix(np.array(targ), np.array(preds).argmax(axis=1)), flush=True)
时间: 2023-11-26 17:06:01 浏览: 116
解决keras,val_categorical_accuracy:,0.0000e+00问题
这段代码是用来评估模型性能的。它打印出了模型在测试集上的准确率和混淆矩阵。
其中,`accuracy_score`是用来计算准确率的函数,它接收两个参数:目标标签和模型预测的标签,返回一个准确率的分数值。`np.array(targ)`是目标标签的numpy数组,`preds_tst`是模型在测试集上的预测结果,这里也是一个numpy数组。
`confusion_matrix`是用来计算混淆矩阵的函数,它接收两个参数:目标标签和模型预测的标签。`np.array(targ)`是目标标签的numpy数组,`np.array(preds).argmax(axis=1)`是将模型预测的概率转换为标签的过程,其中`np.array(preds)`是模型预测的概率结果,是一个numpy数组,`.argmax(axis=1)`是取每行中最大值的索引,也就是预测的标签。
最后打印出了混淆矩阵的结果。混淆矩阵是一个方阵,其中每一行表示实际的类别,每一列表示预测的类别。矩阵的对角线上的元素表示分类正确的样本数,非对角线上的元素表示分类错误的样本数。
阅读全文