【问题标题】:Deep Learning model with Different data types in KerasKeras 中具有不同数据类型的深度学习模型
【发布时间】:2018-09-03 19:22:55
【问题描述】:

我尝试使用 Keras 制作分类模型。我的数据包含一些数字特征和一些文本特征。我所说的文本特征是指 cmets 或类似的东西。数字特征将是类别、年龄等。

我想将文本特征传递给嵌入层,然后传递给 LSTM 层。需要将数字特征传递给一系列密集层。之后,需要连接两个层。之后是一个 Dense Layer 来进行输出。

如何在 Keras 中实现这种类型的模型?

或者有没有其他方法可以在模型中同时使用数字特征和基于文本的特征?

【问题讨论】:

    标签: python-3.x machine-learning deep-learning keras


    【解决方案1】:

    使用 keras 函数式 API 实现这样的网络相当容易。 假设您已经定义了两个顺序模型来处理您的文本和数字特征,那么您可以合并输出并继续处理更多层:

    txt_input = keras.layers.Input(shape=(n,))
    txt_feat = text_network(txt_input)
    num_input = keras.layers.Input(shape=(m,))
    num_feat = num_network(input2)
    concatinated = keras.layers.Concatenate()([txt_feat, num_feat])
    
    out = keras.layers.Dense(nodes)(concatinated)
    model = keras.models.Model(inputs=[input1, input2], outputs=out)
    

    您还可以使用来自 keras 的任何 merge layer 来使用其他类型的合并。

    【讨论】:

    • 我对 Tensorflow 比较陌生,和 OP 有同样的问题。当您说“定义两个顺序模型来处理您的文本和数字特征”时,我将如何做呢?或者,如果可能的话,是否有人制作了任何 Github repo,以便我可以看到一个实际的示例?谢谢。
    猜你喜欢
    • 2018-02-03
    • 2021-04-08
    • 1970-01-01
    • 1970-01-01
    • 2017-06-15
    • 2018-12-18
    • 1970-01-01
    • 2020-05-27
    • 1970-01-01
    相关资源
    最近更新 更多