课程评价 (0)

请对课程作出评价:
0/300

学员评价

暂无精选评价
7分钟

xgboost.train()

xgboost.train(): 使用给定的参数来训练一个booster

xgboost.train(params, dtrain, num_boost_round=10, evals=(), obj=None, feval=None,
   maximize=False, early_stopping_rounds=None, evals_result=None, verbose_eval=True,
   xgb_model=None, callbacks=None, learning_rates=None)
  • 参数:
    • params: 一个列表(元素为键值对)、一个字典,表示训练的参数
    • dtrain:一个DMatrix 对象,表示训练集
    • num_boost_round: 一个整数,表示boosting 迭代数量
    • evals: 一个列表,元素为(DMatrix,string)。 它给出了训练期间的验证集,以及验证集的名字(从而区分验证集的评估结果)。
    • obj:一个函数,它表示自定义的目标函数
    • feval: 一个函数,它表示自定义的evaluation 函数
    • maximize: 一个布尔值。如果为True,则表示是对feval 求最大值;否则为求最小值
    • early_stopping_rounds:一个整数,表示早停参数。 如果在early_stopping_rounds 个迭代步内,验证集的验证误差没有下降,则训练停止。
      • 该参数要求evals 参数至少包含一个验证集。如果evals 参数包含了多个验证集,则使用最后的一个。
      • 返回的模型是最后一次迭代的模型(而不是最佳的模型)。
      • 如果早停发生,则模型拥有三个额外的字段:
        • .best_score: 最佳的分数
        • .best_iteration: 最佳的迭代步数
        • .best_ntree_limit: 最佳的子模型数量
    • evals_result: 一个字典,它给出了对测试集要进行评估的指标。
    • verbose_eval: 一个布尔值或者整数。
      • 如果为True,则evalutation metric 将在每个boosting stage 打印出来
      • 如果为一个整数,则evalutation metric 将在每隔verbose_evalboosting stage 打印出来。另外最后一个boosting stage,以及早停的boosting stageevalutation metric 也会被打印
    • learning_rates: 一个列表,给出了每个迭代步的学习率。
      • 你可以让学习率进行衰减
    • xgb_model: 一个Booster实例,或者一个存储了xgboost 模型的文件的文件名。它给出了待训练的模型。 这种做法允许连续训练。
    • callbacks: 一个回调函数的列表,它给出了在每个迭代步结束之后需要调用的那些函数。 你可以使用xgboost 中预定义的一些回调函数(位于xgboost.callback 模块) 。如: xgboost.reset_learning_rate(custom_rates)
  • 返回值:一个Booster 对象,表示训练好的模型