не может запустить программу Java, которая выполняет команды weka

Я пытаюсь запустить программу Java, которая выполняет команды Weka. Программа, которую я запускаю, находится по адресу http://weka.wikispaces.com/Use+WEKA+in+your+Java+code в разделе «Инкрементные классификаторы»: «Рабочий пример — IncrementalClassifier.java».

Это мой код, и я изменил адрес arff:

import weka.core.Instance;
import weka.core.Instances;
import weka.core.converters.ArffLoader;
import weka.classifiers.bayes.NaiveBayesUpdateable;

import java.io.File;

/**
 * This example trains NaiveBayes incrementally on data obtained
 * from the ArffLoader.
 *
 * @author FracPete (fracpete at waikato dot ac dot nz)
 */
public class IncrementalClassifier {

  /**
   * Expects an ARFF file as first argument (class attribute is assumed
   * to be the last attribute).
   *
   * @param args        the commandline arguments
   * @throws Exception  if something goes wrong
   */
  public static void main(String[] args) throws Exception {
    // load data
    ArffLoader loader = new ArffLoader();
    loader.setFile(new File("C:\\Program Files\\Weka-3-6\\10random+5.arff"));
    Instances structure = loader.getStructure();
    structure.setClassIndex(structure.numAttributes() - 1);

    // train NaiveBayes
    NaiveBayesUpdateable nb = new NaiveBayesUpdateable();
    nb.buildClassifier(structure);
    Instance current;
    while ((current = loader.getNextInstance(structure)) != null)
      nb.updateClassifier(current);

    // output generated model
    System.out.println(nb);
  }
}

Ошибка, которую я получаю:

java.io.FileNotFoundException: \iris.2.arff (The system cannot find the file specified)
    at java.io.FileInputStream.open(Native Method)
    at java.io.FileInputStream.<init>(Unknown Source)
    at java.io.FileInputStream.<init>(Unknown Source)
    at java.io.FileReader.<init>(Unknown Source)
    at weka.classifiers.bayes.net.ADNode.main(ADNode.java:270)

Как поступить?

Спасибо


person user511440    schedule 17.11.2010    source источник


Ответы (2)


Этот файл (iris.2.arff), по-видимому, жестко запрограммирован в исходный код, как показано здесь. Я предполагаю, что этот файл поставляется с дистрибутивом, но находится не в том месте. Или, возможно, вы вызываете неправильный метод.

person Jim Garrison    schedule 17.11.2010
comment
Спасибо за ответ. Я не знаю, как реагировать на ваш отзыв. - person user511440; 18.11.2010
comment
Во-первых, обновите свой пост, чтобы включить всю трассировку стека, а также укажите, в какой строке ВАШЕГО исходного кода возникает исключение. - person Jim Garrison; 18.11.2010
comment
Я получаю следующие ошибки: 1. В проекте «CN170» отсутствует необходимая библиотека: «C:\Program Files\Weka-3-4\weka.jar» (ресурс: CN170, расположение: путь сборки), 2. Проект не может быть построен, пока не будут устранены ошибки пути сборки (Ресурс: CN170, Местоположение: неизвестно), 3. Тип необработанного исключения IOException (Источник: simpleprog.java, местоположение: line18). - person user511440; 20.11.2010
comment
Это сильно отличается от исходной ошибки и указывает на то, что weka.jar отсутствует в вашем пути к классам. - person Jim Garrison; 22.11.2010

это потому, что вы используете неправильный класс в конфигурации вашего Java-приложения, вам нужно сделать следующее:

щелкните правой кнопкой мыши проект: «Запуск от имени»: «Запустить конфигурацию»: в поле «Основной класс» выберите свой класс «IncrementalClassifier».

на этом все, удачи!

person Mário Falcão    schedule 05.05.2014