为什么ELKI除了距离矩阵外还需要db.in文件?db.in文件应该包含什么内容?

我尝试按照教程使用预计算距离进行聚类分析。

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文件?我应该覆盖它,还是指定一些虚假信息等。请帮助我理解。

谢谢你。


回答:

这在ELKI的操作指南中有文档记录:

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

在没有主要数据的情况下使用

-dbc DBIDRangeDatabaseConnection -idgen.count 100

然而,目前有一个bug(补丁在操作指南页面上,将在下一个版本中修复),所以你现在不能完全使用这个功能;作为一种解决方法,你可以使用一个枚举对象的文本文件。

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

DBIDRange数据源本质上是创建一个单一的“假”关系,仅包含从0到99的DBIDs。对于那些不需要实际数据,只需要距离的算法(例如LOF或DBSCAN或OPTICS),仅有对象ID和距离矩阵就足够了。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注