首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用轻型gbm cv实现轻型gbm列车功能

如何使用轻型gbm cv实现轻型gbm列车功能
EN

Stack Overflow用户
提问于 2020-02-18 09:49:13
回答 1查看 1.1K关注 0票数 0

我在机器学习方面还是新手。我试图用lgb.cv()的5倍简历来训练我的模型,但是我不知道如何在lgb.train()中使用结果。例如,如何使用‘lgb_clf’中的“cv结果”?我无法理解cv()和train()之间的区别。

代码语言:javascript
复制
lgbm_params = {
    'objective': 'binary',
    'metric': 'auc',
    'is_unbalance': 'true',
    'boosting': 'gbdt',
    'num_leaves': 31,
    'feature_fraction': 0.5,
    'bagging_fraction': 0.5,
    'bagging_freq': 20,
    'learning_rate': 0.05,
    'verbose': 0
}


metric = 'auc'
cv_folds = 5
num_rounds = 5000


lgtrain = lgb.Dataset(train, label=label)

lgvalid = lgb.Dataset(test,label=label)

cv = lgb.cv(lgbm_params, lgtrain, num_rounds, nfold=cv_folds, metrics={metric}, early_stopping_rounds=100)


lgb_clf = lgb.train(lgbm_params, lgtrain,num_rounds, early_stopping_rounds=100, valid_sets=[lgtrain,lgvalid])
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-03-06 23:14:49

问题是您想要使用交叉验证的目的是什么。如果您正在估计预定义的一组超参数的泛化误差,您可以直接接受lgb.cv的输出,并且不需要再对模型进行训练。另一方面,如果你在寻找超参数的最优值,你会想要探测这个空间中的多个点,计算每个超参数的交叉验证分数,并选择得分最好的点。然后,您将使用这样找到的超参数重新训练模型。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60277986

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档