2016-07-25 4 views
0

Мне нужно перебрать все классы (String) набора данных, а также значение класса для каждого экземпляра.Получить значение атрибута класса String

Хотя Attribute.enumerateValues() дает, - как хотел - коллекцию из «сырого» -значения, я не могу получить забортное значение класса одного экземпляра в Instance.classValue()

Возвращает: соответствующего значения как двойной (если соответствующий атрибут является номинальным (или строкой), то он возвращает индекс значения как двойной).

Как получить значение String для атрибута класса определенного экземпляра?

EDIT Решение может состоять в том, чтобы создать таблицу поиска, чтобы у вас была «класс-значение-строка» < -> соответствующий индекс ». Но я не знаю, в каком порядке генерируются индексы. Я не знаю порядка, в котором weka генерирует индекс. Так что это может привести к ошибке. Связанный вопрос может быть как WEKA обрабатывает String-Attributes. Поскольку многие классификаторы не могут hanndle строк, в какой-то момент строки, кажется, быть преобразованы в отдельные двойников .. Но они не являются номинальными класса ..

ответ

0

Это было легко (позор мне) ..

Instance.stringValue(Attribute) 

дает необходимое значение ..

Тем не менее запутанным, и я не ожидал, что, как Value возвращаемый Instances.classValue() является double ..

+0

Ну это было легко. Рад, что ты это нашел. 'Instance.classValue()' возвращает String мне, хотя. – xro7

Смежные вопросы