R语言机器学习系列-随机森林回归代码解读

回归问题指的是因变量或者被预测变量是连续性变量的情形,比如预测身高体重的具体数值是多少的情形。整个代码大致可以分为包、数据、模型、预测评估4个部分,接下来逐一解读。

1、包部分,也就是加载各类包,包括随机森林包randomForest,数据相关包tidyverse、skimr、DataExplorer,模型评估包caret。

2、数据部分,主要是读取数据,处理缺失值,转换变量类型。

3、模型部分。

为了对模型的泛化能力有更准确的评估,先将数据集拆为训练集和测试集,后续将在训练集上训练模型,然后以测试集上的结果评估模型泛化能力。

模型训练部分及模型结果部分的代码如下:

# 因变量自变量构建公式
colnames(boston)
form_reg <- as.formula(
  paste0(
    "medv ~ ", 
    paste(colnames(traindata)[1:13], collapse = " + ")
  )
)
form_reg

# 训练模型
set.seed(42)
fit_rf_reg <- randomForest(
  form_reg,
  data = traindata,
  ntree = 500, # 决策树棵数
  mtry = 6, # 每个节点可供选择的变量数目
  importance = T # 输出变量重要性
)

# 模型概要
fit_rf_reg
# ntree参数与error之间的关系图示
plot(fit_rf_reg, main = "ERROR & TREES")

# 变量重要性
importance(fit_rf_reg)
varImpPlot(fit_rf_reg, main = "Variable Importance Plot
  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
随机森林是一种常用的机器学习算法,用于解决分类和回归问题。在随机森林中,特征重要性是评估每个特征对模型预测能力的贡献程度的一种指标。R语言中的randomForestExplainer包提供了解释随机森林模型的功能。 在使用randomForestExplainer包解释随机森林模型时,可以使用以下方法来解读特征重要性结果: 1. 使用randomForestExplainer包中的函数来计算特征重要性。这些函数可以从随机森林对象中提取特征重要性的度量值。常用的度量包括: - 变量扰动后的预测精度降低(度量a) - 变分裂后节点纯度的变化(度量b) 变量扰动后的预测精度降低的平均(度量c) - 变量分裂后节点纯度变化的平均值(度量d) - 基于森林结构的度量(度量e-i) 2. 根据具体的度量值,可以判断特征的重要性。例如,如果度量a和c的值较大,则表示该特征对模型的预测能力有较大的贡献;如果度量b和d的值较大,则表示该特征对节点纯度的变化有较大的影响;如果度量e-i的值较大,则表示该特征在森林结构中起到了重要的作用。 3. 可以使用randomForestExplainer包中的其他函数来可视化特征重要性结果例如,可以使用plot_min_depth_distribution函数来绘制最小深度的分布图,使用多元重要性绘制函数来比较不同特征的重要性,使用交互图像绘制函数来展示特征之间的交互关系等。 总之,通过使用randomForestExplainer包提供的函数和方法,可以对随机森林模型的特征重要性进行解读和可视化,从而更好地理解模型的预测能力和特征之间的关系。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mrrunsen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值