#r #machine-learning #xgboost
Вопрос:
Я реализую XGBoost в R. В моих данных у меня 54 функции и 7000 образцов, но после обучения я получаю модель только с 13 функциями. Мне было интересно, кто-нибудь знает причину, по которой используется только небольшая часть функций? Благодарю
Вот параметры, которые я использую:
trainm <- sparse.model.matrix(number ~ .-1, data = train)
train_label <- train[,"number"]
train_matrix <- xgb.DMatrix(data = as.matrix(trainm), label = train_label)
testm <- sparse.model.matrix(number~.-1, data = test)
test_label <- test[,"number"]
test_matrix <- xgb.DMatrix(data = as.matrix(testm), label = test_label)
# Parameters
xgb_params <- list("eval_metric" = "mae")
watchlist <- list(train = train_matrix, test = test_matrix)
bst_model <- xgb.train(data = train_matrix,
params = xgb_params,
nrounds = 100, ## iteration
watchlist = watchlist,
eta = 0.005, ## learning rate
max.depth = 10, ## tree depth
gamma = 0.2, ## artificial bias (avoid overfitting)
subsample = 0.8, ## random sampling
colsample_bytree = 0.8, ## subsample columns when constructing each tree.
num_feature = 54)