Python中LightGBM的示例分析


这篇文章主要介绍Python中LightGBM的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!LightGBM是扩展机器学习系统。是一款基于GBDT(梯度提升决策树)算法的分布梯度提升框架。其设计思路主要集中在减少数据对内存与计算性能的使用上,以及减少多机器并行计算时的通讯代价简单易用。提供了主流的PythonC++R语言接口,用户可以轻松使用LightGBM建模并获得相当不错的效果。高效可扩展。在处理大规模数据集时高效迅速、高准确度,对内存等硬件资源要求不高。鲁棒性强。相较于深度学习模型不需要精细调参便能取得近似的效果。LightGBM直接支持缺失值与类别特征,无需对数据额外进行特殊处理相对于深度学习模型无法对时空位置建模,不能很好地捕获图像、语音、文本等高维数据。在拥有海量训练数据,并能找到合适的深度学习模型时,深度学习的精度可以遥遥领先LightGBM。英雄联盟数据集 提取码:1234本数据用于LightGBM分类实战。该数据集共有9881场英雄联盟韩服钻石段位以上的排位赛数据,数据提供了在十分钟时的游戏状态,包括击杀数,金币数量,经验值,等级等信息。通过调整参数获得更好的效果: LightGBM中重要的参数learning_rate: 有时也叫作eta,系统默认值为0.3。每一步迭代的步长,很重要。太大了运行准确率不高,太小了运行速度慢。num_leaves:系统默认为32。这个参数控制每棵树中最大叶子节点数量。feature_fraction:系统默认值为1。我们一般设置成0.8左右。用来控制每棵随机采样的列数的占比(每一列是一个特征)。max_depth: 系统默认值为6,我们常用3-10之间的数字。这个值为树的最大深度。这个值是用来控制过拟合的。max_depth越大,模型学习的更加具体。num_leaves参数 这是控制树模型复杂度的主要参数,一般的我们会使num_leaves小于(2的max_depth次方),以防止过拟合。由于LightGBM是leaf-wise建树与XGBoost的depth-wise建树方法不同,num_leaves比depth有更大的作用。min_data_in_leaf 这是处理过拟合问题中一个非常重要的参数. 它的值取决于训练数据的样本个树和 num_leaves参数. 将其设置的较大可以避免生成一个过深的树, 但有可能导致欠拟合. 实际应用中, 对于大数据集, 设置其为几百或几千就足够了.max_depth 树的深度,depth 的概念在 leaf-wise 树中并没有多大作用, 因为并不存在一个从 leaves 到 depth 的合理映射通过设置 bagging_fraction 和 bagging_freq 参数来使用 bagging 方法。通过设置 feature_fraction 参数来使用特征的子抽样。选择较小的 max_bin 参数。使用 save_免费云主机域名binary 在未来的学习过程对数据加载进行加速。使用较大的 max_bin (学习速度可能变慢)使用较小的 learning_rate 和较大的 num_iterations使用较大的 num_leaves (可能导致过拟合)使用更大的训练数据尝试 dart 模式使用较小的 max_bin使用较小的 num_leaves使用 min_data_in_leaf 和 min_sum_hessian_in_leaf通过设置 bagging_fraction 和 bagging_freq 来使用 bagging通过设置 feature_fraction 来使用特征子抽样使用更大的训练数据使用 lambda_l1, lambda_l2 和 min_gain_to_split 来使用正则尝试 max_depth 来避免生成过深的树以上是“Python中LightGBM的示例分析”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注百云主机行业资讯频道!

相关推荐: 小程序定制和开发的流程是什么

这篇文章主要为大家展示了“小程序定制和开发的流程是什么”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“小程序定制和开发的流程是什么”这篇文章吧。一、小程序定制开发有什么优势? 使用起来快捷方便,小程序的使用非常方便快…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 10/01 18:10
下一篇 10/01 18:11

相关推荐