R中的xgboost:未正确获取列车数据xgb.DMatrix
我正在尝试从dataframe中以dgCMatrix的正确格式获取数据。 但是,在应用xgb.DMatrix之后,我得到的训练数据为NULL 这是我试过的 我的训练数据是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
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)