0

我尝试按照本教程使用 ELKI 和预先计算的距离进行聚类。

http://elki.dbs.ifi.lmu.de/wiki/HowTo/PrecomputedDistances

我使用了以下一组命令行选项:

-dbc.filter FixedDBIDsFilter -dbc.startid 0 -algorithm clustering.OPTICS 
-algorithm.distancefunction external.FileBasedDoubleDistanceFunction 
-distance.matrix /path/to/matrix -optics.minpts 5 -resulthandler ResultWriter

ELkI 失败并出现配置错误,提示需要 db.in 文件来进行计算。

The following configuration errors prevented execution:
No value given for parameter "dbc.in":
Expected: The name of the input file to be parsed.    
No value given for parameter "parser.distancefunction":
Expected: Distance function used for parsing values.

我的问题是什么是 db.in 文件?为什么除了距离矩阵文件之外还要提供它,因为成对距离矩阵文件完全指定了有关点云的所有信息。(除了成对距离信息,我也无权访问任何其他信息)。

我应该如何处理 db.in?我应该覆盖它,还是指定一些虚拟信息等。请帮助我理解。

谢谢你。

4

1 回答 1

2

这记录在 ELKI HowTos 中:

http://elki.dbs.ifi.lmu.de/wiki/HowTo/PrecomputedDistances

在没有原始数据的情况下使用

-dbc DBIDRangeDatabaseConnection -idgen.count 100

但是,有一个错误(补丁在 howto 页面上,将在下一个版本中)所以你现在不能完全使用它;作为一种解决方法,您可以使用枚举对象的文本文件。

这样做的原因是 ELKI 旨在处理多关系数据。它不仅仅是处理矩阵。但是某些算法可能需要例如对象的地理表示、该对象的一些测量值以及用于评估的标签。也就是三个关系。

DBIDRange 数据源本质上所做的是创建一个单一的“假”关系,即 DBID 0 到 99。在不需要实际数据而只需要距离的算法(例如 LOF 或 DBSCAN 或 OPTICS)上,足以具有对象 ID 和距离矩阵。

于 2013-09-11T07:41:54.413 回答