为什么随机森林图中有很多条线?

机器算法验证 r 数据可视化 随机森林
2022-03-14 15:50:13

我正在Sonar使用以下代码在数据集上运行随机森林算法:

library(mlbench)
data(Sonar)
library(randomForest)

n <- 208
ntrain <- 100
ntest <- 108
train.idx <- sample(1:n, ntrain, replace = FALSE)
train.set <- Sonar[train.idx, ]
test.set <- Sonar[-train.idx, ]

rf <- randomForest(Class ~ ., data = train.set, keep.inbag = TRUE, importance = TRUE)
plot(rf)

你能解释一下为什么我们在图中最多有三个不同的线吗?三行代表什么?

在此处输入图像描述

1个回答

不幸的是,?plot.randomForest根本没有帮助。但是,它确实告诉我们plot.randomForest不可见地返回用括号绘制的数据(尝试(plot(rf)),这是一个三列矩阵,其中的列称为OOB第一个很明显是整体的袋外错误。另外两个同样明显是两个可能类的袋外错误,即MRMR

至于哪一行对应哪一列,我们检查输出矩阵,特别是最后几行:

> tail(plot(rf))
        OOB          M         R
[495,] 0.22 0.09259259 0.3695652
[496,] 0.22 0.09259259 0.3695652
[497,] 0.22 0.09259259 0.3695652
[498,] 0.22 0.09259259 0.3695652
[499,] 0.22 0.09259259 0.3695652
[500,] 0.22 0.09259259 0.3695652

因此,底部是M,中间是OOB,顶部是R