簡體   English   中英

For循環存儲混淆矩陣的結果

[英]For loop to store results of confusion matrix

我正在嘗試將混淆矩陣的結果存儲在for循環中。 現在,循環僅打印每次迭代的分析結果。

for(i in 1:50){
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)

print(myconf)



}

與其簡單地打印myconf存儲predict函數的結果,然后在循環的所有50次迭代中實現confusionMatrix函數。

有多種方法可以改善此問題,但我認為您要嘗試使用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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM