leeper / prediction

Tidy, Type-Safe 'prediction()' Methods

Home Page:https://cran.r-project.org/package=prediction

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Questions: missing data behavior, general advice

alexpghayes opened this issue · comments

Missing data behavior

Does prediction provide any guarantees about predictions on missing data? I've been playing around some and it seems like most methods behave like predict() with na.action = na.pass. Is this tested/guaranteed?

I'm currently reworking the augment() methods for broom and am considering moving to prediction as a backend, but need to guarantee that data doesn't get silently dropped.

General advice for predictions

Do you have any general advice for developers implementing predict() methods?

I'm gathering suggestions for R model package development at https://github.com/alexpghayes/principles (currently just rough notes), and if you'd be willing to share your thoughts on what makes a predict() method easy to work with, I'd love to write that up.

prediction() doesn't per se do anything. The na.action is actually handled by find_data() (in the default case) here: https://github.com/leeper/prediction/blob/master/R/find_data.R#L48-L51 I really haven't tested that much.

On the second point, I think we need standardization of model objects so that predict()'s default method just works. Lacking that, type safety seems the most critical (like the main example in the README here).

Gotcha.

Do you have any particular pain points in terms of standardization? We're brainstorming some at tidymodels/parsnip#41.