Keras神经网络结果

时间:2018-12-19 22:37:27

标签: r tensorflow keras

我正在尝试用Keras了解R的神经网络。我使用不同的来源类似https://tensorflow.rstudio.com/keras/articles/tutorial_basic_regression.html估算模型。不知道为什么我收到了NA结果。有人可以解释我做错了吗?

下面链接下方的数据可用 https://www.kaggle.com/c/boston-housing/data

谢谢。

library(keras)    
install_keras()

library(dplyr)
library(caTools)

boston_housing  <- read.csv(file = "C:/Users/Piotrek/Desktop/HousingData.csv")

boston_housing <- as.matrix(boston_housing)
dimnames(boston_housing) <- NULL

summary(boston_housing)

set.seed(123)

split = sample.split(boston_housing$LSTAT, SplitRatio = 0.75)

training_set = subset(boston_housing, split == TRUE)

test_set = subset(boston_housing, split == FALSE)

training_set_output <- as.matrix(training_set[,c(14)])
test_set_output <- training_set[,c(14)]

training_set <-  scale(training_set[,1:13])
test_set <- test_set[,1:13]

  model <- keras_model_sequential() %>%
    layer_dense(units = 64, activation = "relu",
                input_shape = dim(training_set)[2]) %>% #input_shape liczba inpur variables 
    layer_dense(units = 64, activation = "relu") %>%
    layer_dense(units = 1)

  model %>% compile(
    loss = "mse",
    optimizer = optimizer_rmsprop(),
    metrics = list("mean_absolute_error")
  )

model %>% summary()

print_dot_callback <- callback_lambda(
  on_epoch_end = function(epoch, logs) {
    if (epoch %% 80 == 0) cat("\n")
    cat(".")
  }
)  

history <- model %>% fit(training_set,
               training_set_output,
               epochs = 100,
               validation_split = 0.2,
               callbacks = list(print_dot_callback))

library(ggplot2)

plot(history, metrics = "mean_absolute_error", smooth = FALSE) +
  coord_cartesian(ylim = c(0, 5))

0 个答案:

没有答案