让我们假设X_train
包含数值和分类变量。
import xgboost as xgb
dtrain = xgb.DMatrix(data=X_train, label=y_train, enable_categorical=True)
params = {
'objective': 'binary:logistic',
'max_depth': 10,
'learning_rate': 0.01,
'eval_metric': 'logloss',
'subsample': 0.90,
'colsample_bytree': 0.90,
'min_child_weight': 10
}
model = xgb.train(params, dtrain, num_boost_round=1000)
字符串
我怎么知道使用的是哪种编码方法?是独热编码、目标编码还是标签编码?还是明智的选择?
1条答案
按热度按时间tkqqtvp11#
该功能是实验性的,目前功能有限。
这似乎是一个简单的标志,让
xgboost
函数,您的数据具有分类特征,因此该函数应该使用它。基本思想是创建具有类别特征类型的框架,并通过设置enable_categorical参数告诉XGBoost使用它。
也可以看看源代码:
来源:https://xgboost.readthedocs.io/en/stable/tutorials/categorical.html