LightGBM:继续训练模型

2024-06-19

我正在使用交叉验证来训练模型,如下所示:

classifier = lgb.Booster(
    params=params, 
    train_set=lgb_train_set,
)

result = lgb.cv(
    init_model=classifier,
    params=params, 
    train_set=lgb_train_set,
    num_boost_round=1000,
    early_stopping_rounds=20,
    verbose_eval=50,
    shuffle=True
)

我想通过多次运行第二个命令(可能使用新的训练集或不同的参数)来继续训练模型,并且它将继续改进模型。

然而,当我尝试这样做时,很明显该模型每次都是从头开始。

有没有不同的方法来实现我的意图?


可以使用解决初始化模型lightgbm.train 的选项,它接受两个对象之一

  1. LightGBM 模型的文件名,或者
  2. 一个 lightgbm Booster 对象

代码说明:

import numpy as np 
import lightgbm as lgb

data = np.random.rand(1000, 10) # 1000 entities, each contains 10 features
label = np.random.randint(2, size=1000) # binary target
train_data = lgb.Dataset(data, label=label, free_raw_data=False)
params = {}

#Initialize with 10 iterations
gbm_init = lgb.train(params, train_data, num_boost_round = 10)
print("Initial iter# %d" %gbm_init.current_iteration())

# Example of option #1 (pass a file):
gbm_init.save_model('model.txt')
gbm = lgb.train(params, train_data, num_boost_round = 10,
                init_model='model.txt')
print("Option 1 current iter# %d" %gbm.current_iteration())


# Example of option #2 (pass a lightgbm Booster object):
gbm_2 = lgb.train(params, train_data, num_boost_round = 10,
                init_model = gbm_init)
print("Option 2 current iter# %d" %gbm_2.current_iteration())

https://lightgbm.readthedocs.io/en/latest/pythonapi/lightgbm.train.html https://lightgbm.readthedocs.io/en/latest/pythonapi/lightgbm.train.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

LightGBM:继续训练模型 的相关文章

  • 【LightGBM】feature_importance获取特征重要性

    使用LightGBM feature importance 函数给训练完毕的LightGBM模型的各特征进行重要性排序 feature importance 61 pd DataFrame feature importance 39 fea
  • LightGBM 直方图优化算法

    给出下面这个广泛使用 直方图优化算法的ppt 本文是对该张ppt的解释 直方图优化算法需要在训练前预先把特征值转化为bin 也就是对每个特征的取值做个分段函数 将所有样本在该特征上的取值划分到某一段 bin 中 最终把特征取值从连续值转化成
  • LightGBM的黑科技--plot函数

    本教程教萌新如何使用lightgbm里面可视化函数 作者 JasonChen 文章内容概览 保留训练结果 plot metric 函数的使用 重要 plot importance 函数的使用 重要 plot tree 函数的使用 可选 cr
  • Lightgbm 直方图优化算法深入理解

    一 概述 在之前的介绍Xgboost的众多博文中 已经介绍过 在树分裂计算分裂特征的增益时 xgboost 采用了预排序的方法来处理节点分裂 这样计算的分裂点比较精确 但是 也造成了很大的时间开销 为了解决这个问题 Lightgbm 选择了
  • 从 LightGBM 模型访问树和节点

    在sci kit learn中 可以访问整个树结构 即树的每个节点 这允许探索树的每个分割所使用的属性以及用于测试的值 The binary tree structure has 5 nodes and has the following
  • docker libgomp.so.1 内的 Lightgbm:无法打开共享对象文件

    我在我的 Mac 上安装了 LightGBM 并之前针对不同的项目进行了测试 现在我在 Mac 上安装了 python 3 6 的 docker 中 一旦我添加import lightgbm as lgbm在我的 Flask 应用程序中 我
  • 在 Google Colaboratory 上使用 GPU 运行 LightGBM/ LGBM

    我经常在 Google Colabatory 上运行 LGBM 我刚刚发现这个页面说 LGBM 默认设置为 CPU 所以你需要先设置 https medium com am sharma lgbm on colab with gpu c1c
  • 安装后无法导入lightgbm

    我的操作系统是 macOS Sierra 10 12 5 我使用的是 Anaconda 和 python 2 7 安装后 当我尝试时 将 lightgbm 导入为 lgb 我收到以下消息 OSError Traceback most rec
  • LightGBM错误:ValueError:为了提前停止,至少需要一个数据集和评估指标进行评估

    我正在尝试使用 gridsearch 训练 LightGBM 当我尝试训练模型时出现以下错误 ValueError For early stopping at least one dataset and eval metric is req
  • Python:如何从 Optuna LightGBM 研究中检索最佳模型?

    我希望获得稍后在笔记本中使用的最佳模型 以使用不同的测试批次进行预测 可重现的示例 取自 Optuna Github import lightgbm as lgb import numpy as np import sklearn data
  • Python - LightGBM 与 GridSearchCV,永远运行

    最近 我正在做多个实验来比较Python XgBoost和LightGBM 看来这个LightGBM是一种新算法 人们说它在速度和准确性上都比XGBoost更好 This is LightGBM GitHub https github co
  • 如何保存 Tidymodels Lightgbm 模型以供重复使用

    我有以下代码用于创建tidymodels工作流程与lightgbm模型 但是 当我尝试保存到 rds对象和预测 library AmesHousing library treesnip library lightgbm library ti
  • Lightgbm 提前停止无法正常工作

    我正在使用 lightgbm 来执行机器学习任务 我想使用早期停止来找到给定多个超参数的最佳树数 然而 lgbm 停止种植树木 同时仍在改进我的评估指标 下面我附上了我的规格 params max bin 128 num leaves 8
  • 如何使用lightgbm.cv进行回归?

    我想对 LightGBM 模型进行交叉验证lgb 数据集并使用提前停止回合 以下方法对于 XGBoost 来说没有问题xgboost cv 我不喜欢将 Scikit Learn 的方法与 GridSearchCV 一起使用 因为它不支持提前
  • Lightgbm 中“is_unbalance”参数的使用

    I am trying to use the is unbalance parameter in my model training for a binary classification problem where the positiv
  • 访问 LightGBM 模型参数

    有时我会保存 LightGBM 模型 然后在重新加载它时 想要访问有关模型构建方式的一些详细信息 有没有办法恢复这个事实objective regression 例如 为了方便起见 这里是可以使用的简短代码 library lightgbm
  • 为什么 LightGBM 中的 R2 分数为零?

    import numpy as np import pandas as pd import lightgbm from sklearn metrics import r2 score mean squared error as MSE da
  • 使用 LightGBM 进行多类分类

    我正在尝试使用 Python 中的 LightGBM 为多类分类问题 3 类 建模分类器 我使用了以下参数 params task train boosting type gbdt objective multiclass num clas
  • LightGBM:继续训练模型

    我正在使用交叉验证来训练模型 如下所示 classifier lgb Booster params params train set lgb train set result lgb cv init model classifier par
  • Python LightGBM 中的 leaf_values 是什么?

    我正在使用 LightGBM 包 我已经使用 create tree digraph 成功创建了一棵新树 但在理解结果时遇到一些困难 叶节点中有 leaf value 我不知道这意味着什么 请有人帮助我理解这一点 谢谢 我使用了这里的示例代

随机推荐