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

Machine learning 为什么ELKI除了距离矩阵之外还需要db.in文件?db.in文件还应该包含什么?,machine-learning,cluster-analysis,elki,Machine Learning,Cluster Analysis,Elki,我试着按照本教程使用ELKI和预先计算的距离进行聚类 我使用了以下一组命令行选项: -dbc.filter FixedDBIDsFilter -dbc.startid 0 -algorithm clustering.OPTICS -algorithm.distancefunction external.FileBasedDoubleDistanceFunction -distance.matrix /path/to/matrix -optics.minpts 5 -resulthandle

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

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

-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指南中有记录:

在没有原始数据的情况下使用 但是,有一个bug(补丁在howto页面上,将在下一个版本中发布),所以您现在不能完全使用它;作为一种解决方法,您可以使用枚举对象的文本文件

原因是ELKI设计用于处理多关系数据。这不仅仅是处理矩阵。但一些算法可能需要对象的地理表示、该对象的一些测量值以及用于评估的标签。这是三种关系

DBIDRange数据源的基本功能是创建一个“伪”关系,即DBIDs 0到99。在不需要实际数据,只需要距离的算法上(例如LOF或DBSCAN或光学),有对象ID和距离矩阵就足够了

-dbc DBIDRangeDatabaseConnection -idgen.count 100