如何使用 ELKI 进行索引 - OPTICS 聚类

How to index with ELKI - OPTICS clustering

我是 ELKI 初学者,我一直在使用它从 .csv 文件中聚集大约 10K 个经纬度点。一旦我的设置正确,我想扩大到 1MM 点。

我正在使用 OPTICSXi 算法和 LngLatDistanceFunction

我一直在阅读有关 "enabling R*-tree index with STR bulk loading" 的文章,以便看到性能的巨大改进。这些教程对我帮助不大。

关于如何实现此功能的任何提示?

在二维数据上使用空间 R* 索引的建议参数是:

-db.index tree.spatial.rstarvariants.rstar.RStarTreeFactory
-pagefile.pagesize 512
-spatial.bulkstrategy SortTileRecursiveBulkSplit

对于更高维度的数据,需要更大的页面大小。 512-1024 字节的页面大小似乎是二维数据的最佳选择,但它也取决于您的数据。

要离散化聚类,您可以使用 Xi 提取:

-algorithm clustering.optics.OPTICSXi -opticsxi.xi 0.005

要从 OPTICS 的索引加速中获益,请为您的应用程序选择尽可能小的 epsilon。参数以与ELKI中的所有地球模型。

-opticsxi.algorithm OPTICSHeap
-algorithm.distancefunction geo.LatLngDistanceFunction
-optics.epsilon 2000.0 -optics.minpts 10

最多使用 2 公里距离。

一定要区分latitude,longitudelongitude,latitude。两种顺序都用到,你需要使用正确的距离函数:

geo.LatLngDistanceFunction
geo.LngLatDistanceFunction