0
J'ai un modèle obtenu à partir classificateur weka
et je veux tester dans le code java, mais quand je lis des cas, une erreur apparaît:Comment puis-je charger un fichier .csv en code java pour tester avec weka?
Exception in thread "main" java.io.IOException: keyword @relation expected, read Token[Word], line 1
at weka.core.Instances.errms(Instances.java:1863)
at weka.core.Instances.readHeader(Instances.java:1740)
at weka.core.Instances.<init>(Instances.java:119)
at licenta1.LoadModelWeka.main(LoadModelWeka.java:18)
Mon code est:
package licenta1;
import weka.core.Instances;
import weka.classifiers.bayes.NaiveBayes;
import weka.classifiers.trees.J48;
import weka.classifiers.Evaluation;
import java.util.Random;
import java.io.BufferedReader;
import java.io.FileReader ;
public class LoadModelWeka
{
public static void main(String[] args) throws Exception {
// training
BufferedReader reader = null;
reader=new BufferedReader(new FileReader("D:\\aaaaaaaaaaaaaaaaaaaaaa\\Licenta\\BioArtLicTrainSetTask1.csv"));
Instances train =new Instances (reader);
train.setClassIndex(0);
reader.close();
NaiveBayes nb = new NaiveBayes();
nb.buildClassifier(train);
Evaluation eval = new Evaluation(train);
eval.crossValidateModel(nb, train, 10 , new Random(1));
System.out.println(eval.toSummaryString("\n Results \n=====\n",true));
System.out.println(eval.fMeasure(1)+" "+eval.precision(1)+" "+eval.recall(1)+" ");
}
}
Quelqu'un peut-il Aidez moi? ensemble de formation Mt est en .csv
le format
Je pense que l'erreur est parce que vous avez fermé la 'BufferedReader' trop tôt, le 'lecteur' peut être référencé dans le' train', quand le 'NaiveBayes' utilise' train' pour lire les données, alors le 'reader' est déjà fermé. Essayons de déplacer le 'lecteur.close()' à la fin de la fonction –