首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >LightGBM: lightgbm.dataset()的意图

LightGBM: lightgbm.dataset()的意图
EN

Stack Overflow用户
提问于 2021-01-28 02:06:17
回答 1查看 127关注 0票数 0

根据docs,当我可以使用sklearn API来提供数据和训练模型时,lightgbm.Dataset()的用途是什么?

有没有什么真实的例子来解释lightgbm.dataset()的用法呢?

EN

回答 1

Stack Overflow用户

发布于 2021-02-02 13:33:36

LightGBM使用一些技术来加速训练,这些技术需要在训练开始之前进行一次预处理。

其中最重要的是将连续特征嵌入到直方图中。当LightGBM搜索拆分以可能添加到树中时,它只搜索这些直方图框的边界。这极大地减少了要计算的拆分次数。

我认为这张来自"What Makes LightGBM Fast?"的图片很好地描述了这一点:

库中的Dataset对象是进行此预处理的位置。直方图只创建一次,然后不需要在其余的训练中再次计算。

您可以通过查看控制该数据集的参数(可从https://lightgbm.readthedocs.io/en/latest/Parameters.html#dataset-parameters获得)来获取有关Dataset对象中发生的情况的更多信息。其他任务的一些示例:

针对稀疏features

  • filtering out功能的
  • 优化,这些功能是不可拆分的

当我可以使用sklearn API提供数据和训练模型时使用

lightgbm.sklearn接口旨在使LightGBM与其他库(如xgboostscikit-learn )一起使用变得容易。它接受scipy稀疏矩阵、pandas数据帧和numpy数组等格式的数据,以便与其他库兼容。在内部,LightGBM根据这些输入构造一个数据集。

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

https://stackoverflow.com/questions/65924856

复制
相关文章

相似问题

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