запуск прогнозов модели пастернака в базе данных с использованием dbplyr - PullRequest
0 голосов
/ 27 сентября 2019

Я построил пару моделей, используя recipes и parsnip.Теперь я хочу запустить мои прогнозы inside в базе данных oracle.

Вот пример recipe:

base_recipe <- train_sample %>%
  recipe(COMPLAINT_TYPE ~ ., data = .) %>%
  step_rm(INCIDENT_NUM,CUST_KEY,DATE_CLOSED,RNDSC,RNASC,BILL_DATE,ACCOUNT_NUMBER,SERVICE_ID) %>%
  step_string2factor(all_nominal()) %>%
  step_date(REPORT_DATE) %>%
  step_holiday(REPORT_DATE,holidays = c("NewYearsDay","ChristmasDay","GBBankHoliday","GBMayDay","GBSummerBankHoliday",
                                        "BoxingDay","Easter","EasterSunday","GoodFriday")) %>%
  step_rm(REPORT_DATE)%>%
  step_mutate(COMPLAINT_REASON = str_to_lower(str_replace_all(str_replace_all(replace_non_ascii(str_replace_all(COMPLAINT_REASON, "[^\x01-\x7E]", "")
                                                                                                    ),"[:punct:]",""),"[:space:]"," "))) %>%    
  step_mutate(PRIMARY_REASON = str_to_lower(str_replace_all(str_replace_all(replace_non_ascii(str_replace_all(PRIMARY_REASON, "[^\x01-\x7E]", "")
                                                                                                    ),"[:punct:]",""),"[:space:]"," "))) %>%   
  step_mutate(SECONDARY_REASON = str_to_lower(str_replace_all(str_replace_all(replace_non_ascii(str_replace_all(SECONDARY_REASON, "[^\x01-\x7E]", "")
                                                                                                    ),"[:punct:]",""),"[:space:]"," "))) %>%   
step_YeoJohnson(all_numeric(),-all_outcomes()) %>%
  step_other(COMPLAINT_REASON,SECONDARY_REASON,PRIMARY_REASON,
             other = "other_lumped",threshold = 0.01)%>%
  step_discretize(all_numeric(),options = list(min_unique = .1, na.rm = TRUE,num_breaks=3)) %>%
  step_dummy(all_nominal(), -all_outcomes(),one_hot = TRUE,naming = partial(dummy_names,sep="__"))%>%
  step_center(all_numeric(), -all_outcomes())  %>%
  step_scale(all_numeric(), -all_outcomes()) %>%
  step_zv(all_predictors(),-all_outcomes())%>%
  prep(verbose=TRUE,retain=TRUE)

Модель:

xgb_spec <- boost_tree(mode = "classification") %>%
                    set_engine("xgboost")

fit_xgb <- fit(object = xgb_spec,formula = COMPLAINT_TYPE ~ .,data = compl_proc)

Предсказания:

pred_xgb <- predict(fit_xgb,new_data = bake(base_recipe,new_data = comps_test))

Теперь, если я хочу запустить fit_xgb модель внутри базы данных.таблица в базе данных не baked с recipe.

Какой лучший способ реализовать эту модель, чтобы я мог запустить предсказания внутри базы данных Oracle?

...