Python 为什么LightGBM会输出这样的结果:已完成的加载模型,总使用的X次迭代?

Python 为什么LightGBM会输出这样的结果:已完成的加载模型,总使用的X次迭代?,python,machine-learning,lightgbm,Python,Machine Learning,Lightgbm,我不熟悉LightGBM模型体系结构 已完成加载模型,总共使用15000次迭代 每次我训练模型时,它都会打印此消息。它是由这个打印的,我想了解它为什么加载这个模型。什么是助推器型号?它是如何训练的?为什么要加载这个模型而不是训练一个新的 这是我的密码: lgbparams={…} lgbtrain=lgb.Dataset(数据=self.train\x,标签=self.train\y) self.model=lgb.train( lgb_参数,lgbtrain, evals\u result=s

我不熟悉LightGBM模型体系结构

已完成加载模型,总共使用15000次迭代

每次我训练模型时,它都会打印此消息。它是由这个打印的,我想了解它为什么加载这个模型。什么是助推器型号?它是如何训练的?为什么要加载这个模型而不是训练一个新的

这是我的密码:

lgbparams={…}
lgbtrain=lgb.Dataset(数据=self.train\x,标签=self.train\y)
self.model=lgb.train(
lgb_参数,lgbtrain,
evals\u result=self.evals\u result,
有效_集=lgbtrain,
verbose_eval=False,
callbacks=self.callbacks
)


找到打印此行的位置。培训后的代码后面有一行
copy.deepcopy(self.model)
,正因为如此,LightGBM库以某种方式打印出了有问题的代码行。

我也看到了这一打印,它正在
deepcopy
期间。要复制它:

import copy
import numpy as np
import lightgbm as lgb

X = np.random.rand(100,3)
y = np.random.rand(100)
train = lgb.Dataset(X, y)
model = lgb.train({"verbose": -1}, train, num_boost_round=1)

# the printout is here:
model2 = copy.deepcopy(model)
复制期间关闭打印的快速修复方法可以是:

import os
import contextlib

with open(os.devnull, "w") as f, contextlib.redirect_stdout(f):
    model2 = copy.deepcopy(model)

(我得到这个打印输出是因为我直接调用lightgbm对象上的
deepcopy

您链接到的行仅用于加载现有模型,而不应在训练新模型时执行。请发布您的培训代码,否则我们无法告知您可能发生了什么。@desertnaut编辑了问题以添加代码