lightgbm.early_stopping

lightgbm.early_stopping(stopping_rounds, first_metric_only=False, verbose=True, min_delta=0.0)[source]

创建一个激活提前停止的回调函数。

激活提前停止。模型将训练直到验证分数不再至少提升 min_delta。验证分数需要每 stopping_rounds 轮至少提升一次才能继续训练。需要至少一个验证数据和一个评估指标。如果多于一个,将检查所有指标。但训练数据会被忽略。要仅检查第一个指标,请将 first_metric_only 设置为 True。具有最佳性能的迭代索引将保存在模型的 best_iteration 属性中。

参数:
  • stopping_rounds (int) – 允许趋势不发生的迭代轮数。

  • first_metric_only (bool, 可选 (默认为 False)) – 是否仅使用第一个指标进行提前停止。

  • verbose (bool, 可选 (默认为 True)) – 是否记录包含提前停止信息的日志消息。默认情况下,使用标准输出资源。使用 register_logger() 函数注册自定义日志记录器。

  • min_delta (floatfloat 列表, 可选 (默认为 0.0)) –

    保持训练所需的最小分数提升。如果为 float,此单个值将用于所有指标。如果为 list,其长度应与指标总数匹配。

    在 4.0.0 版本中添加。

返回值:

callback – 激活提前停止的回调函数。

返回类型:

_EarlyStoppingCallback