Использование HMM в Weka

Я использую weka.classifiers.bayes.HMM, чтобы попытаться классифицировать некоторые из моих данных, но я не могу найти каких-либо примеров того, как именно должен выглядеть мой файл ARFF... документация мне не очень понятна. .

Итак, я понимаю, что для HMM требуются данные временных рядов, мой вопрос заключается в том, как представить это в моем наборе данных? Должен ли я добавить еще один «Числовой» индекс перед каждой строкой признаков? Например, вот 3 моих характерных строки (всего их десятки тысяч, но все они имеют такой формат):

2,2.217950,2.235440,0.031252,2.224833,2.301141,0.093227,1.940765,1.973835,0.064434,1 2,2.216870,2.235608,0.035570,2.217950,2.235440,0.031252,2.023161,2.531513,0.623939,1 2,2.216577,2.246109,0.045806,2.216870,2.235608,0.035570,2.497010,2.529199,0.050049,1

Каждая строка содержит несколько показаний энергии, и все они перечислены в последовательном порядке: 1-я строка идет первой, 2-я строка идет через 1 секунду, 3-я строка, через 1 секунду после показания второй строки и т. д.

Как мне использовать HMM в Weka для тренировки на этом наборе? (Да, я знаю, что мне понадобится отдельный тестовый набор данных, который также является временным рядом)

Спасибо!!


person stellarowl12    schedule 21.06.2013    source источник
comment
Забыл сказать, что мне нужно 5 состояний: 1, 2, 3, 4, 5. И они должны переходить из одного в другое с определенными вероятностями. Например, если текущий временной интервал находится в состоянии 3, он с большей вероятностью перейдет в состояния 2 и 4, чем в 1 и 5. Состояния находятся в самой последней строке (в качестве примера отредактировано ниже): 2,2.217950,2.235440 , 0.031252,2.224833,2.301141,0.093227,1.940765,1.973835,0.064434,1 2,2.216870,2.235608,0.035570,2.217950,2.235440,0.031252,2.023161,2.531513,0.623939,2 2,2.216577,2.246109,0.045806,2.216870,2.235608,0.035570 ,2,497010,2,529199,0,050049,3   -  person stellarowl12    schedule 22.06.2013


Ответы (2)


С главной страницы HMMweka:

Классификатор HMM работает только с данными последовательности, которые в Weka представлены как реляционный атрибут. Экземпляры данных должны иметь один номинальный атрибут класса и один реляционный атрибут последовательности [...]

person ivcandela    schedule 01.06.2015

У меня была та же проблема, и я тоже новичок, поэтому любые исправления будут высоко оценены, но вот что я понял.

В загрузке есть полезный пример, в частности numericsequence.arff. Формат, который вы хотите, работает следующим образом:

@relation relation_name
@attribute name_of_instance_attribute {instance_0,instance_1,...instance_n}
@attribute class {relation_type_0, relation_type_1, ... relation_type_n}
@attribute name_of_sequence relational 
  @attribute sequence_variable_0 type 
  @attribute sequence_variable_1 type
@end sequence_variable_1 type
@data

instance_0,relation_type_n,'5,6\n7,8\n9,10'
instance_1,relation_type_n,'2,3\n4,5\n6,7'

убедитесь, что если вы пишете программу для написания своего arff, которую вы вставляете «\ n» вместо разрыва строки, кажется, что нужна строка буквального «\ n», а не настоящий разрыв строки.

person Empiricist    schedule 07.11.2015
comment
Где я могу скачать numericsequence.arff? Спасибо, - person Foreverniu; 17.12.2015
comment
Это в HMM Weka скачать - person Empiricist; 18.12.2015