Dream On! 2023-06-21 19:07 采纳率: 0%
浏览 8

lightGBM怎么使用libsvm格式的数据

lightGBM怎么使用libsvm格式的数据,在网上搜索了一下并没有相关的使用例子。

  • 写回答

2条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-06-21 22:24
    关注
    • 关于该问题,我找了一篇非常好的博客,你可以看看是否有帮助,链接:机器学习(三):基于LightGBM的分类预测
    • 除此之外, 这篇博客: LightGBM参数中的 LightGBM的重要参数 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
      • task: 默认值=train,可选项=train,prediction;指定我们希望执行的任务,该任务有两种类型:训练 和 预测;

      • application: 默认值=regression,type=enum,options=options;

        • regression: 执行回归任务;

        • binary:二分类;

        • multiclass:多分类;

        • lambdarank:lambrank应用;

      • data: type=string;training data,LightGBM将从这些数据中进行训练;

      • num_iterations: 默认值为100,类型为int。表示提升迭代次数,也就是提升树的棵树;

      • num_leaves: 每个树上的叶子数,默认值为31,类型为int;

      • device: 默认值=cpu;可选项:cpu,gpu。也就是我们使用什么类型的设备去训练我们的模型。选择GPU会使得训练过程更快;

      • mindatain_leaf: 每个叶子上的最少数据;

      • feature_fraction: 默认值为1;指定每次迭代所需要的特征部分;

      • bagging_fraction: 默认值为1;指定每次迭代所需要的数据部分,并且它通常是被用来提升训练速度和避免过拟合的。

      • mingainto_split: 默认值为1;执行分裂的最小的信息增益;

      • max_bin: 最大的桶的数量,用来装数值的;

      • mindatain_bin: 每个桶内最少的数据量;

      • numthreads: 默认值为OpenMPdefault,类型为int。指定LightGBM算法运行时线程的数量;

      • label: 类型为string;指定标签列;

      • categorical_feature: 类型为string;指定我们想要进行模型训练所使用的特征类别;

      • num_class: 默认值为1,类型为int;仅仅需要在多分类的场合。

       

      6.1 为了最好的拟合

      • numleaves:这个参数是用来设置组成每棵树的叶子的数量。numleaves 和 maxdepth理论上的联系是: numleaves = 2^(maxdepth)。然而,但是如果使用LightGBM的情况下,这种估计就不正确了:因为它使用了leafwise而不是depthwise分裂叶子节点。因此,numleaves必须设置为一个小于2^(maxdepth)的值。否则,他将可能会导致过拟合。LightGBM的numleave和max_depth这两个参数之间没有直接的联系。因此,我们一定不要把两者联系在一起。

      • mindatain_leaf : 它也是一个用来解决过拟合的非常重要的参数。把它的值设置的特别小可能会导致过拟合,因此,我们需要对其进行相应的设置。因此,对于大数据集来说,我们应该把它的值设置为几百到几千。

      • max_depth: 它指定了每棵树的最大深度或者它能够生长的层数上限。

      6.2 为了更快的速度

      • bagging_fraction : 它被用来执行更快的结果装袋;

      • feature_fraction : 设置每一次迭代所使用的特征子集;

      • maxbin : maxbin的值越小越能够节省更多的时间:当它将特征值分桶装进不同的桶中的时候,这在计算上是很便宜的。

      6.3 为了更高的准确率

      • 使用更大的训练数据集;

      • num_leaves : 把它设置得过大会使得树的深度更高、准确率也随之提升,但是这会导致过拟合。因此它的值被设置地过高不好。

      • maxbin : 该值设置地越高导致的效果和numleaves的增长效果是相似的,并且会导致我们的训练过程变得缓慢。

    • 您还可以看一下 CSDN就业班老师的【数据分析-随到随学】机器学习模型及应用课程中的 案例:客户信贷违约预测——LightGBM模型超参调优小节, 巩固相关知识点
    评论

报告相同问题?

问题事件

  • 创建了问题 6月21日

悬赏问题

  • ¥15 KFC账号下单提示拒绝操作
  • ¥20 HC32F460串口发送仅能接到一个数据
  • ¥15 求解答一下是否可以修改一个软件运行时生成的文件内部内置的文件创建时间?
  • ¥15 求在R环境下用corrplot画一个相关图
  • ¥20 WIN10蓝屏问题!
  • ¥15 Mac经常自动关机,再次打开后提示“电脑因出现问题而重新启动”
  • ¥60 使用ovito软件怎么得到金属玻璃的自由体积
  • ¥15 急!如何实现根据汇编指令推测硬件功能?
  • ¥20 excel处理10000万条数据方法
  • ¥15 hc32串口接收数据