禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者!
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)
- R语言机器学习算法实战系列(十三)随机森林生存分析构建预后模型 (Random Survival Forest)
- R语言机器学习算法实战系列(十四): CatBoost分类算法+SHAP值 (categorical data gradient boosting)
- R语言机器学习算法实战系列(十五)随机森林生存预后模型+SHAP值 (Random Survival Forest + SHAP)
- R语言机器学习算法实战系列(十六)随机森林算法回归模型+SHAP值(Random Forest Regression + SHAP)
- R语言机器学习算法实战系列(十七)特征选择之弹性网络回归算法(Elastic Net Regression)
- R语言机器学习算法实战系列(十八)特征选择之LASSO算法(Least Absolute Shrinkage and Selection Operator Regression)
- R语言机器学习算法实战系列(十九)特征选择之Monte Carlo算法(Monte Carlo Feature Selection)
- R语言机器学习算法实战系列(二十)特征选择之Boruta算法
机器学习论文
- R语言机器学习论文(一):研究背景
- R语言机器学习论文(二):数据准备
- R语言机器学习论文(三):特征提取
- R语言机器学习论文(四):模型构建
- R语言机器学习论文(五):解释模型
- R语言机器学习论文(六):总结
介绍
CatBoost是一种基于梯度提升决策树(Gradient Boosting Decision Tree)的集成模型,它在传统GBDT的基础上引入了一系列关键技术创新,以提升处理类别型特征和缺失值的能力,以及整体模型性能。以下是CatBoost的原理和步骤:
CatBoost的原理
- 类别型特征处理:CatBoost直接处理类别型特征,而不需要进行复杂的预处理。它采用了对类别特征的目标编码,并通过平均值进行平滑处理,避免过拟合。
- 顺序建树:CatBoost采用顺序建树算法,避免了传统GBDT中信息泄漏的问题。顺序建树确保每棵树在构建时只能看到前面树的预测结果,而不会看到当前树的预测结果。
- 对称树结构:CatBoost使用对称树结构,即每棵树的所有节点都按照相同的特征和阈值进行分裂。这种结构使得预测速度更快,并且模型对噪声更鲁棒。
- 动态学习率:CatBoost采用动态学习率,根据迭代次数动态调整学习率,以加速收敛。
- 排序学习(Ordered Target Statistics, OTS):对类别型特征的每个类别赋予一个唯一的顺序,根据目标值对类别进行排序。这样在构建决策树时,不仅考虑类别间的区分度,还考虑类别内部的排序信息,有效防止过拟合。
- 目标导向的编码(Target-Aware Encoding, TAE):根据目标值动态生成类别型特征的编码,使得编码更能反映类别与目标值之间的关系,提升模型的预测性能。
- 缺失值处理:CatBoost在构建决策树时,将缺失值视为一个独立的类别,并在每次分割时计算其增益,使得模型能够直接处理缺失值,无需进行预填充或删除操作。
- 并行学习与分布式训练:支持数据并行、特征并行和投票并行,有效利用多核CPU或分布式环境,大幅提升训练速度。
教程
本文旨在通过R语言实现CatBoost,总共包含:
- 下载数据
- 加载R包
- 导入数据
- 数据预处理
- 数据描述
- 数据切割
- 设置数据对象
- 调节参数
- 训练模型
- 预测测试数据
- 评估模型
- 特征的重要性
- 模型SHAP值解释
- 保存模型
- 总结
- 系统信息
更多内容请前往
R语言机器学习算法实战系列(十四): CatBoost分类算法+SHAP值 (categorical data gradient boosting)
image.png