gjmdad 2023-02-04 15:22 采纳率: 100%
浏览 95
已结题

R语言 回归树/袋装树/随机森林预测

给定数据集data:链接:https://pan.baidu.com/s/1589RdaTGZaTlQAAOzfO58A 提取码:65bb
将前 90 个观察值视为训练集,其余 4 个观察值视为评估集。通过MSFE比较回归树、装袋树和随机森林的预测性能。
请问这个代码该如何编辑?

  • 写回答

3条回答 默认 最新

  • 社区专家-Monster-XH 2023-02-04 20:38
    关注

    请参考:

    # 加载数据
    data <- read.csv("data.csv")
    
    # 将前 90 个观察值分配给训练集,其余4个观察值分配给评估集
    trainIndex <- 1:90
    testIndex <- (90 + 1):nrow(data)
    trainData <- data[trainIndex, ]
    testData <- data[testIndex, ]
    
    # 建立回归树模型
    library(rpart)
    regressionTree <- rpart(Budget ~ ., data = trainData)
    
    # 建立装袋树模型
    library(ipred)
    baggingTree <- bagging(Budget ~ ., data = trainData)
    
    # 建立随机森林模型
    library(randomForest)
    randomForest <- randomForest(Budget ~ ., data = trainData)
    
    # 通过MSFE比较回归树、装袋树和随机森林的预测性能
    msfeRegressionTree <- mean((predict(regressionTree, newdata = testData) - testData$Budget)^2)
    msfeBaggingTree <- mean((predict(baggingTree, newdata = testData) - testData$Budget)^2)
    msfeRandomForest <- mean((predict(randomForest, newdata = testData) - testData$Budget)^2)
    
    cat("MSFE of regression tree:", msfeRegressionTree, "\n")
    cat("MSFE of bagging tree:", msfeBaggingTree, "\n")
    cat("MSFE of random forest:", msfeRandomForest, "\n")
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 2月14日
  • 已采纳回答 2月6日
  • 修改了问题 2月4日
  • 创建了问题 2月4日