问题:
调用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次内不能再继续降低,则停止迭代)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)