У меня есть набор данных из 25 переменных и 248 строк. Есть 8-факторные переменные, а остальные являются целыми числами и числами. Я пытаюсь запустить XGBoost. Я сделал следующий код: -
# Partition Data
set.seed(1234)
ind <- sample(2, nrow(mission), replace = T, prob = c(0.7,0.3))
train <- mission[ind == 1,]
test <- mission[ind == 2,]
# Create matrix - One-Hot Encoding for Factor variables
trainm <- sparse.model.matrix(GRL ~ .-1, data = train)
head(trainm)
train_label <- train[,"GRL"]
train_matrix <- xgb.DMatrix(data = as.matrix(trainm), label = train_label)
testm <- sparse.model.matrix(GRL~.-1, data = test)
test_label <- test[,"GRL"]
test_matrix <- xgb.DMatrix(data = as.matrix(testm),label = test_label)
Переменная ответа здесь "GRL", и я запускаю test_label <- test[,"GRL"]
Приведенный выше код выполняется, но когда я пытаюсь использовать его в xgb.DMatrix
, Я сталкиваюсь со следующей ошибкой:
Error in setinfo.xgb.DMatrix(dmat, names(p), p[[1]]) :
The length of labels must equal to the number of rows in the input data
Я разделил данные на 70: 30.