I’m wondering how to add the predicted classes to the original data using brm()
like I might with glm()
. I think I’m missing how to summarize add_predicted_draws()
.
library(tidyverse)
library(brms)
library(tidybayes)
data("PimaIndiansDiabetes2", package = "mlbench")
df <- na.omit(PimaIndiansDiabetes2)
# freq
fit <- glm(diabetes ~ ., data=df, family="binomial")
predicted <- bind_cols(df, predict(fit, new_data = df, type = "response"))
predicted <- predicted %>%
rename("pred" = "...10") %>%
mutate(class = ifelse(pred > 0.5, "pos", "neg"),
class = factor(class))
predicted %>%
conf_mat(diabetes, class)
# brms
brms.fit <- brm(
formula = diabetes ~ .,
data = df,
family = bernoulli(link = "logit")
)
brms.pred <- df %>%
add_predicted_draws(brms.fit) %>%
mutate(pred = factor(.prediction,
levels=c(0,1),
labels=c("neg", "pos")))