SO中文参考
首页
(current)
程序语言
c
java
python
c++
go
javascript
swift
c#
操作系统
linux
ubuntu
centos
unix
数据库
oracle
mysql
mongodb
postgresql
框架
node.js
angular
react-native
avalon
django
twisted
hadoop
.net
移动开发
android
ios
搜索
LightGBM - sklearnAPI vs训练和数据结构API和lgb.cv vs gridsearchcv / randomisedsearchcv
问题描述
投票:4
回答:1
skgarnAPI(LGBMModel,LGBMClassifier等)和lightgbm的默认API(lgb.Dataset,lgb.cv,lgb.train)有什么区别?我应该选择哪一个?
使用lightgbm时,使用sklearn的lgb.cv或gridsearchcv / randomisedsearchcv会更好吗?
python
scikit-learn
data-science
lightgbm
1个回答
5
投票
这个答案已经很好地覆盖了
here
基于Will Koehrsen的
notebook
,sklearn交叉验证API不包括提前停止的选项。因此,如果您希望使用早期停止轮次(如果您希望在给定数量的估算器的验证分数未得到改善时停止训练,这可能非常有用),最好使用LightGBM交叉验证(lgb.cv)功能。 此外,Mikhail Lisyovi的
answer
的摘录 - “技术上,lightbgm.cv()允许您只评估具有固定模型参数的k倍分割的性能。对于超参数调整,您需要在提供不同的循环中运行它循环完成后,参数和重新编码平均性能以选择最佳参数集。此界面与sklearn不同,后者为您提供了在CV循环中进行超参数优化的完整功能。我个人建议使用sklearn- lightgbm的API。它只是原生lightgbm.train()功能的包装器,因此速度并不慢。但是它允许你使用整个sklearn工具包,这使你的生活变得更加容易。“
因此,您最终使用哪种方法取决于问题的背景以及哪些因素对您更重要 - early_stopping_rounds或在不同参数上简化超参数优化。
最新问题
jenkins - 无法下载和安装插件(多个 scm) - 连接超时
模式时间戳错误?
使用 Terraform 输出 Azure Cosmos DB for PostgreSQL 连接字符串
fastparse 的空白警告
使用 deb http://apt.kubernetes.io/ kubernetes-xenial main 时在 Ubuntu20 上安装 kubernetes 错误
使用 Spring Boot 自动刷新 Azure 应用程序配置并启用全局方法安全性时出现问题
XSLT 为输入 XML 中的每个增量分隔符位置分配变量
异步下载多个azure blob
如何在 DevOps 构建验证管道中生成变更日志?
如何在 Delphi 5 中的虚拟节点内设置面板的宽度
无法在Python中导入libarchive-c:FileNotFoundError
Azure 数据工厂 - 生成自定义 Guid 并复制到 SQL 表
使用 pyproject.toml 为特定 python 版本生成wheel包
Jquery ui 可排序 - 以编程方式将每个 pawn 移动到它自己的位置
如何使用 JavaScript 上的 Google Calendar API 添加与会者
尽管所有需求均已成功,但 GitHub Actions 作业仍被跳过
内核死亡,退出代码为 1(VS 代码)
错误:找不到符号 super.replaceExistingNonRootView(oldTag, newTag);
正则表达式仅匹配整个单词以及仅匹配单词 + x 个字符数
我应该将此函数包装在 useCallback 中吗?
© www.soinside.com 2019 - 2024. All rights reserved.