代码之家  ›  专栏  ›  技术社区  ›  Manthan mahes wari

如何将2D pandas阵列适配到Keras LSTM层?

  •  0
  • Manthan mahes wari  · 技术社区  · 6 年前

    我有一个二维数组(pandas),它是一个时间序列,有3180行,每行有8列(数组)作为特征。我正在尝试训练LSTM层

    sc = StandardScaler()
    X_train = sc.fit_transform(X_train)
    print (X_train.shape)
    classifier = Sequential()
    classifier.add(LSTM(units=128, input_shape=(1, len(X_train), x.shape[1])))
    

    如中所述 this .但出现的错误是,

    ValueError: Input 0 is incompatible with layer lstm_1: expected ndim=3, found ndim=4
    
    1 回复  |  直到 6 年前
        1
  •  0
  •   spadarian    6 年前

    LSTM 需要一个3D数组作为输入,所以 input_shape 形状长度应为2。。。

    假设 X_train.shape (3180, 8, 1) ,这应该可以:

    LSTM(units=128, input_shape=X_train.shape[1:]))