Keras 多类数据的混淆矩阵

Keras 多类数据的混淆矩阵,keras,confusion-matrix,Keras,Confusion Matrix,我已将以下模型与我的7类数据相匹配,我想为我的模型创建一个混淆矩阵: history1 = model1.fit(data_generator.flow(train_x, to_categorical(train_y),batch_size=BATCH_SIZE), steps_per_epoch=len(train_x) / BATCH_SIZE, validation_data=data_generator.f

我已将以下模型与我的7类数据相匹配,我想为我的模型创建一个混淆矩阵:

history1 = model1.fit(data_generator.flow(train_x, to_categorical(train_y),batch_size=BATCH_SIZE), 
                    steps_per_epoch=len(train_x) / BATCH_SIZE,
                    validation_data=data_generator.flow(val_x, to_categorical(val_y),batch_size=BATCH_SIZE),
                    validation_steps=len(val_x) / BATCH_SIZE,epochs=NUM_EPOCHS)
当我这样做时,预测列车组结果:

y_train_pred = model1.predict(train_x)
cm_train = confusion_matrix(train_y, y_train_pred)
它给了我这个错误:

Classification metrics can't handle a mix of unknown and multiclass targets
你能告诉我怎么做吗?

你好像在用
sklearn.metrics.conflusion\u矩阵
试用
从sklearn.metrics导入多标签矩阵

相反。

谢谢你的评论,我已经用过了,但没有用。问题是,当我拟合模型时,我得到(7007,7)预测,我的测试标签形状是(7007,1)。预测是将每个类放在一列中,而标签是一列。似乎您错过了将目标值转换为一个热编码的步骤。您能否详细说明如何实现这一点对预测应用argmax操作。从sklearn.metrics导入多标签混淆矩阵#预测列车组结果y_train_pred=np.argmax(model1.predict(train_x))#cm_train=多标签混淆矩阵(train_y,y_train_pred)y_train pred.shape()我只得到一个值