【问题标题】:xgboost.cv TypeError: cv() got multiple values for argument 'dtrain'xgboost.cv TypeError: cv() 为参数 'dtrain' 获得了多个值
【发布时间】:2021-12-18 21:36:42
【问题描述】:

我正在尝试手动测试 xgboost 的不同超参数,但此错误不断出现。如果它以逗号结尾,我不确定我如何向 dtrain 提供多个参数。

import xgboost as xgb
dtrain = xgb.DMatrix(X, label=y)
params = {'eta':[0.1]}
xgb_cv = xgb.cv(
    {'disable_default_eval_metric': 1},
    params,
    dtrain=dtrain,
    seed=1,
    nfold=5,
    custom_metric=f1_score
)

【问题讨论】:

    标签: python machine-learning xgboost decision-tree


    【解决方案1】:

    xgboost.cv 的签名是 (params, dtrain, ...)。因此它认为您将 metric-disabling-dict 传递为 params,将 eta-dict 传递为 dtrain,然后尝试通过关键字传递另一个 dtrain。如果disable_default_eval_metric 应该是另一个参数,请将其添加到包含etaparams 字典中。

    【讨论】:

      猜你喜欢
      • 2019-07-05
      • 2019-02-08
      • 1970-01-01
      • 1970-01-01
      • 2014-03-12
      • 2018-07-28
      • 2021-10-25
      • 2019-09-15
      • 1970-01-01
      相关资源
      最近更新 更多