У меня есть данные с 20 независимыми переменными и 5 ответами. Я пытаюсь реализовать модель для прогнозирования 5 зависимых переменных, используя LSTM в R. Я не смог подготовить данные для использования. Ваша помощь высоко ценится.
Вот 20 строк и 7 столбцов моих полных данных. Я прошу общий код, который применим всякий раз, когда изменяются входы и выходы. Мои данные:
данные <- структура (список (X1 = C (35L, 34L, 30L, 30L, 40L, 46L, 34L, 27L, 34L, 32L, 37L, 36L, 26L, 35L, 32L,30L, 30L, 35L, 32L, 25L), X2 = c (20,2, 19,6, 17,3, 17,3, 17,3, 23,1, 26,6, 21,1, 15,6, 19,6, 18,5, 21,4, 20,8, 15, 20,2, 18,5, 17,3, 17,3, 22, 18,5, 14,4), X3 = c (34L, 40L, 38L, 55L, 56L, 60L, 66L, 49L, 48L, 29L, 67L, 78L, 39L, 53L, 73L, 59L, 13L, 44L, 70L, 32L), X4 = c (23L, 46L, 63L, 64L, 72L, 61L, 49L, 48L, 63L, 68L, 62L, 27L, 35L, 45L, 59L, 36L, 39L, 17L, 40L, 44L), Y1 = c (37L, 37L, 43L, 55L, 49L, 51L, 41L, 30L, 43L, 31L, 30L, 19L, 24L, 24L, 26L, 30L, 21L, 11L, 19L, 21L), Y2 = c (30L, 21L, 21L, 38L, 39L, 27L, 21L, 37L, 35L, 20L, 14L, 9L, 20L, 30L, 38L, 43L, 26L, 23L, 16L, 28L), Y3 = c (34L, 30L, 30L, 40L, 46L,34L, 27L, 34L, 32L, 37L, 36L, 26L, 35L, 32L, 30L, 30L, 35L, 32L, 25L, 32L)), class = "data.frame", row.names = c (NA, -20L)) </p>
data <- as.matrix(data)
dimnames(data) <- NULL
set.seed(1234)
ind <- sample(2, nrow(data), replace = T, prob = c(0.7,0.3))
training <- data[ind==1, 1:20]
test<- data[ind==2, 1:20]
trainingtarget <- data[ind==1, 21:25]
testtarget<- data[ind==2, 21:25]
#reshaping the data
training <- aperm(`dim<-`(t(training), list(20,284, 1)), c(2, 1, 3))
trainingtarget <- aperm(`dim<-`(t(trainingtarget), list(5, 284, 1)), c(2,
1, 3))
#create a model
model <- keras_model_sequential()
library(keras)
model %>%
layer_lstm(units = 100,
input_shape = c(20,1),
batch_size = 1) %>%
layer_dense(units = 1)
#compile
model %>%
compile(loss = 'mae', optimizer = 'adam')
#fit model
model %>% fit(x = training,
y = trainingtarget,
batch_size = 1,
epochs = 10,
verbose = 1,
shuffle = FALSE)
У меня проблема, когда я пытаюсь подогнать модель. Я получаю много типов ошибок, и все они относятся к форме данных, которые я использую при подгонке модели