randomForest包中的err.rate:如何检索它?

randomForest包中的err.rate:如何检索它?,r,random-forest,R,Random Forest,我将从randomForest包中检索错误率。因此,下面的代码尝试这样做: library(randomForest) # Create dataset set.seed(1) y <- factor(rbinom(300, c(0, 1), 1)) x <- matrix(rnorm(300 * 5), 300, 5, dimnames = list(NULL, paste0("x", 1:5))) model_df <- data.frame(y, x)

我将从randomForest包中检索错误率。因此,下面的代码尝试这样做:

library(randomForest)
# Create dataset
set.seed(1)
y <- factor(rbinom(300, c(0, 1), 1))
x <- matrix(rnorm(300 * 5), 300, 5, dimnames = list(NULL, paste0("x", 1:5)))
model_df <- data.frame(y, x)
# Estimate model
set.seed(1)
rf <- randomForest(y ~ ., data = model_df, ntree = 10,keep.forest = TRUE, keep.inbag=TRUE,mtry=2,importance=T)

plot(rf$err.rate[,1],type="l")

pred <- predict(rf,model_df, predict.all=TRUE)
error_rate=numeric(10)
error_rates  = list()
for(i in 1:10){
  
tree_pred_1 <- pred$individual[,i]
oob_idx <- rf$inbag[,i] == 0
oob_tree_pred_1 <- as.factor(tree_pred_1[oob_idx])
oob_tree_actual_1 <- rf$y[oob_idx]



conf_mtx <- table(oob_tree_pred_1, oob_tree_actual_1)
#error_rates <- 1 - diag(conf_mtx) / colSums(conf_mtx)
error_rate[i] <- 1 - sum(diag(conf_mtx)) / sum(conf_mtx)


error_rates[[i]] <- 1 - diag(conf_mtx) / colSums(conf_mtx)

}


rf$err.rate[,1]  # err rate calculated by rf pack.
error_rate

库(随机林)
#创建数据集
种子(1)
Y