【发布时间】:2018-08-18 19:12:18
【问题描述】:
我有 X 作为文本,有两个不同的标签(列)要训练。
--input.csv--
content, category, rate
text test, 1, 3
new test, 2, 2
这里我的输入 X 将是内容。我已将其转换为序列矩阵。我需要与内容一起训练类别和速率。我不知道如何在图层中传递它。
def RNN():
num_categories = 2
num_rates = 3
inputs = Input(name='inputs',shape=[max_len])
layer = Embedding(max_words,150,input_length=max_len)(inputs)
layer = LSTM(100)(layer)
shared_layer = Dense(256, activation='relu', name='FC1')(layer)
shared_layer = Dropout(0.5)(shared_layer)
cat_out = Dense(num_categories, activation='softmax', name='cat_out')(shared_layer)
rate_out = Dense(num_rates, activation='softmax', name='rate_out')(shared_layer)
model = Model(inputs=inputs,outputs=[cat_out, rate_out])
return model
model = RNN()
model.summary()
model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])
model.fit(sequences_matrix,[Y_train, Z_train])
Y_train 仅包含类别。我想为培训增加费率。有人知道吗? 我想要两个结果。一个应该是关于类别的,另一个是速率。 目前它只返回标签。不随率。我不知道如何为 Rate 列添加图层。
【问题讨论】:
-
可以添加
sequences_matrix和Y_train的形状 -
你的问题毫无意义。您谈论标签中的问题,但发布模型的代码。您给出的错误涉及您的标签的输入形状,其代码无处可寻。想想你想回答什么并编辑你的问题。根据您的问题可以得到什么,是什么阻止您将类别和费率都放入标签中?如果您在
np.arrays 中同时拥有这两个值,那么简单的np.concatenate已经可以解决问题了。 -
好的。我会更新问题。
标签: python keras text-classification