2012-01-31 56 views
2

我正在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" 

我与秧鸡的经验是有限的,所以我不知道如果我的思念它是如何工作的一些基本的了解。

回答

3

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

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。

+0

你会推荐另一种不使用命令行自动化的方法吗?只是好奇... – pedrosaurio 2012-02-07 12:39:17

+0

Java代码应该能够自动执行此操作。你也可以用GUI做同样的事情,但它不是自动化的。 – 2012-02-08 06:47:03

+0

您在上面提供的线路无法正常工作。我现在编辑了他们,但我需要您的批准 – pedrosaurio 2012-02-08 10:41:59

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

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