#加载程序包
library(randomForest)
#加载数据包
data(iris)
##生成随机森林,进行predict
ind <- sample(2, nrow(iris), replace = TRUE, prob=c(0.8, 0.2))
iris.rf <- randomForest(Species ~ ., data=iris[ind == 1,])
iris.pred <- predict(iris.rf, iris[ind == 2,])
##生成对比数据框
#使用列iris.pred和iris[ind==2,5]来生成对比数据框
d <- data.frame(iris.pred, iris[ind==2,5])
#将数据框的行名称修改为1:30
rownames(d) <- 1:dim(d)[1]
#将数据框的列名称修改为'predict'和'actual'
names(d)[1] <- 'predict'
names(d)[2] <- 'actual'
##生成对比矩阵
#dotchart方法需要输入矩阵而不是数据框,因此在这里做这样的转换
m <- rbind(c(d$predict),c(d$actual))
##绘图
#设置当前绘制状态:阻止绘制x轴
par(xaxt='n')
#绘制散点图(因x轴绘制被阻止,生成的图像没有x轴)
dotchart(m,labels='',bg=c('blue','red'),main='随机森林命中率示意图')
#设置当前绘制状态:绘制标准x轴
par(xaxt='s')
#添加x轴和y轴的标题
title(xlab='Species',ylab='test No.')
#添加x轴
axis(1,at=1:3,labels=c('setosa','versicolor','virginica'))
#添加图例
legend('topright', inset=.05, title="Data Type", c('predict','actual'), pch = 18, col=c('blue','red'))
For JingJing
最新推荐文章于 2023-03-07 21:45:32 发布