xgb.create.features в R (xgboost) - замена названий производных элементов чем-то более наглядным - PullRequest
0 голосов
/ 28 января 2020

Это связано с предыдущим вопросом, касающимся функции 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)

enter image description here

Как видите, производные объекты кодируются для отражения представленной древовидной структуры. Однако описательные имена были бы гораздо полезнее.

Может кто-нибудь помочь, в идеале с примером кода?

Заранее спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...