我正在建立我的第一个xgboost模型。我的问题是,我是否可以正确设置稀疏矩阵?我将使用MASS软件包中的Boston数据集。因变量将为“ medv”。
library(MASS)
library(xgboost)
library(Matrix)
library(dplyr)
data = Boston
#For this example, I only want to select a few variables.
variables = c("crim", "indus", "nox", "ptratio", "lstat", "medv","rm", "rad", "tax")
data = data %>% dplyr::select(variables)
#create the training and test data set.
samp = sample(1:nrow(data), 375)
train = data[samp,]
test = data[-samp,]
#create sparse matrix for xgboost
train.label = train$medv
train.data = sparse.model.matrix(medv ~.-1, data = train.data)
train.data = xgb.DMatrix(data = train.data, label = train.label)
print(train.data)
xgb.DMatrix dim: 375 x 8 info: label colnames: yes
完成此步骤后,似乎可以使用xgboost / xgb.train函数了。 如果我犯了一个错误或可以改善我的流程,请纠正我。 谢谢。