tensorflow 混淆矩阵:值错误:分类度量不能处理多类和连续多输出目标的混合

nxagd54h  于 2022-12-23  发布在  其他
关注(0)|答案(1)|浏览(166)

我正在处理一个多类分类问题(12个类),但我无法创建混淆矩阵。我尝试做的是:

from sklearn.metrics import multilabel_confusion_matrix
pred = model_BiLSTM.predict(X_val)
y_unique = np.unique(y_val)
mcm =confusion_matrix(y_val, pred, labels = y_unique)

但根据标题,返回的错误为:"值错误:分类度量不能处理多类和连续多输出目标的混合",使用confusion_matrix()时也是如此。
相反,这是
x一个一个一个一个x一个一个二个x
如果有用的话,这是我的模型:

def build_BiLSTM_classifier(input_shape, classes):
    input_layer = tfkl.Input(shape=input_shape, name='Input')
    bilstm = tfkl.Bidirectional(tfkl.LSTM(128, return_sequences=True))(input_layer)
    bilstm = tfkl.Bidirectional(tfkl.LSTM(128))(bilstm)
    dropout = tfkl.Dropout(.5, seed=seed)(bilstm)

    classifier = tfkl.Dense(128, activation='tanh')(dropout)
    output_layer = tfkl.Dense(classes, activation='softmax')(classifier)

    model = tfk.Model(inputs=input_layer, outputs=output_layer, name='model')

    model.compile(loss=tfk.losses.SparseCategoricalCrossentropy(), optimizer=tfk.optimizers.Adam(), metrics='accuracy')
    return model

我能做什么呢?

mzmfm0qo

mzmfm0qo1#

您的pred数组似乎包含班级分数而不是预测。请尝试pred.argmax(axis=1)

相关问题