lightgbm - 在 Jupyter 的 LightGBM 中没有打印训练日志
问题描述
我正在尝试在 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 笔记本上看不到日志吗?
解决方案
我不知道你想要什么样的日志,但就我而言(Colab 上的 lightbgm 2.2.3 不是 Jupiter 笔记本),通过在 train 方法中添加valid_sets参数,我能够产生如下所示的 logloss。
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.
....
推荐阅读
- angular - 如何确保在 Angular 2+ 的同一表单组下默认未选中单选按钮?
- angularjs - 使用 api 时在 angularjs 中进行分页
- angular - ngx chart 气泡图 - 自定义数据输入
- r - R data.table 遍历列以有条件地替换行值
- asp.net - 在启动时获取 azure 应用服务插槽名称?
- java - 如何在 Java 和 Bluej 中使用 Jackson
- android - 从 org.bytedeco.javacv.Frame 获取原始数据
- oracle - 无法在 OBIEE 中查询多个学科领域
- angular - 在 angular4 的输入字段中添加千位分隔符
- android - 在房间持久库中无法使用 like 子句