我使用randomForest函数在R中创建了一个随机森林预测模型:
model = randomForest(classification ~., data=train, ntree=100, proximity=T)
接下来,我绘制模型以查看模型的整体错误:
plot(model, log="y")
这给了我以下情节:
我的问题是如何在此设置图例,以便我可以看到哪种颜色与用于分类的因子中的每个值相对应?因子变量是data$classification
。我无法弄清楚要做到这一点的legend()调用。
答案 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)
答案 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)