knitr::opts_chunk$set( collapse = TRUE, comment = "#>" ) library(dplyr) library(tidypredict) library(parsnip) library(ranger) set.seed(100)
| Function |Works|
|---------------------------------------------------------------|-----|
|tidypredict_fit(), tidypredict_sql(), parse_model() | ✔ |
|tidypredict_to_column() | ✗ |
|tidypredict_test() | ✗ |
|tidypredict_interval(), tidypredict_sql_interval() | ✗ |
|parsnip | ✔ |
Here is a simple ranger() model using the iris dataset:
library(dplyr) library(tidypredict) library(ranger) model <- ranger(Species ~ ., data = iris, num.trees = 100)
The parser is based on the output from the ranger::treeInfo() function. It will return as many decision paths as there are non-NA rows in the prediction field.
treeInfo(model) %>% head()
The output from parse_model() is transformed into a dplyr, a.k.a Tidy Eval, formula. The entire decision tree becomes one dplyr::case_when() statement
tidypredict_fit(model)[1]
From there, the Tidy Eval formula can be used anywhere where it can be operated. tidypredict provides three paths:
dplyr, mutate(iris, !! tidypredict_fit(model))tidypredict_to_column(model) to a piped command settidypredict_to_sql(model) to retrieve the SQL statementtidypredict also supports ranger model objects fitted via the parsnip package.
library(parsnip) parsnip_model <- rand_forest(mode = "classification") %>% set_engine("ranger") %>% fit(Species ~ ., data = iris) tidypredict_fit(parsnip_model)[[1]]
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.