Это связано с предыдущим вопросом, касающимся функции xgb.create.features
в xgboost
в R. Я читал документацию о том, как функции получены и интерпретируются. Однако я хотел бы заменить имена V1234 на что-то более описательное или, по крайней мере, создать таблицу.
Я буду использовать воспроизводимый пример для соответствующего вопроса:
library(xgboost)
data(mtcars)
X = as.matrix(mtcars[, -9])
dtrain = xgb.DMatrix(data = X, label = Y)
model = xgb.train(data = dtrain,
eval = "auc",
verbose =0, maximize = TRUE,
params = list(objective = "binary:logistic",
eta = 0.1,
max_depth = 6,
subsample = 0.8,
lambda = 0.1 ),
nrounds = 10)
dtrain1 = xgb.create.features(model, X)
colnames(dtrain1)
'mpg' 'cyl' 'disp' 'hp' 'drat' 'wt' 'qsec' 'vs' 'gear' 'carb' 'V13' 'V14' 'V15' 'V16' 'V23' 'V24' 'V33' 'V34' 'V43' 'V44' 'V53' 'V54' 'V63' 'V64' 'V73' 'V74' 'V83' 'V84' 'V93' 'V94' 'V103' 'V104'
new_data = as.matrix(dtrain1)
new_data = data.frame(new_data)
head(new_data)
Как видите, производные объекты кодируются для отражения представленной древовидной структуры. Однако описательные имена были бы гораздо полезнее.
Может кто-нибудь помочь, в идеале с примером кода?
Заранее спасибо!