【问题标题】:In Random Forest - how can I attach the prediction results to the data frame在随机森林中 - 如何将预测结果附加到数据框
【发布时间】:2014-06-28 17:29:20
【问题描述】:

我想使用随机森林进行分类,但有两件事我找不到解决方案:第一件事是如何将预测结果附加到数据框。其次,除了关于预测质量的列联表之外,我如何获得更多见解(图表、统计数据等)? 这是我的数据框示例:

dat <- read.table(text = " TargetVar  Var1    Var2       Var3
 0        0        0         7
 0        0        1         1
 0        1        0         3
 0        1        1         7
 1        0        0         5
 1        0        1         1
 1        1        0         0
 1        1        1         6
 0        0        0         8
 0        0        1         5
 1        1        1         4
 0        0        1         2
 1        0        0         9
 1        1        1         2  ", header = TRUE)

dat$dat$TargetVar <- as.factor(dat$TargetVar) #changed my target variable into a factor
rf <- randomForest(TargetVar~Var1 + Var2+ Var3 ,data=dat,ntree=10,importance=TRUE) #produced the model
table(predict(rf),dat$TargetVar) # got the contingency table

谢谢。

【问题讨论】:

    标签: r prediction random-forest


    【解决方案1】:

    我只能回答你问题的第一部分。

    如何将预测结果附加到数据框

    为此,您可以使用 cbind 函数:

    考虑您的预测结果:

    predict(rf)
    

    把它们变成一个数据框

    predResults <- data.frame(predict(rf))
    

    并更新您的原始数据框 (dat) 以包含这些结果:

    dat <- cbind(dat,predResults)
    
    > dat
          TargetVar Var1 Var2 Var3 predict.rf.
      1       0       0    0    7  0.40000000
      2       0       0    1    1  0.69642857
      3       0       1    0    3  1.00000000
      4       0       1    1    7  0.50000000
      5       1       0    0    5  0.30000000
      6       1       0    1    1  0.22380952
      7       1       1    0    0  0.47817460
      8       1       1    1    6  0.52916667
      9       0       0    0    8  0.44444444
      10      0       0    1    5  0.07142857
      11      1       1    1    4  0.66666667
      12      0       0    1    2  1.00000000
      13      1       0    0    9  0.15666667
      14      1       1    1    2  0.51785714
    

    【讨论】:

    • 嗨,我编辑了我的答案。您只需要获取预测并将它们转换为数据框,因此您可以使用 cbind 将预测添加到您的原始数据框。
    猜你喜欢
    • 2021-10-09
    • 2021-10-10
    • 2014-08-07
    • 2014-09-28
    • 2021-03-21
    • 2019-05-04
    • 2017-06-09
    • 2019-07-10
    相关资源
    最近更新 更多