微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

R 中的 XGBoost - 为什么我有错误:找不到对象?

如何解决R 中的 XGBoost - 为什么我有错误:找不到对象?

我正在尝试在 R 中进行 XGBoost。我有很多因子变量,可以在下面的数据描述图中看到。

Data description

以下是我的数据概览: data overview

我正在使用 tidymodels 方法来构建我的 XGBoost 模型。我使用 step_dummy 将所有因子变量转换为虚拟变量,以便 XGBoost 可以工作。不知何故,我不断收到找不到我的变量“Jaar”的错误。如果我删除此变量,则找不到“Aantal”,这意味着以某种方式找不到我的变量,我不明白为什么。我在最后一个块中收到错误。这些部分没有给我一个错误,只是 xgb_tune_res 给出了这个错误:x Fold.: preprocessor 1/.1 Error: object 'Jaar' not found

xgb_recipe <- recipe(Conversion ~ .,data = Data_train_balanced) %>%
              step_dummy(Jaar,Aantal,Verzekering,Retentie,Correct_Emailadres_flag,Klant_Email_Ja_Nee,Klant_Bellen_Ja_Nee,Klant_Mailen_Ja_Nee,Topsegment,Regio_Naam,Month,Weeks_split,Max_Loss,one_hot = TRUE)
xgb_model_tune <- boost_tree(trees = tune(),tree_depth = tune(),learn_rate = tune(),stop_iter = 500) %>%
                  set_mode("classification") %>%
                  set_engine("xgboost")
xgb_tune_wf <- workflow() %>%
  add_recipe(xgb_recipe) %>%
  add_model(xgb_model_tune)

xgb_tune_wf
class_metrics
# Create tuning grid
set.seed(0132)
xgb_grid <- expand.grid(trees = 250 * 1:5,learn_rate = c(0.1,0.01),tree_depth = 1:5)
xgb_grid

# Perform the grid search based on our created cross-validation (cv_folds)
xgb_tune_res <- tune_grid(
  xgb_tune_wf,resamples = cv_folds,grid = xgb_grid,metrics = class_metrics
)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。