3

我已经开始使用 ELKI 进行数据分析,但我似乎无法做的一件看似简单的事情是在运行 DBSCAN 后将计算出的集群凸包输出到文件中。我可以通过可视化 gui 可视化凸包,但无法生成 KML 文件。我还可以将我的聚类结果写入一个文件夹(使用 ResultWriter resulthandler),但是当我设置 KMLOutputHandler 时没有生成文件。我在日志窗口中没有收到错误消息(即使详细参数设置为 true)。

在 ELKI 中生成 KML 文件有技巧吗?任何人都可以完成这样做的步骤吗?

任何帮助,将不胜感激。

(顺便说一句,是否可以使用 ELKI 为 DBSCAN 结果生成 alpha 形状?如果可以,必须调整哪个参数?)

4

1 回答 1

3

所以这实际上是一个很多问题......

  1. Cunvex hulls:它们在 ELKI 中用于可视化,但不被视为输出结果的一部分,因此它们不会保存到文件中。您可以使用的一个技巧是将可视化另存为 SVG 并从该文件中提取它们,但它们随后将位于不同的坐标系中。

    造成这种情况的原因之一是凸包仅用于 2D 欧几里得空间 - 我想你想将它用于空间数据,实际上可能由于地球的曲率而没有返回正确的凸包表面。此外,许多数据集将具有更高的维度。

    但是,您当然可以查看源代码并调用凸包算法,然后将结果写入您喜欢的输出格式。通常,正如您需要花时间进行预处理一样,您还需要自定义输出。

  2. 这让我想到了第二个问题。这KMLResultHandler与 ELKI 0.4.0:Spatial Outlier Detection: Data, Algorithms, Visualizations 的出版密切相关。这几乎总结了这个类的作用:可视化空间异常值检测。例如,它目前(尚未)包含可视化空间数据集群的代码。不幸的是,为了从课程中获得输出,您需要确保一些限制。本质上,如果它找到一个Polygon关系和一个OutlierResult可以相互映射的关系,它将把它输出到 KML。现在还没有可以将任意结果写入 KML 的类。它可能还需要更多的文档。更通用的输出工具的贡献将不胜感激;但是要向 KML 提供可定制的、自动的、通用的输出确实很难。特别是,如果有人不是在处理纬度-经度数据,而是例如 UTM 投影数据,那么您最终可能还必须包含投影功能。因此,我建议查看该类的源代码并根据您的需要对其进行自定义。在我看来,KML 的可视化总是需要大量的定制。

  3. 要生成 alpha 形状(仅船体,而不是扩展的 alpha 形状 - DBSCAN 的最佳可视化可能仅包含核心点的 alpha 形状,扩展 epsilon 半径,然后应包括边界点。这是在愿望清单上,但未实现),您只需将-hull.alpha参数设置为所需的 alpha 值。请注意,这发生在可视化投影中,而不是原始数据中。如果轴的缩放比例不同,alpha 形状的外观会有所不同。同样,您可能有兴趣在AlphaShape原始数据向量上使用该类,而不是导出投影的可视化。然后您可以轻松地将生成Polygon的 s 写入您的自定义可视化。

如果您使用集群的 alpha 形状(或凸包)实现这样的 KML 可视化,如果您能将其贡献给 ELKI 以使其也可供其他人使用,我将不胜感激。谢谢你。

于 2013-05-14T15:07:38.690 回答