lgbm 查看训练结果
时间: 2023-09-06 14:09:24 浏览: 140
训练记录1
在 LightGBM 中,你可以使用 `cv_results_` 属性来获取训练结果。
`cv_results_` 是一个字典对象,包含了训练过程中每一折的性能指标,例如平均训练时间、平均验证时间、平均训练错误、平均验证错误等等。你可以使用以下代码查看 `cv_results_`:
```python
import lightgbm as lgb
# 加载数据
train_data = lgb.Dataset(X_train, label=y_train)
# 定义参数
params = {
'boosting_type': 'gbdt',
'objective': 'binary',
'metric': 'binary_logloss',
'num_leaves': 31,
'learning_rate': 0.05
}
# 训练模型
cv_results = lgb.cv(params, train_data, num_boost_round=100, nfold=5, early_stopping_rounds=10)
# 打印结果
print(cv_results)
```
输出结果类似于以下内容:
```
{'l1-mean': [0.4951676781069819, ...],
'l1-stdv': [0.002447238816150087, ...],
'l2-mean': [0.2500425801618068, ...],
'l2-stdv': [0.0015112248266929662, ...],
'binary_logloss-mean': [0.6926968880263813, ...],
'binary_logloss-stdv': [0.00017405209291992035, ...],
'best_score': defaultdict(<class 'collections.OrderedDict'>, {'valid_0': {'binary_logloss': 0.6918039231500548}}),
'best_iteration': defaultdict(<class 'collections.OrderedDict'>, {'valid_0': {'binary_logloss': 99}})}
```
你可以通过访问 `cv_results_` 字典中的键来获取各种训练指标的值。例如,如果你想获取训练期间每一折的平均验证错误,可以使用以下代码:
```python
val_err = cv_results['binary_logloss-mean']
print(val_err)
```
这会输出一个列表,其中包含了每一折的平均验证错误。你还可以使用 Matplotlib 等库可视化这些结果,以便更好地理解训练过程中的性能表现。
阅读全文