图例随机森林 r

Plot legend random Forest r

我 运行 R 中的 randomForest 算法,并想绘制 OOB Error 并用图例描述它。但是,我似乎做对了。

看起来是这样的:

这就是我使用的代码:

plot(rfOutput, log = "y", type = "l")
legend("top", colnames(rfOutput$err.rate),col=1:6,cex=0.8,fill=1:6)

如何指定用于线条的颜色以及线型?我不想让它破灭。此外,我将如何添加匹配的图例?

这是一个解决方案,您可以从 plot(rfOutput...) 中提取绘图数据并使用 ggplot 包重新绘制它:

library(randomForest)
library(data.table)
library(ggplot2)

# Use random forest example from randomForest package
data(iris)
set.seed(71)
rfOutput <- randomForest(Species ~ ., data=iris, importance=TRUE, ntree = 6, proximity=TRUE)

# Get OOB data from plot and coerce to data.table
oobData = as.data.table(plot(rfOutput))

# Define trees as 1:ntree
oobData[, trees := .I]

# Cast to long format
oobData2 = melt(oobData, id.vars = "trees")
setnames(oobData2, "value", "error")

# Plot using ggplot
ggplot(data = oobData2, aes(x = trees, y = error, color = variable)) + geom_line()

输出结果如下: