-
Notifications
You must be signed in to change notification settings - Fork 106
Closed
Description
I am trying to reproduce the example
Classification models using a neural network
offered at
https://www.tidymodels.org/learn/models/parsnip-nnet/
but getting the errors with the example below.
Thanks in advance!
library(keras)
library(tidymodels)
library(tensorflow)
data(bivariate)
ggplot(bivariate_train, aes(x = A, y = B, col = Class)) +
geom_point(alpha = .2)
biv_rec <-
recipe(Class ~ ., data = bivariate_train) %>%
step_BoxCox(all_predictors())%>%
step_normalize(all_predictors()) %>%
prep(training = bivariate_train, retain = TRUE)
# We will bake(new_data = NULL) to get the processed training set back
# For validation:
val_normalized <- bake(biv_rec, new_data = bivariate_val, all_predictors())
# For testing when we arrive at a final model:
test_normalized <- bake(biv_rec, new_data = bivariate_test, all_predictors())
set.seed(57974)
nnet_fit <-
mlp(epochs = 100, hidden_units = 5, dropout = 0.1) %>%
set_mode("classification") %>%
# Also set engine-specific `verbose` argument to prevent logging the results:
set_engine("keras", verbose = 0) %>%
fit(Class ~ ., data = bake(biv_rec, new_data = NULL))
val_results <-
bivariate_val %>%
bind_cols(
predict(nnet_fit, new_data = val_normalized),
predict(nnet_fit, new_data = val_normalized, type = "prob")
)
val_results %>% slice(1:5)
Error in py_get_attr_impl(x, name, silent) :
AttributeError: 'Sequential' object has no attribute 'predict_classes'
In addition: Warning message:
In keras::predict_classes(object = object$fit, x = as.matrix(new_data)) :
`predict_classes()` is deprecated and and was removed from tensorflow in version 2.6.
Please update your code:
* If your model does multi-class classification:
(e.g. if it uses a `softmax` last-layer activation).
model %>% predict(x) %>% k_argmax()
* if your model does binary classification
(e.g. if it uses a `sigmoid` last-layer activation).
model %>% predict(x) %>% `>`(0.5) %>% k_cast("int32")
Metadata
Metadata
Assignees
Labels
No labels