Атрибут класса в файле ARFF

1

как можно добавить атрибут класса в файл WEKA ARFF с помощью Java?

В частности, моя структура ARFF (в соответствии с тем, что указано здесь) должна быть:

@attribute text string
@attribute classifyIn {basketball,nonbasketball}

Мой вопрос: как программно объявить classifyIn?

Моя процедура:

Я объявлял атрибуты ARFF следующим образом:

FastVector attributes = new FastVector(2);

attributes.addElement(new Attribute("text", (FastVector) null));    

FastVector classes = new FastVector();
classes.addElement(className);
classes.addElement("non" + className);
attributes.addElement(new Attribute("class",classes));

и я вставляю записи следующим образом:

double[] newInst = new double[2];
newInst[0] = (double)data.attribute(0).addStringValue(textValue);
newInst[1] = (double)data.attribute(1).addStringValue(className);

где className - это либо basketball строка, либо строка nonbasketball.

Ошибка:

Однако, когда я запускаю код, появляется следующая ошибка:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: -1

Вот связанный с этим вопрос, который не получил ответа.

Теги:
attributes
classification
weka

1 ответ

1
Лучший ответ

Код должен быть изменен следующим образом:

newInst[1] = (double)data.attribute(1).indexOfValue(className);

Ещё вопросы

Сообщество Overcoder
Наверх
Меню