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 :
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
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 ?????????") }
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 ?
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
Merci d'avance !
Partager