在LSTM模型中将3d numpy重塑为2d

时间:2019-02-25 15:59:43

标签: python numpy lstm

我已经训练了LSTM AutoEncoder,并且希望将预测的数据视为DataFrame。 到目前为止,由于以下原因,预计的numpy具有三个维度:

series_predicted = autoencoder.predict(np.reshape(series.values, (series.shape[0], timesteps, series.shape[1])))
series_predicted.shape

(3296,1,268)

如何删除timesteps维度,以便回到2维并应用: df_predicted = pd.DataFrame(series_predicted, column=series.column)

更新:

如果我没有1的尺寸来挤压,该怎么办?

  • 像(100,23,178)
  • 我希望它的尺寸​​等于(100 * 23,178)

我确实有100个长度为23的序列,特征尺寸为178。

2 个答案:

答案 0 :(得分:1)

对于带有size=1的维度,您可以使用np.squeeze。但是,此功能不适用于带有size>1的尺寸。您可以使用np.reshape(如果要查找的是这个)。这是一个玩具示例:

a = np.random.rand(4,2,3)
a = a.reshape((4*2,3))

答案 1 :(得分:0)

@Entity
@Cacheable(true)
@Cache(expiry = 300000)
@Table(uniqueConstraints=@UniqueConstraint(name = "uc_b_a_v", columnNames = {"a_id", "v"}))
public class Entity {

    @Transient
    private String transientfield;  

    @PostLoad
    public void onPostLoad() {
        transientfield = null;
    }
}

(3296,268)