我有一些 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 回答
清单:
1确保你的X,输入是(11564,n)n是每行中的长度数,确保每行中的n是相同的,如果它们现在是,请考虑使用填充函数
2似乎你需要一个嵌入层或类似的东西让lstm接受你的数据,要么将它们缩小到低度,要么以某种方式减少
这是一个关于kaggle的例子:https://www.kaggle.com/divrikwicky/fast-basic-lstm-with-proper-k-fold-sentimentembed