R语言机器学习算法实战系列(十六)随机森林算法回归模型+SHAP值(Random Forest Regression + SHAP)

禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者!

  1. R语言机器学习算法实战系列(一)XGBoost算法+SHAP值(eXtreme Gradient Boosting)
  2. R语言机器学习算法实战系列(二) SVM算法+重要性得分(Support Vector Machine)
  3. R语言机器学习算法实战系列(三)lightGBM算法+SHAP值(Light Gradient Boosting Machine)
  4. R语言机器学习算法实战系列(四)随机森林算法+SHAP值 (Random Forest)
  5. R语言机器学习算法实战系列(五)GBM算法+SHAP值 (Gradient Boosting Machines)
  6. R语言机器学习算法实战系列(六)K-邻近算法 (K-Nearest Neighbors)
  7. R语言机器学习算法实战系列(七)朴素贝叶斯分类算法 (Naïve Bayes Classifier)
  8. R语言机器学习算法实战系列(八)逻辑回归算法 (logistic regression)
  9. R语言机器学习算法实战系列(九)决策树分类算法 (Decision Trees Classifier)
  10. R语言机器学习算法实战系列(十)自适应提升分类算法 (Adaptive Boosting)
  11. R语言机器学习算法实战系列(十一)MLP分类算法 (Multi-Layer Perceptrons)
  12. R语言机器学习算法实战系列(十二)线性判别分析分类算法 (Linear Discriminant Analysis)
  13. R语言机器学习算法实战系列(十三)随机森林生存分析构建预后模型 (Random Survival Forest)
  14. R语言机器学习算法实战系列(十四): CatBoost分类算法+SHAP值 (categorical data gradient boosting)
  15. R语言机器学习算法实战系列(十五)随机森林生存预后模型+SHAP值 (Random Survival Forest + SHAP)
  16. R语言机器学习算法实战系列(十六)随机森林算法回归模型+SHAP值(Random Forest Regression + SHAP)
  17. R语言机器学习算法实战系列(十七)特征选择之弹性网络回归算法(Elastic Net Regression)
  18. R语言机器学习算法实战系列(十八)特征选择之LASSO算法(Least Absolute Shrinkage and Selection Operator Regression)
  19. R语言机器学习算法实战系列(十九)特征选择之Monte Carlo算法(Monte Carlo Feature Selection)
  20. R语言机器学习算法实战系列(二十)特征选择之Boruta算法

机器学习论文

  1. R语言机器学习论文(一):研究背景
  2. R语言机器学习论文(二):数据准备
  3. R语言机器学习论文(三):特征提取
  4. R语言机器学习论文(四):模型构建
  5. R语言机器学习论文(五):解释模型
  6. R语言机器学习论文(六):总结
image.png

介绍

随机森林算法回归模型是一种集成学习方法,用于解决回归问题,即预测连续的数值型响应变量。它通过构建多个决策树并结合它们的预测结果来提高模型的准确性和鲁棒性。

原理

  1. 集成学习:随机森林是一种集成学习方法,它通过构建多个决策树并将它们的预测结果结合起来,以减少单一决策树的方差,提高模型的泛化能力。
  2. 自助采样(Bootstrap Aggregating):随机森林中的每棵树都是在原始数据集的一个随机子样本上训练得到的,这个子样本是通过有放回的抽样(即自助采样)得到的。
  3. 随机特征选择:在每棵树的每个分裂节点,随机森林不是考虑所有的特征,而是随机选择一部分特征,然后从中选择最佳分裂特征。这增加了树之间的多样性,减少了它们之间的相关性。
  4. 平均预测:对于回归问题,随机森林通过取所有决策树预测结果的平均值作为最终预测。

步骤

  1. 初始化参数:设置随机森林的参数,包括树的数量、每个节点分裂时考虑的特征数(mtry)、以及是否进行交叉验证等。
  2. 构建决策树
    • 对于每棵树: a. 从原始数据集中使用自助采样得到一个子样本。 b. 在这个子样本上,对于每个分裂节点,随机选择mtry个特征。 c. 选择最佳分裂特征和分裂点以最小化节点的不纯度(对于回归树通常是最小化均方误差)。 d. 递归地分裂节点,直到满足停止条件(如节点中的数据量小于某个阈值,或树达到最大深度)。
  3. 聚合预测:对于回归问题,对于每个数据点,所有树上的预测结果被聚合(通常是取平均值)以得到最终的预测结果。
  4. 特征重要性评估:通过观察每个特征在所有树上对减少不纯度的贡献来评估特征的重要性。
  5. 模型优化:使用交叉验证等方法调整模型参数,以避免过拟合和欠拟合,并优化模型性能。
  6. 模型预测:使用训练好的随机森林模型对新数据进行预测。

回归和分类的异同

机器学习中的回归和分类是两种不同的预测模型,它们的主要区别在于预测的目标和输出结果的类型:

特征 回归 (Regression) 分类 (Classification)
目标 预测连续的数值型数据 预测离散的类别标签
输出结果 连续数值(如房价、温度) 离散类别(如垃圾邮件/非垃圾邮件)
损失函数 均方误差(MSE)、平均绝对误差(MAE)等 交叉熵损失(Cross-Entropy Loss)等
评估指标 均方误差(MSE)、平均绝对误差(MAE)、R平方值(R²)等 准确率(Accuracy)、精确率(Precision)、召回率(Recall)、F1分数(F1 Score)等
模型选择 线性回归、多项式回归、决策树回归、随机森林回归、支持向量回归(SVR)等 逻辑回归、决策树分类、随机森林分类、支持向量机(SVM)、神经网络等
应用场景 股价预测、温度预测、销售额预测等 图像识别、文本分类、疾病诊断等

教程

本文旨在通过R语言实现random forest,总共包含:

  1. 下载数据
  2. 加载R包
  3. 数据预处理
  4. 数据切割
  5. 特征选择
  6. 设置参数
  7. 构建模型
  8. 预测测试数据
  9. 评估模型
  10. 特征的重要性
  11. 模型SHAP值解释
  12. 保存模型
  13. 总结
  14. 系统信息

加载R包

导入所需要的R包,在导入前需要用户自己安装。


library(tidyverse)
library(data.table)
library(randomForest)
library(caret)
library(pROC)
library(ggpubr)
library(ggcorrplot)
library(corrplot)
library(ggforce)
library(MLmetrics)
library(patchwork)
library(cowplot)
library(Metrics)
library(scales)
library(ggpmisc)

# rm(list = ls())
options(stringsAsFactors = F)
options(future.globals.maxSize = 1000 * 1024^2)

导入数据

  • 该数据集包含1000颗钻石的信息。它包含价格以及其他9个属性

datset <- data.table::fread("./data/diamond.csv")

head(datset)

预测测试数据

image.png

更多内容请前往

image.png
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,137评论 6 511
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,824评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,465评论 0 357
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,131评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,140评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,895评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,535评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,435评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,952评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,081评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,210评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,896评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,552评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,089评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,198评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,531评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,209评论 2 357

推荐阅读更多精彩内容