python - 如何为 xgboost.train 设置评估指标?
问题描述
如何设置 xgboost.train 以优化特定评估指标,类似于我如何设置 xgboost.fit(eval_metric = 'auc')?
解决方案
您必须在参数中进行设置。
例如:
params = {
'objective': 'multi:softprob',
'tree_method': 'gpu_hist',
'num_class': 27,
'seed': 0,
'max_depth': 2,
'colsample_bytree': 0.36524046160303747,
'colsample_bylevel': 0.7008644188368828,
'grow_policy': 'lossguide',
'lambda': 1-08,
'alpha': 0.1,
'subsample': 0.9,
'eta': 0.01,
'eval_metric': 'merror'}
xgb.train(params, dX_train,
num_boost_round=100,
verbose_eval=10,
early_stopping_rounds=10,
evals=[(dX_train, 'train') , (dX_valid, 'valid')],
)
推荐阅读
- javascript - 未捕获范围错误:字符串长度无效 - Tableau JS API
- c++ - 使用 Arduino 和串行控制步进电机
- c - 为什么 C struct tm (time.h) 返回错误的月份?
- algorithm - Log N 复杂度实际上意味着什么?
- python - Python Turtle 嵌套方块 - 如何修复第二个方块额外移位?
- c# - 的值不能为空 参数名称 path1
- python - 熊猫将用户定义的函数应用于多列上的分组数据框
- node.js - 使用 node.js 显示来自 gcloud 存储桶文件的元数据
- apache-flink - StreamTask.getCheckpointLock 弃用和自定义 Flink 源
- c++ - 如何从派生类访问类的成员 - C++