在KerasR中使用LSTM我必须转换我的NumericMatrix(335 x 1515) 我想我在这里找到了一个解决方案https://stats.stackexchange.com/questions/274478/understanding-input-shape-parameter-in-lstm-with-keras 但它是在python中
x_train=numpy.reshape(x_train,(x_train.shape[0],x_train.shape[1],1))
我不知道如何在R中完成。
答案 0 :(得分:1)
您可以将新形状分配给数组的dim
属性:
dim(x_train) <- c(dim(x_train), 1)
或者使用array
重塑并获取新阵列:
array(x_train, c(dim(x_train), 1))
x_train <- array(1:10, c(2,5))
x_train
# [,1] [,2] [,3] [,4] [,5]
#[1,] 1 3 5 7 9
#[2,] 2 4 6 8 10
dim(x_train)
#[1] 2 5
dim(x_train) <- c(dim(x_train), 1)
x_train
#, , 1
# [,1] [,2] [,3] [,4] [,5]
#[1,] 1 3 5 7 9
#[2,] 2 4 6 8 10
dim(x_train)
#[1] 2 5 1
答案 1 :(得分:0)
我知道这已经得到了解答,但是对于completition,R中的Keras有一个名为k_expand_dims()
的内置函数,所以你可以添加一个额外的维度,如下所示:
x_train <- k_expand_dims(x_train, axis = 3)
观察:选项axis = 3
在&#34; z&#34;中添加了额外的维度。方向,所以数组最终将成为一个3D数组