R中的xgboost:未正确获取列车数据xgb.DMatrix

R中的xgboost:未正确获取列车数据xgb.DMatrix,r,xgboost,R,Xgboost,我正在尝试从dataframe中以dgCMatrix的正确格式获取数据。 但是,在应用xgb.DMatrix之后,我得到的训练数据为NULL 这是我试过的 我的训练数据是 str(X_train) 'data.frame': 5973 obs. of 6 variables: $ Gender : Factor w/ 3 levels "","female","male": NA NA NA NA NA NA N

我正在尝试从dataframe中以dgCMatrix的正确格式获取数据。 但是,在应用xgb.DMatrix之后,我得到的训练数据为NULL 这是我试过的 我的训练数据是

str(X_train)

            'data.frame':   5973 obs. of  6 variables:
             $ Gender              : Factor w/ 3 levels "","female","male": NA NA NA NA NA NA NA NA NA NA ...
             $ OpenedDay           : Factor w/ 8 levels "","Friday","Monday",..: NA NA NA NA NA NA NA NA NA NA ...
             $ MailOpenedHour      : num  NA NA NA NA NA NA NA NA NA NA ...
             $ OpenedAfterHrs      : num  NA NA NA NA NA NA NA NA NA NA ...
             $ OpenedAfterLoginDays: num  NA NA NA NA NA NA NA NA NA NA ...
             $ Opened              : num  0 0 0 0 0 0 0 0 0 0 ...
经过一次热编码后,我得到了

    df_all <- X_train

    ohe_feats = c('Gender', 'OpenedDay')

    dummies <- dummyVars(~ Gender +  OpenedDay, data = df_all)
    df_all_ohe <- as.data.frame(predict(dummies, newdata = df_all))
    df_all_combined <- cbind(df_all[,-c(which(colnames(df_all) %in% ohe_feats))],df_all_ohe)

    X_train1 <- df_all_combined

 str(X_train1)
'data.frame':   5973 obs. of  15 variables:
 $ MailOpenedHour      : num  NA NA NA NA NA NA NA NA NA NA ...
 $ OpenedAfterHrs      : num  NA NA NA NA NA NA NA NA NA NA ...
 $ OpenedAfterLoginDays: num  NA NA NA NA NA NA NA NA NA NA ...
 $ Opened              : num  0 0 0 0 0 0 0 0 0 0 ...
 $ Gender.             : num  NA NA NA NA NA NA NA NA NA NA ...
 $ Gender.female       : num  NA NA NA NA NA NA NA NA NA NA ...
 $ Gender.male         : num  NA NA NA NA NA NA NA NA NA NA ...
 $ OpenedDay.          : num  NA NA NA NA NA NA NA NA NA NA ...
 $ OpenedDay.Friday    : num  NA NA NA NA NA NA NA NA NA NA ...
 $ OpenedDay.Monday    : num  NA NA NA NA NA NA NA NA NA NA ...
 $ OpenedDay.Saturday  : num  NA NA NA NA NA NA NA NA NA NA ...
 $ OpenedDay.Sunday    : num  NA NA NA NA NA NA NA NA NA NA ...
 $ OpenedDay.Thursday  : num  NA NA NA NA NA NA NA NA NA NA ...
 $ OpenedDay.Tuesday   : num  NA NA NA NA NA NA NA NA NA NA ...
 $ OpenedDay.Wednesday : num  NA NA NA NA NA NA NA NA NA NA ...

df\u你能把你的一些数据输出吗?请确保您发布的内容也会产生此错误。它不会产生错误。我得到以下信息:print(xgtrain)attr(,“class”)[1]“xgb.DMatrix”此打印输出符合预期(至少在您似乎正在使用的旧xgboost版本中)。DMatrix通过指向xgboost库处理的内存中外部对象的指针从R访问。
X_train <- X_train1[,-4]
X_target <- as.vector(X_train1[,4])
 xgtrain <- xgb.DMatrix(data = data.matrix(X_train), label = X_target, missing = NA)