Je souhaite faire une validation croisée avec knnVCN et la base de donnnées iris: je retire une ligne de ma base de données et je tente de la prédire à l'aide de knnVCN. Cependant cela me donne des NA une ligne sur deux et je ne comprends pas pourquoi. Voici mon code de validation croisée :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
install.packages("knnGarden")
install.packages("cluster")
#install.packages("e1071")
 
library(cluster)
library(knnGarden)
good<-0
for(i in 1:150){
  test <- iris[i,]
  train <- iris[-i,]
  result <- knnVCN(train[,-5], train[,5], test, K = 3, ShowObs=T,"maximum")
 
  print(result[i,5])
  print(result[i,6])
  if((result[i,5])==(result[i,6])){
    good<-good+1
  }
  print("siguiente ?????????")
 
}
Et la sortie est la suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
[1] setosa
Levels: setosa
[1] setosa
Levels: setosa
[1] "siguiente ?????????"
[1] <NA>
Levels: setosa
[1] <NA>
Levels: setosa
Les première lignes jusqu'a "siguiente" sont bien : le modèle prédise les bonnes classes. Cependant cela me donne des NA à partir de la seconde itération. Pouvez vous m'aider à obtenir les classes plutôt que les NA ?

Merci d'avance !