我有一些正弦波的Y轴值作为特征,我将其标记为通过或失败,并使用线性回归对其进行训练,得到了98%(自这是一个综合数据) 现在,我试图将数据提供给LSTM模型,并希望查看其准确性。但是我不知道如何使用我的数据指定LSTM模型。
我有Y =标签=
array([[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 ],[0,1],[0,1],[0,1],[0,1],...]的形状为(11564,2)。
我有一个特征= X =
array([[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(Dropout(0.2))
model.add(keras.layers.Dense(num_features,activation ='sigmoid'))
optimizer = keras.optimizers.SGD(lr = learning_rate,衰减= 1e-6,动量= 0.9,nesterov = True)
答案 0 :(得分:0)
清单:
1确保您的X,输入为(11564,n)n是每一行的长度数,请确保n在每一行中都相同,如果现在已经相同,请考虑使用padding func
2似乎您需要一个嵌入层或类似的东西才能让lstm接受您的数据,或者将它们缩小到较低的程度,或者以某种方式减少
keras.layers.LSTM(单位,激活='tanh',recurrent_activation ='hard_sigmoid',use_bias = True,kernel_initializer ='glorot_uniform',recurrent_initializer ='正交',bias_initializer ='zeros',unit_forget_bias = izer真正, =无,recurrent_regularizer =无,bias_regularizer =无,activity_regularizer =无,kernel_constraint =无,recurrent_constraint =无,bias_constraint =无,辍学= 0.0,recurrent_dropout = 0.0,实现= 1,return_sequences = False,return_state = False,go_backwards = ,有状态= False,展开= False)
这是kaggle的示例: https://www.kaggle.com/divrikwicky/fast-basic-lstm-with-proper-k-fold-sentimentembed