Bonjour,
J'ai sauvegardé un modèle de clusterer que j'ai entrainé et testé (evaluate) avec une instance séparée en 2. Cependant lorsque je charge ce modèle et que je veux faire une seconde évaluation avec un autre fichier d'instances:
Weka me renvoie l'erreur : Training and testing data are not compatible, ce que je ne comprends pas car lorsque je regarde mes fichiers .arff (training, testing, testing2), les attributes sont bien les mêmes. En effet je fais traitement identique pour les fichiers .csv de départ. Voilà le modèle de traitement :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 String[] options = weka.core.Utils.splitOptions("-l " + modelPath + " -T " + dataSetPath); String resultat = ClusterEvaluation.evaluateClusterer(clusterer, options);
Le convertisseur est le programme que j'ai trouvé sur le wkispace de weka qui permet de passer d'un csv à un arff.
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 DataSource data; File fichier = new File("/home/User/Bureau/fichier.arff"); InputStreamReader reader = new InputStreamReader(System.in); BufferedReader input = new BufferedReader(reader); String location = input.readLine(); path = "/home/User/Bureau" + location; /** Conversion du fichier .csv en .arrf */ if(!DataSource.isArff(path)){ Convertisseur.convertir(path, fichier); path = fichier.getAbsolutePath(); } data = new DataSource(path); loader = data.getLoader(); Instances inst = DataSource.read(loader);
Puis à chacun des fichiers, j'enlève les 5 premiers attributs :
Auriez vous une idée sur l'origine de mon problème ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 int[] ignoredAtt = {0,1,2,3,4}; inst = ClustererPanel.removeIgnoreCols(data, ignoredAtt);
Merci d'avance !
Partager