machine-learning - WEKA - arff 格式的向量属性

标签 machine-learning signal-processing weka arff

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

例如:

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

其中 raw 是属性向量..

最佳答案

思考您的问题 - 您想要分类/预测什么,以及如何最好地表示它。您很可能不想预测下一个原始脑电图读数,因此时间序列方法可能并不重要。

Weka 只能处理具有一组固定属性(特征、值,或者换句话说,预定义长度的向量)的实例(数据行)。可以拥有的可能属性类型有:标称(例如“红色”、“绿色”、蓝色)、数字(任何整数/浮点值)、string(主要用于文本挖掘)。和日期。无法将原始信号向量表示为单个属性。这是文档: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 根据原始读数来预测您的类(class),并且可能不会非常有效(因为读数可能彼此不一致,并且因为这会单独处理每个读数,而不关心频率等内容)或相对平均值)。

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

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

在将数据放入 ARFF 文件之前,您已经计算了数据的平均值和频率等内容。然后,算法就会获得更丰富的数据集图像,并以此作为预测的基础。

然而,还有一个问题是你代表什么?整个 5 分钟的示例是同一类,还是用户对其中的一部分感到放松,而对其中的一部分感到无聊?如果是这种情况,您可能应该有两个示例:一个用于用户无聊时的示例,另一个用于用户放松时的示例。

关于machine-learning - WEKA - arff 格式的向量属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11137479/

相关文章:

python - 裁剪检测到的区域 python

java - Java 中的声学回声消除

c - 并行应用音频过滤器并合并结果缓冲区

python - 如何使用python计算周期数

java - Weka:ADTree 和 LADTree 非法选项错误

java - 为每个属性分配的属性选择

java - 更改将 double 写入 CSV 的 Java 代码以将 double[] 写入 CSV(用例 = WEKA 库)

python - 决策边界逻辑回归不正确

python - 如何以正常的非并行方式运行Pytorch模型?

machine-learning - 有人会如何创建一种机器学习算法来从书籍/小说中提取说话者?