Using Keras in R - Masa-Ochi/r-samples GitHub Wiki

Setup

Required libraries

  • ggplot2 install.packages('ggplot2')
  • tidyr install.packages('tidyr')
  • dplyr install.packages('dplyr')
  • keras install.packages('keras')

Install keras module

library(keras)
library(reticulate)
library(tensorflow)
install_keras(method = "conda", conda = "auto", tensorflow = "default")

Sample codes

Preparation

#  データを読み込んでデーターフレームに入れる。
dataset = dataset_boston_housing()
c(c(x_train, y_train), c(x_test, y_test)) %<-% dataset

# トレーニングデータを正規化する
x_train = scale(x_train, center = TRUE, scale = TRUE)
center_train = attr(x_train, "scaled:center")
scale_train = attr(x_train, "scaled:scale")
x_test = scale(x_test, center = center_train, scale = scale_train)

Build model

# モデルの立ち上げ
model = keras_model_sequential()

# %>% を使ってレイヤーの設定を行う。以下中間層を2つ使った例
base = c(ncol(x_train))
model %>% 
  layer_dense(units = base, activation = "tanh", input_shape = base, name = "firstLayer") %>% 
  layer_dense(units = ncol(x_train), activation = "tanh", name = "secondLayer") %>% 
  layer_dense(units = 1, activation = "linear", name = "predictions")

# Optimizerと損失関数の指定
model %>% compile(optimizer = optimizer_nadam(), loss = 'mse')

# トレーニングの実行
historyTrain = model %>% fit(x_train, y_train, epochs = 250, batch_size = 5, verbose = 0)

# 損失関数のグラフ
plot(historyTrain)

pred = predict(model, x_test)
result_mse = data.frame(correct_value = y_test, MSE = pred)

References