在Weka中使用HMM

时间:2013-06-21 21:36:54

标签: machine-learning classification weka hidden-markov-models arff

我正在使用weka.classifiers.bayes.HMM尝试对我的一些数据进行分类,但我似乎找不到任何关于我的ARFF文件应该是什么样子的示例...文档并不是真的对我来说很清楚

所以我理解HMM需要时间序列数据,我的问题是如何在我的数据集中表示?我是否应该在每个特征线前面添加另一个“数字”索引?例如,这里有3个我的特征线(总共有10个,但都遵循这种格式):

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

每行包含多个能量读数,它们全部按顺序列出:第一行第一行,第二行第一行,第三行,第二行读取后第一行等。

如何在Weka中使用HMM训练此套装? (是的,我知道我需要一个单独的测试数据集,也是一个时间序列)

谢谢!

2 个答案:

答案 0 :(得分:3)

来自 HMMweka 主页:

  

HMM分类器仅适用于序列数据,在Weka中表示为关系属性。数据实例必须具有单个Nominal类属性和单个关系序列属性[...]

答案 1 :(得分:2)

我有同样的问题,而且同样是新的,所以任何更正都会受到高度赞赏,但这是我所知道的。

下载中有一个有用的示例,特别是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'

请确保您是否正在编写一个程序来编写您的插入" \ n"而不是一个换行符,似乎想要一个字符串' \ n'而不是真正的换行。