我在randomForest
中运行R
算法,并希望用描述它的图例绘制OOB Error
。但是,我似乎无法做到正确。
这就是它的样子:
这就是我使用的代码:
plot(rfOutput, log = "y", type = "l")
legend("top", colnames(rfOutput$err.rate),col=1:6,cex=0.8,fill=1:6)
如何指定用于线条和线型的颜色?我不希望它破灭。此外,我如何添加匹配的图例?
答案 0 :(得分:1)
这是一个解决方案,您可以从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()
输出如下: