我有一个y_test.shape = (2005,1)我建立了一个模型并做了如下预测prediction=model1.predict(np.array(test_x))
我得到了预测形状(2005,7)
我想得到模型的精度,但由于形状不同,我无法执行执行精度计算。模型预测的工作方式是每个类都在一个列中,如果图片属于这个类,它将有1。有没有方法使它向量,每行对应于类号。
另外,如果我有标签测试,还有其他方法来获得预测的准确性吗?我想把它和预测结果进行比较?
发布于 2021-03-28 07:07:40
假设prediction是test_x在每个类中的预测概率,您可以使用prediction.argmax(axis=1)来获得包含预测类的索引(从0到6)的大小为2005的向量。预测损失也可以计算出来。
pred_class = prediction.argmax(axis=1)
l2loss = ((pred_class - y_test[:, 0]) ** 2).mean()y_test[:, 0]只需将矩阵(2005, 1)更改为大小为2005的向量。或者你可以像这样做0/1损失
binary_loss = (pred_class != y_test[:, 0]).mean()https://stackoverflow.com/questions/66836859
复制相似问题