向AI转型的程序员都关注了这个号????????????
人工智能大数据与深度学习 公众号:datayx
LightGBM是个快速的,分布式的,高性能的基于决策树算法的梯度提升框架。可用于排序,分类,回归以及很多其他的机器学习任务中。
科普视频:如何玩转LightGBM https://v.qq.com/x/page/k0362z6lqix.html
目录
一、"What We Do in LightGBM?"
二、在不同数据集上的对比
higgs和expo都是分类数据,yahoo ltr和msltr都是排序数据,在这些数据中,LightGBM都有更好的准确率和更强的内存使用量。
计算速度的对比,完成相同的训练量XGBoost通常耗费的时间是LightGBM的数倍之上,在higgs数据集上,它们的差距更是达到了15倍以上。
三、LightGBM的细节技术
1、直方图优化
看下直方图优化的细节处理
可以看到,这是按照bin来索引“直方图”,所以不用按照每个“特征”来排序,也不用一一去对比不同“特征”的值,大大的减少了运算量。
2、存储记忆优化
3、深度限制的节点展开方法
4、直方图做差优化
直方图做差优化可以达到两倍的加速,可以观察到一个叶子节点上的直方图,可以由它的父亲节点直方图减去它兄弟节点的直方图来得到。根据这一点我们可以构造出来数据量比较小的叶子节点上的直方图,然后用直方图做差来得到数据量比较大的叶子节点上的直方图,从而达到加速的效果。
5、顺序访问梯度
6、支持类别特征
7、支持并行学习
在直方图合并的时候,通信代价比较大,基于投票的数据并行能够很好的解决这一点。
四、MacOS安装LightGBM
值得注意的是:pip list里面没有lightgbm,以后使用lightgbm需要到特定的文件夹中运行。我的地址是:
/Users/ LightGBM /python-package
五,用python实现LightGBM算法
本代码以sklearn包中自带的鸢尾花数据集为例,用lightgbm算法实现鸢尾花种类的分类任务。
输出结果:
可以看到预测值和真实值之间的均方根误差为0.722972。
原文https://blog.csdn.net/huacha__/article/details/81057150
阅读过本文的人还看了以下:
不断更新资源
深度学习、机器学习、数据分析、python
搜索公众号添加: datayx
长按图片,识别二维码,点关注
AI项目体验
https://loveai.tech