WEKA - 以arff格式的向量属性

时间:2012-06-21 11:47:50

标签: machine-learning signal-processing weka arff

我是Weka的新手,我正在尝试构建一个分类器来对EEG数据进行分类。 EEG属性数据是记录的原始信号的5分钟以及其他属性。如何在WEKA arff文件格式中指定我的实例具有5分钟原始信号的矢量输入?

例如:

Num. -- raw -- class
1    -- [1,2,3,4,5,6] -- Relaxed
2    -- [2,3,4,5,6] --- Bored

其中raw是属性向量..

1 个答案:

答案 0 :(得分:4)

想想你的问题 - 你想要分类/预测什么,以及如何最好地代表它。您可能不希望预测下一个原始EEG读数,因此时间序列方法可能并不重要。

Weka只能处理具有固定属性集(实例,值,或者换句话说,预定义长度的向量)的实例(数据行)。一个可以具有的属性类型是nominal(例如“红色”,“绿色”,“蓝色”),numeric(任何整数/浮点值),string(主要是用于文本挖掘)。和date。无法将raw signal的向量表示为单个属性。以下是文档:http://weka.wikispaces.com/ARFF+%28stable+version%29

那就是说,你的实例可能是这样的:

num,class1,reading_1,reading_2,reading_3 ... reading_n,relaxed,bored

其中reading_1是第一个原始读数,reading_n是5分钟结束时的最后一个。这将要求WEKA根据原始读数预测你的课程,并且可能不会非常有效(因为读数可能不会相互排列,因为这会分别对待每个阅读,而不关心频率之类的事情或平均值是相对的。)

或者,您可以对原始数据进行一些预处理,以便它对WEKA中的大多数机器学习算法有用。在这种情况下,您需要确定重要功能,然后创建它们。一个粗略的例子可能是:

num,class1,average,frequency,max_magnitude,standard_deviation,relaxed,bored

在将数据放入ARFF文件之前计算数据的平均值和频率的位置。然后,算法具有更多信息的数据集图片,作为其预测的基础。

然而,另一个问题是你代表什么?整个5分钟的样本是同一个类,还是部分用户relaxed和部分bored?如果是这种情况,您可能应该有两个样本:一个用于用户无聊,另一个用于放松时。