【发布时间】:2014-03-21 04:30:36
【问题描述】:
我正在使用 ELKI mini GUI 对我的数据点进行聚类。我有大约 1300 个 GPS 数据点,我想对我的 GPS 点(DBSCAN 和 OPTICS)进行聚类。作为 dbc.in 的输入文件,我使用只有 2 列(X,Y)的 csv 文件。问题是,我的 X,Y(投影)坐标非常精确,精确到小数点后 6 位。但是在运行集群算法之后,我的精度越来越低(最多小数点后 3 位)。如何提高输出点的精度?
而且在生成集群时,它会自动调用一些与我的实际点 ID(ID、X、Y)不对应的虚拟 ID。但是,输入 csv 中没有给出 ID。它仅包含两列 (X,Y)。
【问题讨论】:
-
你能分享一个示例输入和输出行吗? ELKI 分配内部 ID,但如果您不需要它们,您可以直接丢弃它们。
-
这里是我的问题的详细解释。输入文件格式 (X) (Y) ______________________ 3456.124357 5673.4567 3456.109453 5673.4451 .................................... ........ 输出文件(内部 ID 和 X,Y 被截断) ________________ 651 3456.1244 5673.46 652 3456.1095 5673.45 问题是因为值被截断并且输出文件不包含实际 ID点(比如从 0 开始),所以我无法识别哪些点是聚类的,哪些点属于哪个聚类。
-
您可以编辑问题以使其更具可读性吗?除非绝对必要,否则避免审查数据。使用 MiniGUI 时,使用
FixedDBIDsFilter获取与输入文件行号对应的DBIDs。您是否考虑过为您的用例编写自定义输出模块? -
谢谢 Anony-Mouse。使用 FixedDBIDsFilter 解决了 ID 问题。你能告诉我如何增加输出聚集/噪声点的小数点(精度)吗?我希望它与输入的完全相似。
-
浮点是有损的,这些数字的精确格式因语言而异。 AFAICT,ELKI 只使用 Java 格式。没有选项可以说“使用与输入完全相同的数字写入”。这需要将原始数据存储为字符串。
标签: dbscan elki optics-algorithm