我有一个数据集,其中包含 1000 个用户的活动数据。由于一个用户的活动与另一个用户不同,我希望用户属性也发送到 LSTM RNN 模型,以便模型可以更好地了解每个用户的行为。我的数据集片段如下:
https://i.stack.imgur.com/poL31.jpg
我尝试了分类信息的 one-hot 编码和二进制编码,但模型没有产生好的结果。但是将 LSTM RNN 模型应用于单个用户的数据(不包括用户变量)会产生很好的结果。
我的用于异常检测的 lstm 自动编码器模型片段如下:
inputs = Input(shape = (timesteps, n_features))
L1 = LSTM(encoding_dim, activation='relu', return_sequences=True,
kernel_regularizer=regularizers.l2(0.00))(inputs)
L2 = LSTM(hidden_dim, activation='relu', return_sequences=False)(L1)
L3 = RepeatVector(timesteps)(L2)
L4 = LSTM(hidden_dim, activation='relu', return_sequences=True)(L3)
L5 = LSTM(encoding_dim, activation='relu', return_sequences=True)(L4)
output = TimeDistributed(Dense(n_features))(L5)
lstm_model = Model(inputs=inputs, outputs=output)
lstm_model.summary()
现在我试过了,
n_features = 22; 不。特征 [ 1(带有 one-hot 编码的分类)+ 21(数字)]
encoding_dim = 16
hidden_dim = 8
如何使用此模型更好地处理分类属性,即用户变量?