如何处理 [警告] 无法进一步分裂,最佳收益为:-inf。是否有不合适的参数?
来自lightGBM问题的一些解释:
这意味着当前迭代中树的学习应该停止,因为无法再分裂。
我认为这是由于“min_data_in_leaf”:1000引起的,您可以将其设置为较小的值。
这不是一个错误,这是一个特性。
输出消息是为了警告用户参数可能有误,或者数据集难以学习。
链接:https://github.com/Microsoft/LightGBM/issues/640
相反地,数据很难拟合。
min_data_in_leaf
- 叶节点中的最小数据点数。min_sum_hessian_in_leaf
- 叶节点中每个观察值对目标函数的二阶导数(Hessian)的总和的最小值。对于某些回归目标,这只是必须落入每个节点的最小记录数量。对于分类目标,它表示概率分布的总和。它的作用类似于 xgboost 中的 min_child_weight。max_bin
或 max_bin_by_feature
。LightGBM 将连续特征划分为离散区间以提高训练速度并降低内存需求,这个划分仅在数据集构建时进行一次。增加每个特征的箱数可以增加可以进行的分裂数。
max_bin
控制特征将被划分为的最大箱数。也可以通过传递 max_bin_by_feature
来针对每个特征设置此最大值。
将params中的'verbosity'设为-1,就可以生效!
max_depth
或将其设置为 -1
。