confusionMatrix.rfe中的错误:重新采样的混淆矩阵不可用

时间:2016-04-29 21:03:30

标签: r r-caret

当尝试从rfe对象中提取混淆矩阵时,我遇到了错误“重新采样的混淆矩阵不可用”。是插入包的confusionMaitrx.rfe功能不起作用还是我在这里遗漏了什么?

以下是使用

模拟数据的示例

http://topepo.github.io/caret/rfe.html

有关函数confusionMatrix.rfe的文档在这里

http://www.inside-r.org/packages/cran/caret/docs/confusionMatrix.train

library(caret)
library(mlbench)
library(Hmisc)
library(randomForest)
n <- 100
p <- 40
sigma <- 1
set.seed(1)
sim <- mlbench.friedman1(n, sd = sigma)
colnames(sim$x) <- c(paste("real", 1:5, sep = ""),
                     paste("bogus", 1:5, sep = ""))
bogus <- matrix(rnorm(n * p), nrow = n)
colnames(bogus) <- paste("bogus", 5+(1:ncol(bogus)), sep = "")
x <- cbind(sim$x, bogus)
y <- sim$y
normalization <- preProcess(x)
x <- predict(normalization, x)
x <- as.data.frame(x)
subsets <- c(1:5, 10, 15, 20, 25)
set.seed(10)

ctrl <- rfeControl(functions = lmFuncs,
               method = "repeatedcv",
               repeats = 5,
               verbose = FALSE)

lmProfile <- rfe(x, y,
             sizes = subsets,
             rfeControl = ctrl)

lmProfile
confusionMatrix(lmProfile)
**Error in confusionMatrix.rfe(lmProfile) : 
  resampled confusion matrices are not availible**

谢谢!

1 个答案:

答案 0 :(得分:0)

mlbench.friedman1是一个回归问题,而不是分类问题。如果检查数据,可以看到Y变量是连续的。 confusionMatrix在这种情况下没用。