图例随机森林 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()
输出结果如下:
我 运行 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()
输出结果如下: