Я полагаю, что вы используете gbm, а не xgboost, но в любом случае вы всегда можете преобразовать данные в необходимый формат.
Вы можете попробовать кодирование onehot, и это немного лучше, чем тестирование переменных. один, потому что модель подвергается воздействию всех переменных. Ниже приведен не очень хороший пример, потому что я вырезал непрерывную переменную, но, надеюсь, в вашей модели классификация имеет больше смысла:
library(MASS)
library(gbm)
library(highcharter)
data = Pima.te
age_cat = cut(data$age,4,labels = paste0("age",1:4))
onehot_bp = model.matrix(~0+age_cat)
data$type = as.numeric(data$type)-1
fit = gbm(type ~ .,data=cbind(data[,-grep("age",colnames(data))],onehot_bp))
res = summary(fit,plotit=FALSE)
hchart(res,"bar",hcaes(x=var,y=rel.inf,color=rel.inf))
![enter image description here](https://i.stack.imgur.com/hti73.png)