我想在数据集上尝试使用KNN算法R.I能够执行KNN,但我想检查模型的准确性。
我试图在confusionMatrix
函数的帮助下做同样的事情,但它显示以下错误。
Error in confusionMatrix.default(k, knn_test$driver_tset):
the data cannot have more levels than the reference
代码如下。
knn_data <- read.csv("Path/Data_without_Missing_values.csv")
knn_test<-read.csv("Path/Test.csv")
cl <- factor(knn_data[,4])
library('class') # required for knn()
k <- knn(knn_data[,c(1,2,3)], knn_test[,c(1,2,3)], cl)
library('caret') # required for confusionMatrix()
confusionMatrix(k,knn_test$driver_tset)
driver_tset
是我必须测试的专栏。当我检查k
和knn_test$driver_tset
的级别时,会显示以下内容:
levels(k)
# [1] "7" "8" "9" "10" "11" "12" "13" "14" "17"
levels(knn_test$driver_tset)
# NULL`
所以很清楚水平是不同的,但我没有在这里获得水平的重要性。另外,我该如何解决这个问题?