Skip to content

Commit ad383fb

Browse files
committed
begin monitoring functions
1 parent 878cf6c commit ad383fb

1 file changed

Lines changed: 81 additions & 0 deletions

File tree

vetiver/monitor.py

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
import pins
2+
3+
# def vetiver_compute_metrics(data,
4+
# date_var,
5+
# .period,
6+
# truth, estimate, **kw,
7+
# metric_set = yardstick::metrics,
8+
# .every = 1L,
9+
# .origin = NULL,
10+
# .before = 0L,
11+
# .after = 0L,
12+
# .complete = FALSE):
13+
14+
# rlang::check_installed("slider")
15+
# metrics_dots = list2(...)
16+
# date_var = enquo(date_var)
17+
# slider::slide_period_dfr(
18+
# data,
19+
# .i = data[[quo_name(date_var)]],
20+
# .period = .period,
21+
# .f = ~ tibble::tibble(
22+
# !!date_var := min(.x[[quo_name(date_var)]]),
23+
# n = nrow(.x),
24+
# metric_set(.x, {{truth}}, {{estimate}}, !!!metrics_dots)
25+
# ),
26+
# .every = .every,
27+
# .origin = .origin,
28+
# .before = .before,
29+
# .after = .after,
30+
# .complete = .complete
31+
# )
32+
33+
34+
def vetiver_create_pin_metrics(df_metrics,
35+
date_var,
36+
board,
37+
metrics_pin_name):
38+
39+
date_var <- quo_name(enquo(date_var))
40+
41+
new_metrics = df_metrics.sort()
42+
43+
pins.pin_write(board, new_metrics, metrics_pin_name)
44+
45+
46+
def vetiver_update_pin_metrics(df_metrics,
47+
date_var,
48+
board,
49+
metrics_pin_name):
50+
51+
new_dates = df_metrics[date_var].unique()
52+
old_metrics = pins.pin_read(board, metrics_pin_name)
53+
old_metrics = vec_slice(
54+
old_metrics,
55+
old_metrics[date_var] not in new_dates
56+
)
57+
new_metrics <- vec_sort(vctrs::vec_rbind(old_metrics, df_metrics))
58+
59+
pins.pin_write(board, new_metrics, metrics_pin_name)
60+
61+
return new_metrics
62+
63+
def vetiver_plot_metrics(df_metrics,
64+
date_var,
65+
estimate = estimate,
66+
metric = metric,
67+
n = n):
68+
69+
70+
plt.plot(x = df_metrics, y = date_var, marker=".")
71+
72+
ggplot2::ggplot(data = df_metrics,
73+
ggplot2::aes({{ date_var }}, {{.estimate}})) +
74+
# ggplot2::geom_line(ggplot2::aes(color = !!.metric), alpha = 0.7) +
75+
# ggplot2::geom_point(ggplot2::aes(color = !!.metric,
76+
# size = {{n}}),
77+
# alpha = 0.9) +
78+
ggplot2::facet_wrap(ggplot2::vars(!!.metric),
79+
scales = "free_y", ncol = 1) +
80+
ggplot2::guides(color = "none") +
81+
ggplot2::labs(x = NULL, y = NULL)

0 commit comments

Comments
 (0)