Monitor model

library(flexdashboard)
library(vetiver)
library(pins)
library(plotly)

knitr::opts_chunk$set(echo = FALSE)
pins <- get_vetiver_dashboard_pins()
metrics_pin_name <- paste(pins$name, "metrics", sep = "_")
# Before knitting this example monitoring dashboard, execute:
pin_example_kc_housing_model()

# This function will set up demo model and metrics pins 
# Instead of real pin URLs, you will see only demo links
# Load deployed model from pin:
v <- vetiver_pin_read(pins$board, pins$name, version = pins$version)
meta <- pin_meta(pins$board, pins$name, version = pins$version)
days_old <- difftime(Sys.Date(), as.Date(meta$created), units = "days")

# Attaches packages needed for prediction:
attach_pkgs(v$metadata$required_pkgs)
# Load new validation data, for example from database or API:
validation_df <- mlr3data::kc_housing %>%
    arrange(date) %>%
    filter(date >= "2015-01-01") 

validation_aug <- augment(v, validation_df)

new_metrics <-
    validation_aug %>%
    vetiver_compute_metrics(date, "week", price, .pred)

vetiver_pin_metrics(pins$board, new_metrics, metrics_pin_name, overwrite = TRUE)

Model metrics

p1 <- new_metrics %>%
    ## you can operate on your metrics as needed:
    filter(.metric %in% c("rmse", "mae"), .n > 20) %>%
    vetiver_plot_metrics() + 
    ## you can also operate on the ggplot:
    scale_size(range = c(2, 5))

p1 <- ggplotly(p1)
hide_legend(p1)

This model was published r as.numeric(days_old) days ago.

Plot model metrics over time to monitor your model.

Explore validation data

p2 <-
    validation_df %>%
    ggplot(aes(price, after_stat(density), fill = waterfront)) +
    geom_histogram(alpha = 0.7, position = "identity")

ggplotly(p2)

Write your own code to make visualizations or tables with the new validation data, and/or the new predictions.

API visual documentation

## use your own vetiver model API URL here:
knitr::include_url("https://colorado.rstudio.com/rsc/seattle-housing/", height = "600px")

Interact directly with your model via its visual documentation, and get curl examples.



Try the vetiver package in your browser

Any scripts or data that you put into this service are public.

vetiver documentation built on Nov. 17, 2023, 1:06 a.m.