首页 文章

Keras LSTM模型数据重新形成

提问于
浏览
0

我有一些 Y-axis values of sine wave 作为功能,我将其标记为 pass or fail 并使用线性回归来训练它并得到98%(因为它是合成数据)现在我尝试将数据提供给LSTM模型并希望看到准确性 . 但我不知道如何使用我的数据指定LSTM模型 .

我有Y = label =

数组([[1,0],[1,0],[1,0],[1,0],[1,0],[0,1],[0,1],[0,1] ,[0,1],[0,1],[0,1],[0,1],[0,1],[0,1],[0,1],[0,1],[具有形状(11564,2)的0,1],[0,1],[0,1],[0,1],...] .

我有一个特征= X =

阵列[([0.0,0.03140919,0.06278424,..., - 0.08864117,-0.0591398,-0.02958302],[0,0.03140762,0.06277796,...,-0.08349163,-0.05570133,-0.02786163],[0 . ,0.03140605,0.06277169,..., - 0.07864125,-0.05246279,-0.02624041],...,[0.,0.96491418,-0.5409955,...,0.,0.,0 . ],[0, 0.96496242,-0.5410496,...,0.,0.,0 . ],[0.,0.96501067,-0.54110371,...,0.,0 . ,0 . ]])形状为(11564, 1200))

现在我如何选择LSTM代码的值:

model = Sequential()

model.add(keras.layers.LSTM(hidden_nodes,input_shape =(window,num_features)))

model.add(降(0.2))

model.add(keras.layers.Dense(num_features,activation ='sigmoid'))

optimizer = keras.optimizers.SGD(lr = learning_rate,decay = 1e-6,momentum = 0.9,nesterov = True)

1 回答

  • 0

    清单:

    1确保你的X,输入是(11564,n)n是每行中的长度数,确保每行中的n是相同的,如果它们现在是,请考虑使用填充函数

    2似乎你需要一个嵌入层或类似的东西让lstm接受你的数据,要么将它们缩小到低度,要么以某种方式减少

    keras.layers.LSTM(units,activation ='tanh',recurrent_activation ='hard_sigmoid',use_bias = True,kernel_initializer ='glorot_uniform',recurrent_initializer ='orthogonal',bias_initializer ='zeros',unit_forget_bias = True,kernel_regularizer = None ,recurrent_regularizer = None,bias_regularizer = None,activity_regularizer = None,kernel_constraint = None,recurrent_constraint = None,bias_constraint = None,dropout = 0.0,recurrent_dropout = 0.0,implementation = 1,return_sequences = False,return_state = False,go_backwards = False,有状态= False,unroll = False)

    这是一个关于kaggle的例子:https://www.kaggle.com/divrikwicky/fast-basic-lstm-with-proper-k-fold-sentimentembed

相关问题