python lightgbm中使用“early

python lightgbm中使用“early,第1张

问题:

调用lightgbm库,设置了早停轮次“early_stopping_rounds”参数和打印log间隔“verbose_eval”参数后出现UserWarning

示例代码如下:

import lightgbm

cv_results = lightgbm.cv(
                    params,
                    lgb_train,
                    seed=1,
                    nfold=5,
                    metrics='auc',
                    early_stopping_rounds=30, ###################
                    verbose_eval=True ####################
                    )        
        

两个UserWarning如下:

UserWarning: 'early_stopping_rounds' argument is deprecated and will be removed in a future release of LightGBM. Pass 'early_stopping()' callback via 'callbacks' argument instead.

UserWarning: 'verbose_eval' argument is deprecated and will be removed in a future release of LightGBM. Pass 'log_evaluation()' callback via 'callbacks' argument instead.

解决方法:

将代码做如下修改

from lightgbm import log_evaluation, early_stopping
callbacks = [log_evaluation(period=30), early_stopping(stopping_rounds=30)]


cv_results = lightgbm.cv(
                    params,
                    lgb_train,
                    seed=1,
                    nfold=5,
                    metrics='auc',
                    callbacks=callbacks ############################
                    )
       

首先

from lightgbm import log_evaluation, early_stopping

之后用

callbacks = [log_evaluation(period=30), early_stopping(stopping_rounds=30)]

替换之前的'verbose_eval'以及'early_stopping_rounds'即可:)

(其中period=30指每迭代30次打印一次log;stopping_rounds=30指验证集的误差在30次内不能再继续降低,则停止迭代)

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/867228.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-12
下一篇 2022-05-12

发表评论

登录后才能评论

评论列表(0条)

保存