首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >随机森林精度

随机森林精度
EN

Data Science用户
提问于 2022-03-22 11:03:34
回答 1查看 137关注 0票数 0

我看到了这个视频,我了解到构建随机森林需要使用不同的决策树,具有不同的结构。我的密码是:

代码语言:javascript
复制
library(randomForest)
library(datasets)
library(caret)

data<-iris
str(data)

dataSpecies <- as.factor(data#qcStackCode#Species)
table(data$Species)

set.seed(222)
ind <- sample(2, nrow(data), replace = TRUE, prob = c(0.7, 0.3))
train <- data[ind==1,]
test <- data[ind==2,]

rf <- randomForest(Species~., data=train, proximity=TRUE) 
print(rf)

p1 <- predict(rf, train)
confusionMatrix(p1, train Species)
p2 <- predict(rf, test)
confusionMatrix(p2, test#qcStackCode# Species)

当我运行print(rf)时,我看到了:OOB estimate of error rate: 4.95%,所以我期望的准确性是1-4.95%?预期精度与列车精度(1)和测试精度(0,93)不同,这意味着什么?

EN

回答 1

Data Science用户

回答已采纳

发布于 2022-03-22 12:55:46

OOB错误率只是所有观测值之和中错误分类类的总和。请参阅以下文章以获得指导:https://www.blopig.com/blog/2017/04/a-very-basic-introduction-to-random-forests-using-r/#:~:text=The%20OOB%20estimate%20of%20error%20rate%20is%20a%20useful%20measure,值%20表示%20此错误率为20%

然而,你的第二个问题有点微妙。你必须理解训练和测试的区别。通常情况下,测试的误差总是高于训练(样本内与样本外数据之间的差异)。想象一下你的算法,它是训练在火车数据和它适合火车数据。然而,在测试过程中,您试图用火车上的数据来预测测试,误差较高(或准确度较低)是正常的,因为它从未见过这些数据。

错误来自以下几行:

代码语言:javascript
复制
p1 <- predict(rf, train)
confusionMatrix(p1, train$ Species)

rf已经掌握了信息。你在p1中找到的OOB是根据你所拟合的数据来预测的。对于火车零件,使用从射频出来的桌子。

票数 0
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/109257

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档