问题描述
我正在尝试在 R 中进行 XGBoost。我有很多因子变量,可以在下面的数据描述图中看到。
以下是我的数据概览: 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 (将#修改为@)