首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在运行时更改LightGBM参数?

如何在运行时更改LightGBM参数?
EN

Stack Overflow用户
提问于 2018-12-23 15:43:24
回答 1查看 1.8K关注 0票数 2

因此,我想在LightGBM运行10000次之后更改它的参数,我想添加另一个具有不同参数的模型,但是使用以前训练过的模型。

就像这样:

代码语言:javascript
复制
params = {
        "objective" : "regression", 
        "metric" : "mae", 
        "num_leaves" : 35, 
        "learning_rate" : 0.05, 
        "bagging_fraction" : 0.7,
        "bagging_seed" : 0, 
        "num_threads" : 4,
        "colsample_bytree" : 0.7,
        'min_data_in_leaf':200, 
        'min_split_gain':0.0004,
        'lambda_l2':0.1
}

model = lgb.train(  params, 
                    train_set = train_set,
                    num_boost_round=1000,
                    early_stopping_rounds=200,
                    verbose_eval=100, 
                    valid_sets=[train_set,valid_set]
)

params = {
        "objective" : "dart", 
        "metric" : "mae", 
        "num_leaves" : 44, 
        "learning_rate" : 0.01, 
        "bagging_fraction" : 0.3,
        "bagging_seed" : 0, 
        "num_threads" : 4,
        "colsample_bytree" : 0.1,
        'min_data_in_leaf':400, 
        'min_split_gain':0.0001,
        'lambda_l2':0.2
}

model = lgb.train(                   
                    params, 
                    train_set = train_set,
                    num_boost_round=2000,
                    early_stopping_rounds=200,
                    verbose_eval=100,
                    init_model=model,          
                    valid_sets=[train_set,valid_set]

)

但是在这里,当我使用init_model=model时,我得到了这个错误:

LightGBMError: Cannot set predictor after freed raw data, set free_raw_data=False when construct Dataset to avoid this.

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-24 19:37:05

这是一个幸运的错误,您需要做的正是您的错误信息所解释的(这是一个来自我的代码):

代码语言:javascript
复制
d_train = lgb.Dataset(x_train, label=y_train, free_raw_data = False)

在构造lightgbm.Dataset对象时,验证和测试集也是一样的。

其余部分不需要更改,您的代码看起来很好(也是init_model部分)。问题在于LightGBM的Python,它需要将原始数据的构造设置为这种拉入/退出模型使用的自由结构。如果您对情况有更深入的了解,只需查看一下:https://lightgbm.readthedocs.io/en/latest/FAQ.html

我相信这个答案会解决你的问题。但是,如果没有,请不要犹豫,要求更多。祝好运!

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53904948

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档