为什么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

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

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