【问题标题】:Training logs are not being printed in LightGBM in Jupyter在 Jupyter 的 LightGBM 中没有打印训练日志
【发布时间】:2020-11-20 02:44:42
【问题描述】:

我正在尝试在 Macbook 上训练一个简单的 LightGBM 模型,但即使详细参数设置为 1(甚至大于 1),它也不会打印任何日志

param = {'num_leaves':50, 'num_trees':500, 'learning_rate':0.01, 'feature_fraction':1.0, 'tree_learner': 'serial', 'objective':'cross_entropy', 'verbose' : 1, 'metric':'kullback_leibler', 'is_training_metric':True}
model = lgb.train(param, train_data_lgbm)

我还根据 Github 上的另一个建议将 is_training_metric 更改为 True。这也没有导致整改。有人可以帮我解决我可能缺少的东西吗?

编辑:我在 Jupyter 笔记本中运行此代码。当我在终端上尝试同样的事情时,它奏效了。
有人可以帮忙解决为什么我在 Jupyter 笔记本上看不到日志吗?

【问题讨论】:

标签: lightgbm


【解决方案1】:

我不知道你想要什么样的日志,但就我而言(Colab 上的 lightbgm 2.2.3 不是 Jupiter 笔记本),通过向 train 方法添加 valid_sets 参数,我是能够产生如下所示的对数损失。

model = lgb.train(param, 
                  train_data_lgbm, 
                  valid_sets=[train_data_lgbm])

[1] training's xentropy: 0.606795.   
[2] training's xentropy: 0.579697.  
[3] training's xentropy: 0.513748.    
[4] training's xentropy: 0.494762.   
....   

如果你想产生一个logloss进行评估,可以通过以下方式显示。

eval_data_lgb = lgb.Dataset(X_test, y_test, reference=train_data_lgbm)
model = lgb.train(param, 
                      train_data_lgbm, 
                      valid_sets=[train_data_lgbm,
                                  eval_data_lgb])

[1] training's xentropy: 0.606795   valid_1's xentropy: 0.60837.    
[2] training's xentropy: 0.579697   valid_1's xentropy: 0.582659.    
[3] training's xentropy: 0.513748   valid_1's xentropy: 0.517523.    
[4] training's xentropy: 0.494762   valid_1's xentropy: 0.499277.  
....

【讨论】:

    猜你喜欢
    • 2023-03-27
    • 1970-01-01
    • 2017-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-23
    • 1970-01-01
    相关资源
    最近更新 更多