File size: 1,728 Bytes
4c3bfea
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
library(vetiver)
library(pins)
library(tidyverse)

b <- board_folder(".")
v <- b |> 
  vetiver_pin_read("framinghamCHD")

chd_new <- chd_testing |> 
  slice_sample(n = 100) |> 
  mutate(tgl_update = sample(seq(Sys.Date()-7, Sys.Date(), by = "day"), 
                             size = 100, replace = TRUE)) |> 
  arrange(tgl_update)

chd_new |> 
  count(tgl_update)

chd_original_metric <- v |> 
  augment(chd_new) |> 
  vetiver_compute_metrics(date_var = tgl_update, period = "day", 
                          truth = TenYearCHD, estimate = .pred_class, 
                          metric_set = metric_set(accuracy, precision, recall, sensitivity, specificity))
b |> 
  pin_write(chd_original_mteric, "chd_model_metrics")

b |> 
  pin_read("chd_model_metrics") |> 
  vetiver_plot_metrics() +
  scale_size(range = c(2, 4)) + 
  theme_bw()


walk(1:20, function(x){
  
  chd_new <- chd_testing |> 
    slice_sample(n = 100) |> 
    mutate(tgl_update = Sys.Date()+x) |> 
    arrange(tgl_update)
  
  chd_new_metric <- v |> 
    augment(chd_new) |> 
    vetiver_compute_metrics(date_var = tgl_update, period = "day", 
                            truth = TenYearCHD, estimate = .pred_class, 
                            metric_set = metric_set(accuracy, precision, recall, sensitivity, specificity))
  
  last_metric <- b |>
    pin_read("chd_model_metrics")
  
  new_metric <- last_metric |> 
    bind_rows(chd_new_metric)
  
  b |> 
    vetiver_pin_metrics(df_metrics = new_metric, 
                        metrics_pin_name = "chd_model_metrics", 
                        overwrite = TRUE)

})

p1 <- b |> 
  pin_read("chd_model_metrics") |> 
  vetiver_plot_metrics() + 
  scale_size(range = c(2, 4)) + 
  theme_bw()
ggplotly(p1)