Перекрестная проверка для набора данных Pendigit с использованием KNN - PullRequest
0 голосов
/ 24 сентября 2019

Я использую модель KNN для классификации набора данных pendigits, набора данных координат, которые указывают нарисованное число.Я довольно уверен, что правильно построил модель, но застрял на перекрестной проверке.

Посмотрел много примеров, но обнаружил, что они похожи на то, что у меня есть, или классифицируют целые числа вместо целых чисел.

    set.seed(2)

    labels = pendigits.train$Number_Drawn
    initial_model <- knn(
      train=pendigits.train, test=pendigits.test, cl=labels, k=10
    )
    table(pendigits.test$Number_Drawn, initial_model)

    knnFit_model <- train(
     pendigits.train, labels,
     method = "knn",
     preProcess = c("center", "scale"),
     tuneLength = 10,
     trControl = trainControl(method = "cv")
    )

    cross_validation_prediction <- predict(
      knnFit_model, 
      newdata = pendigits.test
    )
    table(cross_validation_prediction)

0 1 1,2 1,4 1,5 1,6 1,8 2 2,2 2,4 2,6 33.4 3.8 4 4.2 4.6 4.8 5 5.2 5.4 5.8 6 6.4 7 7.2 7.4 7.8 8 9 354 329 17 14 1 3 8 360 1 3 1 335 2 1 353 2 7 2 331 1 1 2 336 2 351 8 6 3 332 332

Я ожидаю, что таблица (cross_validation_prediction) выдаст мне что-то вроде вывода с таблицей (pendigits.test $ Number_Drawn, initial_model)

          0   1   2   3   4   5   6   7   8   9
      0 351   0   0   0   0   0   9   0   2   1
      1   0 344  19   0   1   0   0   0   0   0
      2   0   1 363   0   0   0   0   0   0   0
      3   0   1   0 334   0   0   0   0   0   1
      4   0   0   0   0 353  10   1   0   0   0
      5   0   0   0   7   0 327   0   0   0   1
      6   0   0   0   0   0   0 336   0   0   0
      7   0  14   1   0   0   0   0 349   0   0
      8   1   0   0   0   0   1   0   0 334   0
      9   0   2   0   8   0   0   0   4   1 321

, но я получу вывод

0   1 1.2 1.4 1.5 1.6 1.8   2 2.2 2.4 2.6   3 3.4 3.8   4 4.2 4.6 4.8   
5 5.2 5.4 5.8   6 6.4   7 7.2 7.4 7.8   8   9 
354 329  17  14   1   3   8 360   1   3   1 335   2   1 353   2   7   2 
331   1   1   2 336   2 351   8   6   3 332 332 

Я не очень понимаю, почему я получаю разные результаты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...