R语言机器学习算法实战系列(五)GBM算法+SHAP值 (Gra
2024-10-18 本文已影响0人
生信学习者2
image.png
- 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)
介绍
Gradient Boosting Machines(GBM)是一种集成学习算法,它通过构建多个弱预测模型(通常是决策树),然后将这些模型的预测结果组合起来,以提高预测的准确性。GBM的核心思想是逐步添加模型,每个新模型都尝试纠正前一个模型的错误。
算法原理:
- 初始化模型: 首先,GBM从一个初始模型开始,这个模型可以是一个简单的模型,比如一个常数值(回归问题)或一个简单的分类器(分类问题)。
- 负梯度方向: 对于每个训练样本,计算当前模型的预测值与真实值之间的残差(或误差)。在回归问题中,这通常是真实值与预测值之间的差;在分类问题中,这可能是梯度(在某些实现中,如AdaBoost)或二阶导数(即Hessian,用于提升树模型)。
- 构建决策树: 然后,GBM会构建一个新的决策树,这个树的目标是最小化残差(或误差)的加权和。这意味着新树将尝试预测那些当前模型预测错误的样本。
- 更新模型: 新构建的决策树会通过一个学习率(通常小于1)进行缩放,然后加到现有的模型上。学习率可以控制每棵树对最终预测的贡献,防止过拟合。
- 迭代过程: 重复步骤2-4,直到达到预定的迭代次数或模型的性能不再显著提升。
- 最终预测: 在训练完成后,GBM将所有构建的树的预测结果结合起来,形成最终的预测。在回归问题中,这通常是预测值的总和;在分类问题中,这可能是一个投票或平均过程。
步骤:
- 初始化: 设置初始模型,可以是简单的基线模型。
-
迭代: 对于每轮迭代:
- 计算残差:对于每个训练样本,计算当前模型的预测值与真实值之间的残差。
- 构建决策树:使用残差作为目标来训练一个新的决策树。
- 更新模型:将新树的预测乘以学习率后加到现有模型上。
- 终止条件: 检查是否达到迭代次数或模型性能不再提升。
- 输出: 输出最终的集成模型,该模型是所有决策树的加权和。
教程
本文旨在通过R语言实现GBM,总共包含:
- 下载数据
- 加载R包
- 数据预处理
- 数据描述
- 数据切割
- 调节参数
- 构建模型
- 预测测试数据
- 评估模型
- 特征的重要性
- 模型SHAP值解释
- 保存模型
- 总结
- 系统信息