我正在研究多类文本分类,如何将一种热编码方法传入keras模型以在ytrainset中进行训练?

问题描述 投票:0回答:1

我正在研究文本分类问题。我的ytrain中有9个标签,但是当我将xtrain和ytrain传递给model时,它给了我错误:期望具有shape(1,)但得到了(9,)。我的ytrain大小是(32,9)。附上Ytrain的图片::

ytrain image

下面是我的模特:

model = Sequential()
model.add(layers.Embedding(input_dim=vocab_size, output_dim=embedding_dim, input_length=max_len))
model.add(layers.Conv1D(filters=100, kernel_size=4))
model.add(layers.GlobalMaxPooling1D())
model.add(layers.Dense(12, activation='softmax'))
model.compile(loss='sparse_categorical_crossentropy', optimizer='adam', metrics=['accuracy',precision,recall,f1])
model.summary()

Traceback:检查目标时出错:预期density_9的形状为(1,),但数组的形状为(9,)]

'''

tensorflow machine-learning keras text-classification
1个回答
0
投票

您应将y_train转换为一键编码。例如,您可以使用keras.utils.to_categorical

© www.soinside.com 2019 - 2024. All rights reserved.