代码之家  ›  专栏  ›  技术社区  ›  arcticnerd

类和DMwR包knn函数之间的区别?

r
  •  0
  • arcticnerd  · 技术社区  · 7 年前

    所以我在R的一个项目中工作,遇到了一个问题,就是如何将KNN模型与一些数据进行拟合。当我运行类的knn和DMwR库的knn时,得到了不同的结果。我使用心理学软件包的每周数据得出了相同的结果。拟合的混淆矩阵给出了显著不同的结果,预测结果之间的比较也是如此。

    我不知道为什么这两个函数返回不同的结果。也许有人可以查看我的示例代码,让我知道发生了什么。

    library(ISLR)
    WTrain <- subset(Weekly, Year <= 2008)
    WTest <- subset(Weekly, Year >= 2009)
    
    library(caret)
    library(class)
    fitClass <- knn(train = data.matrix(WTrain$Lag2), test = data.matrix(WTest$Lag2), cl=WTrain$Direction, k=5)
    confusionMatrix(data = fitClass, reference = WTest$Direction)
    
    library(DMwR)
    fitDMwR <- kNN(Direction~Lag2,train = WTrain, test = WTest, norm=FALSE, k=5)
    confusionMatrix(table(fitDMwR == 'Down', WTest$Direction =='Down'))
    
    results <- cbind(fitClass,fitDMwR)
    head(results)
    
    0 回复  |  直到 7 年前