Итак, я работал над проектом на R и столкнулся с проблемой подгонки модели KNN к некоторым данным.Я получал разные результаты, когда запускал knn из класса и kNN из библиотек DMwR.Я связал, используя Еженедельные данные из пакета психологии, но я получил аналогичные результаты.Матрицы путаницы для подгонок дают значительно отличающиеся результаты, как и прямое сравнение между предсказаниями.
Я не уверен, почему эти две функции возвращают разные результаты.Может быть, кто-то может просмотреть мой пример кода и сообщить мне, что происходит.
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)