R中随机森林地块的图例

时间:2013-12-02 12:32:00

标签: r plot random-forest

我使用randomForest函数在R中创建了一个随机森林预测模型:

model = randomForest(classification ~., data=train, ntree=100, proximity=T)

接下来,我绘制模型以查看模型的整体错误:

plot(model, log="y")

这给了我以下情节: enter image description here

我的问题是如何在此设置图例,以便我可以看到哪种颜色与用于分类的因子中的每个值相对应?因子变量是data$classification。我无法弄清楚要做到这一点的legend()调用。

2 个答案:

答案 0 :(得分:9)

图S3方法图使用matplot绘制随机森林模型。您应该手动添加图例。这应该是一个好的开始:

library(randomForest)
model = randomForest(Species ~., data=iris, ntree=100, proximity=T)
layout(matrix(c(1,2),nrow=1),
       width=c(4,1)) 
par(mar=c(5,4,4,0)) #No margin on the right side
plot(model, log="y")
par(mar=c(5,0,4,2)) #No margin on the left side
plot(c(0,1),type="n", axes=F, xlab="", ylab="")
legend("top", colnames(model$err.rate),col=1:4,cex=0.8,fill=1:4)

enter image description here

答案 1 :(得分:0)

你可以使用它,

model$finalModel.legend <- if (is.null(model$finalModel$test$err.rate)) {colnames(model$finalModel$err.rate)} else {colnames(model$finalModel$test$err.rate)}
legend("top", cex =0.7, legend=model$finalModel.legend, lty=c(1,2,3), col=c(1,2,3), horiz=T)