In this recipe, we will use a pre-made `dnn_regressor` estimator. Let's get started and build and train a deep learning estimator model:

- We need to execute some steps before building an estimator neural network. First, we need to create a vector of feature names:

features_set <- setdiff(names(dummy_data_estimator), "target")

Here, we construct the feature columns according to the Estimator API. The `feature_columns()` function is a constructor for feature columns, which defines the expected shape of the input to the model:

feature_cols <- feature_columns(

column_numeric(features_set)

)

- Next, we define an input function so that we can select feature and response variables:

estimator_input_fn <- function(data_,num_epochs = 1) {

input_fn(data_, features = features_set, response = "target",num_epochs = num_epochs )

}

- Let's construct an estimator regressor model:

regressor <- dnn_regressor(

feature_columns = feature_cols,

hidden_units = c(5, 10, 8),

label_dimension = 1L,

activation_fn = "relu"

)

- Next, we need to train the regressor we built in the previous step:

train(regressor, input_fn = estimator_input_fn(data_ = dummy_data_estimator))

- Similar to what we did for the training data, we need to simulate some test data and evaluate the model's performance:

x_data_test_df <- as.data.frame( matrix(rnorm(100*784), nrow = 100, ncol = 784))

y_data_test_df <- as.data.frame(matrix(rnorm(100), nrow = 100, ncol = 1))

We need to change the column name of the response variable, just like we did for the training data:

colnames(y_data_test_df)<- c("target")

We bind the x and y data together for the test data:

dummy_data_test_df <- cbind(x_data_test_df,y_data_test_df)

Now, we generate predictions for the test dataset using the regressor model we built previously:

predictions <- predict(regressor, input_fn = estimator_input_fn(dummy_data_test_df), predict_keys = c("predictions"))

Next, we evaluate the model's performance on the test dataset:

evaluation <- evaluate(regressor, input_fn = estimator_input_fn(dummy_data_test_df))

evaluation

In the next section, you will gain a comprehensive understanding of the steps we implemented here.