knn3中的错误。矩阵(x,y=y,k=k,…):在R中尝试进行knn分类时,y必须是因子错误
我试图用10倍交叉验证来进行knn。然而,当我尝试将数据拟合到模型时,我遇到了一个错误,上面写着“knn3.matrix(x,y=y,k=k,…)中的错误:y必须是一个因子”。有人能就如何解决此错误向我提供建议吗knn3中的错误。矩阵(x,y=y,k=k,…):在R中尝试进行knn分类时,y必须是因子错误,r,knn,R,Knn,我试图用10倍交叉验证来进行knn。然而,当我尝试将数据拟合到模型时,我遇到了一个错误,上面写着“knn3.matrix(x,y=y,k=k,…)中的错误:y必须是一个因子”。有人能就如何解决此错误向我提供建议吗 class <- c("Not", "Not","Not","Not","Not","Not","Not","Not",
class <- c("Not", "Not","Not","Not","Not","Not","Not","Not","Not","Not","Not","Not","Not","Not","Not","Not","Not","Not","Not","Not","Not","Not","Not","Not","Not","Not","Not","Not","Not", "Tumor","Tumor","Tumor","Tumor","Tumor","Tumor","Tumor","Tumor","Tumor","Tumor","Tumor","Tumor","Tumor","Tumor","Tumor","Tumor","Tumor","Tumor","Tumor","Tumor","Tumor","Tumor","Tumor","Tumor","Tumor","Tumor","Tumor","Tumor","Tumor")
class欢迎使用堆栈溢出!这将允许其他人帮助你。我试图复制您的数据,但没有提供对象“cernical”和“logged_-nzv”。
df1<-data.frame(cervical[1:58, 0],class)
df2 <- as.data.frame(logged_standardized_nzv)
merge <- merge(df1, df2, by = "row.names")
rownames(merge)<- merge[,1]
merge <- merge[,-1]
set.seed(100)
intrain <- createDataPartition(y = merge[ ,1], p=0.7)[[1]]
training <- merge[intrain, ]
testing <- merge[-intrain, ]
knn.fit <-knn3(x = training[,-1],
y = training[ ,1], k=10)
# Error in knn3.matrix(x, y = y, k = k, ...) : y must be a factor