用于循环存储混淆矩阵的结果

时间:2017-12-10 16:14:53

标签: r loops predict confusion-matrix

我试图将一个混淆矩阵的结果存储在for循环中。现在,循环只打印每次迭代的分析结果。

myconf

而不是简单地打印predict我希望存储confusionMatrix函数的结果,然后在循环的所有50次迭代中实现{{1}}函数。

1 个答案:

答案 0 :(得分:0)

有多种方法可以改善这个问题,但我认为您尝试做的是使用replicate

f <- function(cpg.updated.2) {
train.cpg.t2 <- sample(nrow(cpg.updated.2), 2/3 * nrow(cpg.updated.2))
cpg.train.t2 <- cpg.updated.2[train.cpg.t2, ]
cpg.test.t2 <- cpg.updated.2[-train.cpg.t2, ]

model.nb2 <- naiveBayes(group ~ ., data = cpg.train.t2)
naive.cpg2<-predict(model.nb2, cpg.test.t2)
myconf<-confusionMatrix(predict(model.nb2, cpg.test.t2), cpg.test.t2$group)
myconf
}

results <- replicate(n = 50, expr = f(cpg.updated.2))

一句忠告。如果你稍微改善一下这个问题,你会得到更好的质量答案。对于初学者confusionMatrix不在我熟悉的任何软件包中,因此如果不安装额外的软件包就无法运行代码,这不是很好。但是,您的问题是存储循环的输出,因此可以显着简化问题,并且根本不需要confusionMatrix