Java 在arff文件中找不到类标签

Java 在arff文件中找不到类标签,java,weka,bayesian,Java,Weka,Bayesian,例如,我在weka网站上使用了示例代码,但我仍然不断遇到一个错误,即找不到类标签 weka.core.WekaException: weka.classifiers.bayes.NaiveBayesMultinomialUpdateable: Not enough training instances with class labels (required: 1, provided: 0)! 我用weka explorer尝试了这个文件,效果很好 ArffLoader loader = n

例如,我在weka网站上使用了示例代码,但我仍然不断遇到一个错误,即找不到类标签

weka.core.WekaException: weka.classifiers.bayes.NaiveBayesMultinomialUpdateable: Not enough training instances with class labels (required: 1, provided: 0)!
我用weka explorer尝试了这个文件,效果很好

  ArffLoader loader = new ArffLoader();
    loader.setFile(new File(""));//file is valid
    Instances structure = loader.getStructure();
    structure.setClassIndex(structure.numAttributes() - 1);

    // train NaiveBayes
    NaiveBayesMultinomialUpdateable n = new NaiveBayesMultinomialUpdateable();
    FilteredClassifier f = new FilteredClassifier();
    StringToWordVector s = new StringToWordVector();

    f.setFilter(s);
    f.setClassifier(n);

    f.buildClassifier(structure);
    Instance current;
    while ((current = loader.getNextInstance(structure)) != null)
      n.updateClassifier(current);

    // output generated model
    System.out.println(n);

问题在于类索引位于位置0的位置

ArffLoader loader = new ArffLoader();
    loader.setFile(new File(""));//file is valid
    Instances structure = loader.getStructure();
    structure.setClassIndex(0);

    // train NaiveBayes
    NaiveBayesMultinomialUpdateable n = new NaiveBayesMultinomialUpdateable();
    FilteredClassifier f = new FilteredClassifier();
    StringToWordVector s = new StringToWordVector();

    f.setFilter(s);
    f.setClassifier(n);

    f.buildClassifier(structure);
    Instance current;
    while ((current = loader.getNextInstance(structure)) != null)
      n.updateClassifier(current);

    // output generated model
    System.out.println(n);