情节传说随机森林r

时间:2016-09-05 12:33:42

标签: r plot random-forest

我在randomForest中运行R算法,并希望用描述它的图例绘制OOB Error。但是,我似乎无法做到正确。

这就是它的样子:

messed up plot

这就是我使用的代码:

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

如何指定用于线条和线型的颜色?我不希望它破灭。此外,我如何添加匹配的图例?

1 个答案:

答案 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()

输出如下:

enter image description here