我在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"
Run Code Online (Sandbox Code Playgroud)
我在weka上的经验有限,所以我不知道我是否缺少对其工作原理的一些基本了解。
数据预处理功能称为过滤器。您需要将过滤器与聚类算法一起使用。请参见以下示例。
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"
Run Code Online (Sandbox Code Playgroud)
在这里,我们删除属性1-5,然后使用xmeans。