You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R中使用mlr包构建随机森林回归learner?

mlr 包随机森林回归实现说明

代码报错原因

你给出的两行代码运行失败的核心问题如下:

  1. 第一行声明的是GBM算法的回归学习器,并非你需要的随机森林学习器,不符合需求
  2. 第二行中predict.type = "prob"是分类任务专属参数,回归任务仅支持response(返回预测值,默认)、se(返回预测值+标准误,仅部分算法支持)两种取值,参数不匹配导致报错

完整可运行示例脚本

以下脚本可直接运行,替换数据集即可用于你的水体污染分析场景:

# 1. 安装并加载依赖包
# 首次运行先执行安装
# install.packages(c("mlr", "randomForest"))
library(mlr)
library(randomForest)

# 2. 构造回归任务
# 示例使用内置mtcars数据集,你可替换为自己的水体污染数据集
# 只需将data替换为你的数据集,target替换为你要预测的连续型污染指标列名即可
data <- mtcars
regr.task <- makeRegrTask(id = "water_pollution_analysis", data = data, target = "mpg")

# 3. 构造随机森林回归学习器
# 基础配置:仅返回预测值,ntree可自行调整决策树数量
regr.lrn <- makeLearner("regr.randomForest", fix.factors.prediction = TRUE, ntree = 100)
# 如需额外返回预测结果的标准误,使用以下配置(randomForest回归支持该参数)
# regr.lrn <- makeLearner("regr.randomForest", predict.type = "se", fix.factors.prediction = TRUE, ntree = 100)

# 4. 训练模型
mod <- train(regr.lrn, regr.task)

# 5. 预测
# 此处示例为全数据集预测,可将newdata替换为你的测试集数据
pred <- predict(mod, newdata = data)
# 查看预测结果
head(as.data.frame(pred))

# 6. 回归模型评估(可选)
# 常用指标:均方误差(mse)、决定系数(rsq)、平均绝对误差(mae)
performance(pred, measures = list(mse, rsq, mae))

注意事项

  • 确保你使用的数据集里,待预测的目标变量为连续数值型,不要提前做分箱/分类转换
  • fix.factors.prediction = TRUE参数会自动处理训练集和测试集的因子水平不一致问题,保留即可

内容的提问来源于stack exchange,提问作者BHope

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 02:09:03