您可以在 LightGBM.train() 中访问每个助推轮的分数吗?
Can you access scores for each boosting round in LightGBM.train()?
基本信息
lgbm.train(
) 和 early_stopping
计算 objective 函数 & feval
在每个提升轮之后的分数,我们可以让它每隔 verbose_eval
打印一次回合,像这样:
bst=lgbm.train(**params)
[10] valid_0's binary_logloss: 0.215654 valid_0's BinaryError: 0.00775126
[20] valid_0's binary_logloss: 0.303113 valid_0's BinaryError: 0.00790619
[30] valid_0's binary_logloss: 0.358056 valid_0's BinaryError: 0.0838744
[40] valid_0's binary_logloss: 0.386763 valid_0's BinaryError: 0.138462
[50] valid_0's binary_logloss: 0.411467 valid_0's BinaryError: 0.176986
问题:
是否有任何方法可以访问每个提升轮次的这些分数列表?
我能在文档中找到的最接近的东西
& bst.__dict__
是 bst.best_score
defaultdict(collections.OrderedDict,
{'valid_0': OrderedDict([('binary_logloss', 0.4233895131745753),
('BinaryError', 0.194285077972568)])})
您可以使用evals_result
参数如下;
evals_result = {}
bst=lgbm.train(evals_result=evals_result, valid_sets = [valid_set, train_set],
valid_names = [‘valid’, ‘train’], **params)
evals_result
>>> {‘train’: {‘logloss’: [‘0.36483’, ‘0.32617’, …]}, ‘valid’: {‘logloss’: [‘0.479168’, ‘0.317850’, …]}}
您将拥有一个字典,其中包含每个提升轮次的训练分数和有效分数。
基本信息
lgbm.train(
) 和 early_stopping
计算 objective 函数 & feval
在每个提升轮之后的分数,我们可以让它每隔 verbose_eval
打印一次回合,像这样:
bst=lgbm.train(**params)
[10] valid_0's binary_logloss: 0.215654 valid_0's BinaryError: 0.00775126
[20] valid_0's binary_logloss: 0.303113 valid_0's BinaryError: 0.00790619
[30] valid_0's binary_logloss: 0.358056 valid_0's BinaryError: 0.0838744
[40] valid_0's binary_logloss: 0.386763 valid_0's BinaryError: 0.138462
[50] valid_0's binary_logloss: 0.411467 valid_0's BinaryError: 0.176986
问题:
是否有任何方法可以访问每个提升轮次的这些分数列表?
我能在文档中找到的最接近的东西
& bst.__dict__
是 bst.best_score
defaultdict(collections.OrderedDict,
{'valid_0': OrderedDict([('binary_logloss', 0.4233895131745753),
('BinaryError', 0.194285077972568)])})
您可以使用evals_result
参数如下;
evals_result = {}
bst=lgbm.train(evals_result=evals_result, valid_sets = [valid_set, train_set],
valid_names = [‘valid’, ‘train’], **params)
evals_result
>>> {‘train’: {‘logloss’: [‘0.36483’, ‘0.32617’, …]}, ‘valid’: {‘logloss’: [‘0.479168’, ‘0.317850’, …]}}
您将拥有一个字典,其中包含每个提升轮次的训练分数和有效分数。