- R语言机器学习算法实战系列(一)XGBoost算法+SHAP值(eXtreme Gradient Boosting)
- R语言机器学习算法实战系列(二) SVM算法+重要性得分(Support Vector Machine)
- R语言机器学习算法实战系列(三)lightGBM算法+SHAP值(Light Gradient Boosting Machine)
- R语言机器学习算法实战系列(四)随机森林算法+SHAP值 (Random Forest)
- R语言机器学习算法实战系列(五)GBM算法+SHAP值 (Gradient Boosting Machines)
- R语言机器学习算法实战系列(六)K-邻近算法 (K-Nearest Neighbors)
- R语言机器学习算法实战系列(七)朴素贝叶斯分类算法 (Naïve Bayes Classifier)
- R语言机器学习算法实战系列(八)逻辑回归算法 (logistic regression)
- R语言机器学习算法实战系列(九)决策树分类算法 (Decision Trees Classifier)
- R语言机器学习算法实战系列(十)自适应提升分类算法 (Adaptive Boosting)
- R语言机器学习算法实战系列(十一)MLP分类算法 (Multi-Layer Perceptrons)
- R语言机器学习算法实战系列(十二)线性判别分析分类算法 (Linear Discriminant Analysis)
介绍
LightGBM(Light Gradient Boosting Machine)是一款基于决策树算法的分布式梯度提升框架,由微软开发。它的设计初衷是为了提供一个快速高效、低内存占用、高准确度、支持并行和大规模数据处理的数据科学工具。
原理:
- 基于Histogram的决策树算法:LightGBM使用直方图算法来构建决策树,这种方法先将连续的浮点特征值离散化成k个整数,然后构造一个宽度为k的直方图。这种方法减少了数据预排序的需要,降低了内存消耗,并且提高了计算效率。
- 带深度限制的Leaf-wise算法:大多数GBDT工具使用按层生长(level-wise)的策略,而LightGBM采用了带有深度限制的按叶子生长(leaf-wise)算法。这种策略每次从当前所有叶子中找到分裂增益最大的一个叶子进行分裂,提高了效率,但也可能增加过拟合的风险,因此引入了最大深度的限制。
- 单边梯度采样算法(GOSS):为了减少计算量,LightGBM使用GOSS算法,它只保留了梯度较大的数据,从而在计算信息增益时减少了数据量。
- 互斥特征捆绑算法(EFB):LightGBM可以将许多互斥的特征绑定为一个特征,达到降维的目的,这样在构建直方图时的时间复杂度可以大幅降低。
- 高效并行:LightGBM支持特征并行、数据并行和投票并行,这些并行策略可以有效利用多核处理器,加速模型的训练。
- Cache命中率优化:LightGBM的直方图算法对Cache友好,可以提高缓存命中率,从而提升训练速度。
应用方向:
LightGBM由于其高效和可扩展的特性,被广泛应用于各种机器学习任务中,包括但不限于:
- 二分类和多分类问题:如信用评分、情感分析等。
- 回归问题:如房价预测、股票价格预测等。
教程
本文旨在通过R语言实现lightGBM的应用,总共包含以下步骤:
- 下载数据
- 加载R包
- 数据预处理
- 数据描述
- 数据切割
- 设置数据对象
- 调节参数
- 训练模型
- 预测测试数据
- 评估模型
- 特征的重要性
- 模型SHAP值解释
- 保存模型
- 总结
- 系统信息
更多内容
R语言机器学习算法实战系列(三)lightGBM算法+SHAP值(Light Gradient Boosting Machine)
image.png
网友评论