打印KNN算法的混淆矩阵时出错

时间:2015-11-19 13:48:18

标签: r r-caret knn confusion-matrix

我想在数据集上尝试使用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是我必须测试的专栏。当我检查kknn_test$driver_tset的级别时,会显示以下内容:

levels(k)
# [1] "7"  "8"  "9"  "10" "11" "12" "13" "14" "17"

levels(knn_test$driver_tset)
# NULL`

所以很清楚水平是不同的,但我没有在这里获得水平的重要性。另外,我该如何解决这个问题?

0 个答案:

没有答案