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

发布于 2025-01-01 05:29:47 字数 674 浏览 0 评论 0原文

我正在 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 的经验有限,所以我不知道我是否缺少对其工作原理的一些基本理解。

I am running a series of clustering analyses in weka and I have realized that automatizing it is the way to go if I want to get somewhere. I'll explain a bit how I am working.

  • I do all the pre-processing manually in R and save it as a csv file, importing it in weka and saving it again as an arff file.

  • I use weka's GUI, and in general I just open my data with in the arff file and go directly to the clustering tab and play around. (My experience using the CLI is limited).

I am trying to reproduce some results I've got by using the GUI, but now with commands in the CLI. The problem is that I usually ignore a list of attributes when clustering using the GUI. I cannot find a way of selecting a list of attributes to be ignored in the command line.

For example:

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"

My experience with weka is limited so I don't know if I am missing some basic understanding of how it works.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

∝单色的世界 2025-01-08 05:29:47

数据预处理功能称为过滤器。
您需要将过滤器与聚类算法一起使用。
请参见下面的示例。

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。

Data Preprocessing functions are called filters.
You need to use filters together with cluster algorithm.
See below example.

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"

Here we remove attributes 1-5 then use xmeans.

沉睡月亮 2025-01-08 05:29:47

要忽略属性,您必须通过距离函数来执行此操作

从命令行忽略属性 (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 忽略属性
忽略 GUI 中的属性

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

To ignore an attribute you have to do it from the distance function

Ignore attributes from command line (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.

Ignore attributes from GUI
Ignore attributes from GUI

I do not understand why when someone asks how to ignore attributes all the answers say how to modify the dataset, using a filter in the preprocess section.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文