如何在weka中进行聚类时使用命令行忽略属性列表?

时间:2012-01-31 14:53:52

标签: weka

我正在weka中运行一系列聚类分析,我已经意识到,如果我想要到达某个地方,那么自动化它是一种方法。我会解释一下我的工作方式。

  • 我在R中手动执行所有预处理并将其保存为 csv 文件,在weka中导入并再次将其另存为 arff 文件

  • 我使用weka的GUI,一般情况下,我只需在 arff 文件中打开我的数据,然后直接进入群集标签即可玩。 (我使用 CLI 的经验有限)。

我正在尝试使用GUI重现一些我已经获得的结果,但现在使用 CLI 中的命令。问题是我在使用GUI进行集群时通常会忽略属性列表。我找不到在命令行中选择要忽略的属性列表的方法。

例如:

java weka.clusterers.XMeans \
-I 10 -M 1000 -J 1000 \
-L 2 -H 9 -B 1.0 -C 0.25 \
-D "weka.core.MinkowskiDistance -R first-last" -S 10 \
-t "/home/pedrosaurio/bigtable.arff"

我对weka的体验有限,所以我不知道我是否遗漏了对它如何运作的基本了解。

2 个答案:

答案 0 :(得分:5)

数据预处理功能称为过滤器。 您需要将过滤器与群集算法一起使用。 见下面的例子。

java weka.clusterers.FilteredClusterer \ 
-F weka.filters.unsupervised.attribute.Remove -V -R 1,5  \
-W weka.clusterers.XMeans  -I 10 -M 1000   -J 1000  -L 2 -H 9 -B 1.0 -C 0.25 \ 
-D "weka.core.MinkowskiDistance -R first-last" -S 10 \ 
-t "/home/pedrosaurio/bigtable.arff"

这里我们删除属性1-5然后使用xmeans。

答案 1 :(得分:0)

要忽略属性,您必须从距离函数

执行此操作

忽略命令行(Matlab)中的属性:

COLUMNS = '3-last'; % The indices start from 1, 'first' and 'last' are valid as well. E.g .: first-3,5,6-last
Df = weka.core.EuclideanDistance (); % Setup distance function.
Df.setAttributeIndices (COLUMNS); % Setup distance function.

忽略GUI中的属性 Ignore attributes from GUI

我不明白为什么当有人询问如何忽略属性所有答案都说如何修改数据集,使用预处理部分中的过滤器。