Форматирование данных для 1D-CNN в R - PullRequest
0 голосов
/ 10 июля 2020

У меня есть массив данных (около 1000+ случаев (строк) и около 650+ столбцов информации (V1 - V5 в приведенном ниже примере), который я хочу использовать для keras 1D-CNN (который имеет 3 классификации (класс в приведенном ниже примере)).

У меня проблемы с форматированием данных таким образом, чтобы они соответствовали модели, которую я написал.

Данные выглядят примерно так :

set.seed(999)
case <- c('A','B','C','D','E','F','G','H')
class <- c('N','N','T','R','T','R','N','T') 
V1 <- runif(8, min = 0, max = 1)
V2 <- runif(8, min = 0, max = 1)
V3 <- runif(8, min = 0, max = 1)
V4 <- runif(8, min = 0, max = 1)
V5 <- runif(8, min = 0, max = 1)

df <- data.frame(case, class, V1, V2, V3, V4, V5)
df

Keras 1D-CNN, который я написал, выглядит так:

build.model <- function() {

  model <- keras_model_sequential()

    model %>%
      layer_conv_1d(
        filter = 32, kernel_size = c(5), padding = "same",
        input_shape = c(100, 3)
      ) %>%
      layer_activation("relu") %>%
      # Use max pooling
      layer_max_pooling_1d(pool_size = c(2)) %>%
      # Flatten max filtered output into feature vector
      # and feed into dense layer
      layer_flatten() %>%
      layer_dense(128) %>%
      layer_activation('relu') %>%
      layer_dense(3) %>%
      layer_activation('softmax')
 
    model %>% compile(
      loss = 'categorical_crossentropy',
      optimizer = 'rmsprop',
      metrics = 'accuracy'
    )
  return(model)
}

model <- build.model()
print(model)

Когда я пытаюсь передать df через модель, это не работает. Я знаю, что это сделать с форматом данных, но я не знаю, как это исправить.

Любые советы / указатели были бы очень признательны.

TIA Miki

...