R

為什麼隨機森林圖中有很多條線?

  • March 5, 2020

我正在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)

你能解釋一下為什麼我們在圖中最多有三個不同的線嗎?三行代表什麼?

在此處輸入圖像描述

不幸的是,?plot.randomForest根本沒有幫助。但是,它確實告訴我們plot.randomForest不可見地返回用括號繪製的數據(嘗試(plot(rf)),這是一個三列矩陣,其中的列稱為OOB和。第一個很明顯是整體的袋外錯誤。另外兩個同樣明顯是兩個可能類的袋外錯誤,它們是和。M``R``M``R

至於哪一行對應哪一列,我們檢查輸出矩陣,特別是最後幾行:

> 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

引用自:https://stats.stackexchange.com/questions/452774

comments powered by Disqus