我正在处理一个多类分类问题(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
我能做什么呢?
1条答案
按热度按时间mzmfm0qo1#
您的
pred
数组似乎包含班级分数而不是预测。请尝试pred.argmax(axis=1)
。