| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> LightGBM -> 正文阅读 |
|
[数据结构与算法]LightGBM |
文章目录前言LightGBM是由微软公司开发的,属于Boosting算法的一种,官方文档地址是: https://lightgbm.readthedocs.io. 一、LightGBM算法的设计理念LightGBM采用分布式的GBDT,选择了基本直方图的决策树算法
相比于XGBoost的优势:
二、LightGBM算法的数学原理概述LightGBM = XGBoost + Histogram + GOSS + EFB
通过以上3个算法的引入,LightGBM生成一片叶子需要的复杂度大大降低了,从而极大的节约了计算成本,同时Histogram算法还将特征由浮点数转换成0~255位的整数进行存储。从而极大的节约了内存存储。 (一)基于leaf-wise决策树生长策略对于大部分决策树算法使用的是level-wise生长策略,即同一层的叶子节点每次都一起分裂,但实际上一些叶子节点的分裂增益较低,这样分裂会增加不少开销,如图所示: (二)直方图算法直方图算法是代替XGBoost的预排序(pre-sorted)算法的。 直方图算法,也叫作histogram算法,简单来说,就是先对特征值进行装箱处理,把连续的浮点特征值离散化成k个整数,形成一个一个的箱体(bins),同时构造一个宽度为k的直方图,在遍历数据的时候,根据离散化后的值作为索引在直方图中累积统计量(因此这里是频数直方图),当遍历一次数据后,直方图累积了需要的统计量,然后根据直方图的离散值,遍历寻找最优的分割点。 对于连续特征来说,装箱处理就是特征工程中的离散化:如[0,10)区间的值都可以赋值为0,[10,20)区间的值都可以赋值为1等,这样就可以把众多的数值划分到有限的分箱中,在Lightgbm中默认的分箱数(bins)为256(该数也可以设置)。 例子: (三)GOSS算法单边梯度采样GOSS算法(Gradient-based One-Side Sampling):通过对样本采样的方法来减少计算目标函数增益时候的复杂度。 GOSS算法中,梯度更大的样本点在计算信息增益时会占有更重要的作用,当我们对样本进行下采样的时候保留这些梯度较大的样本点,并随机去掉梯度小的样本。 怎样保证信息损失降到最低: (四)EFB算法EFB算法(Exclusive Feature Bundling),即互斥特征绑定算法。
LightGBM可以直接将每个类别取值和一个bin关联,从而自动地处理它们,而无需预处理成onehot编码 (五)并行学习LightGBM支持特征并行和数据并行两种。传统的特征并行主要思想是在并行化决策树中寻找最佳切分点,在数据量大时难以加速,同时需要对切分结果进行通信整合。 LightGBM则是使用分散规约(Reduce scatter),它将直方图合并的任务分给不同的机器,降低通信和计算的开销,并利用直方图做加速训练,进一步成少开销。 三、LightGBM算法的简单代码实现(一)安装LightGBMLightGBM模型的安装办法可以采取PIP安装法,以Windows操作系统为例,Win+R快捷键调出运行框,输入cmd后,在弹出界面中输入代码后Enter键回车运行即可: 如在Jupyter Notebook编辑器中,运行下列代码 (二)演示LightGBM分类模型和回归模型
(三)案例案例背景:智能风控、大数据风控 1、模型搭建
2、参数调优了解了基本的参数后,我们需要对参数进行调优,使用网格搜索交叉验证的方法进行参数调优
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 4:38:38- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |