knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>"
)

Train a model with a recipe for preprocessing:

library(tidymodels)
data(bivariate)

biv_rec <-
    recipe(Class ~ ., data = bivariate_train) %>%
    step_BoxCox(all_predictors())%>%
    step_normalize(all_predictors())

svm_spec <-
    svm_linear(mode = "classification") %>%
    set_engine("LiblineaR")

svm_fit <- workflow() %>%
    add_recipe(biv_rec) %>%
    add_model(svm_spec) %>%
    fit(bivariate_train)

Pin the model and create the API:

library(deploytidymodels)
library(pins)
library(plumber)

model_board <- board_temp()
model_board %>% pin_model(svm_fit, model_id = "biv_svm")

pr() %>%
    pr_model(model_board, "biv_svm", type = "class") %>%
    pr_run(port = 8088)

Make predictions from API:

library(tidyverse)
data("bivariate", package = "modeldata")
new_biv <- dplyr::select(bivariate_test, -Class)

predict_api("http://127.0.0.1:8088/predict", new_biv)


juliasilge/deploytidymodels documentation built on Dec. 21, 2021, 4:16 a.m.