我試圖設定一個可以從混淆矩陣中獲取特定值的回圈,但這對我來說是不可能的。
這是我想到的簡單想法:
knn_MaC <- function(train,test,label,test_label,k,positive){
z <- matrix()
for (i in k){
Yp <- knn(train = train, test = test, cl= label,k = i)
MaC <- confusionMatrix(Yp,test_label,positive)
z <- c(MaC$table[2],MaC$table[3])
}}
正如我所說,我嘗試了很多方法來獲取各種錯誤。我的想法是獲取這些值來制作簡歷表。
uj5u.com熱心網友回復:
在下面的代碼中,我制作了一些示例資料,并撰寫了一個適合我的函式:
library(class)
library(caret)
library(data.table)
train <- rbind(iris3[1:25,,2], iris3[1:25,,3])
test <- rbind(iris3[26:50,,2], iris3[26:50,,3])
cl <- factor(c(rep("c",25), rep("s",25)))
test_label <- factor(c(rep("c",25), rep("s",25)))
k <- c(3,5,7,11)
positive <- NULL
knn_MaC <- function(train,test,label,test_label,k,positive){
z <- list()
for (i in k){
Yp <- knn(train = train, test = test, cl= label,k = i)
MaC <- confusionMatrix(Yp,test_label,positive)
z[[i]] <- data.frame(k=i,
False_negative=MaC$table[2],
False_positive=MaC$table[3])
}
return(rbindlist(z))
}
final_results <- knn_MaC(train,test,label,test_label,k,positive)
如果這對您不起作用,您可能需要提供資料示例。此外,請確保在測驗之前已完全清除環境。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/456585.html
