因此,我当时正在R中进行一个项目,但在将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)