【问题标题】:KNN Accuracy of 100%?KNN 准确度为 100%?
【发布时间】:2022-04-26 22:02:48
【问题描述】:

我在 KNN 中使用了以下代码

jd <- jobdata
   head (jd)
   jd$ipermanency rate= as.integer(as.factor(jd$ipermanency rate))
   jd$`permanency rate`=as.integer(as.factor(jd$`permanency rate`))
   jd$`job skills`=as.integer(as.factor(jd$`job skills`))
   jd$Default <- factor(jd$Default)
   num.vars <- sapply(jd, is.numeric)
   jd[num.vars] <- lapply(jd[num.vars], scale)
   jd$`permanency rate` <- factor(jd$`permanency rate`)
   num.vars <- sapply(jd, is.numeric)
   jd[num.vars] <- lapply(jd[num.vars], scale)
   myvars <- c("permanency rate", "job skills")
   jd.subset <- jd[myvars]
   summary(jd.subset)
   set.seed(123)
   test <- 1:100
   train.jd <- jd.subset[-test,]
   test.jd <- jd.subset[test,]
   train.def <- jd$`permanency rate`[-test]
   test.def <- jd$`permanency rate`[test]
   library(class)
   knn.1 <-  knn(train.jd, test.jd, train.def, k=1)
   knn.3 <-  knn(train.jd, test.jd, train.def, k=3)
   knn.5 <- knn(train.jd, test.jd, train.def, k=5)

但每当我计算 k = 1、3 和 5 的正确分类比例时,我总是得到 100% 的正确率。这是正常的还是我哪里出错了

谢谢

【问题讨论】:

    标签: performance-testing knn


    【解决方案1】:

    我们不能说knn分类器总是产生错误的结果。实际上它是基于数据集的。在最好的情况下,训练数据可以等于测试数据,它总是产生 100% 的结果。

    训练数据 == 测试数据 - 在所有情况下都 100% 有效

    【讨论】:

      【解决方案2】:

      仅当模型是过拟合情况时。这意味着模型无法捕捉随机性,因此只能 100% 预测训练数据

      【讨论】:

        【解决方案3】:

        在大多数项目中可能并非如此,因为当您拥有一个包含大量自变量(预测变量)的复杂数据集时,大多数 y_labels(目标)可能会靠得很近。

        您最好尝试实施一些聚类技术或简单的变量配对图,并将颜色设置为目标变量,看看它们是否很好地组合在一起。

        一个例子是:

        # This is an implementation in python
        import matplotlib.pyplot as plt
        import seaborn as sns
        
        sns.pairplot(data = jd, hue = "permanency rate")
        

        根据您使用的语言和库,KNN 分类器通常默认设置 n_neighbours (K) = 5。因此,您可以尝试超过该值以查看它是否返回不同的结果。

        您还应该构建混淆矩阵并查看指标。

        【讨论】:

          猜你喜欢
          • 2014-02-28
          • 2019-11-15
          • 2014-02-19
          • 2011-11-01
          • 2018-10-08
          • 2021-02-02
          • 1970-01-01
          • 2018-06-09
          • 2016-06-16
          相关资源
          最近更新 更多