我正在尝试在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笔记本上看不到日志吗?
答案 0 :(得分:0)
我不知道您想要什么样的日志,但在我的情况下(尽管 Colab 上的 lightbgm 2.2.3 而不是 Jupiter 笔记本),通过将 valid_sets 参数添加到 train 方法,我是能够产生如下所示的对数损失。
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.
....