问题标签 [optics-algorithm]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
7 回答
23024 浏览

python - OPTICS(聚类)算法的 Python 实现

我正在寻找Python中OPTICS算法的体面实现。我将使用它来形成基于密度的点簇((x,y)对)。

我正在寻找可以接收 (x,y) 对并输出集群列表的东西,其中列表中的每个集群都包含属于该集群的 (x, y) 对列表。

0 投票
2 回答
1268 浏览

r - R中用于OPTICS实现的优先级队列

我需要在 R 中构建一个优先级队列,我将在其中放置 OPTICS 聚类算法的有序种子对象(或对象的索引)。

  • 一种可能性是用数组表示的堆来实现它,并在每个插入和减少键调用中传递堆数组,并返回更改后的数组并在调用函数中重新分配它。在这种情况下,重新分配操作会使性能变得很差,每次执行一次插入或减少操作时,整个数组都需要复制两次,一次用于调用,另一次用于返回和重新分配。

  • 另一种可能性是在函数内部编写堆操作而不是调用它。这将导致代码重复和繁琐的代码。

  • 有没有像我们一样访问的指针C

  • 我可以在 R 的 S3 或 S4 类中声明用户定义的函数吗?在这种情况下,我认为对这些函数的调用在返回后仍然需要相同的重新分配(不像 C++/Java 类,对对象进行操作(对吗?))

  • 是否有任何内置方法可以O(log(n))在 R 中及时插入和提取队列中的对象?

  • 有没有其他方法可以实现目标,即根据 OPTICS 算法中对象的可达距离保持基于优先级的种子插入和移除,除了在每次插入后显式排序。

0 投票
4 回答
7138 浏览

java - 光学聚类算法。如何获得最好的 epsilon

我正在实施一个需要对地理点进行聚类的项目。OPTICS 算法似乎是一个非常好的解决方案。它只需要两个参数作为输入(MinPts 和 Epsilon),它们分别是将它们视为一个簇所需的最小点数,以及用于比较两个点是否在同一个簇中的距离值。

我的问题是,由于点的种类繁多,我无法设置固定的 epsilon。看看下面的图片。

问题

相同的点结构但不同的规模会导致非常不同的结果。假设设置 MinPts=2 和 epsilon = 1Km。在左侧,该算法将创建 2 个集群(红色和蓝色),但在右侧,它将创建一个包含所有点(红色)的单个集群,但我想在右侧也获得 2 个集群。

所以我的问题是:有没有什么方法可以动态计算 epsilon 值来得到这个结果?

编辑 2012 年 6 月 5 日下午 3 点 15 分: 我以为我使用的是 javaml 库中的 OPTICS 算法实现,但它似乎实际上是一个 DBSCAN 算法实现。所以现在的问题是:有人知道基于 Java 的 OPTICS 算法实现吗?

非常感谢你,原谅我糟糕的英语。

马可

0 投票
2 回答
3282 浏览

cluster-analysis - ELKI implementation of OPTICS clustering algorithm detects only one cluster

I'm having issue with using OPTICS implementation in ELKI environment. I have used the same data for DBSCAN implementation and it worked like a charm. Probably I'm missing something with parameters but I can't figure it out, everything seems to be right.

Data is a simple 300х2 matrix, consists of 3 clusters with 100 points in each.

DBSCAN result:

Clustering result of DBSCAN

MinPts = 10, Eps = 1

OPTICS result:

Clustering result of OPTICS

MinPts = 10

0 投票
1 回答
1253 浏览

cluster-analysis - 在 ELKI 上运行 OPTICS 算法

我通常是 R 用户(刚开始 R 用户,但我开始掌握它的窍门)。然而,我听到了关于 ELKI 的积极消息——尤其是它的速度。我遇到了这篇旧帖子“如何对存储在 SQL 中的附近纬度和经度位置进行分组”,而 Anony-Mousse 发布的答案与我想做的类似。我希望能够将他所做的每一步复制到他在 Google Drive 上共享的 KML 文件中。

我已经下载了 ELKI 并且能够运行 mini-GUI,如下所示:

在此处输入图像描述

有人可以发布一些关于如何做 Anony-Mousse 能够做到的步骤吗?

我的数据本质上非常相似。我在 csv 文件中有地理编码地址(更具体地说,每个元组都是一个事件,变量/特征/列之一是事件的地理编码地址),我希望在上面的链接中找到类似于 OP 的集群.

希望 Anony-Mousse 会阅读这篇文章并进行救援。但是,如果其他人可以帮助我上路,我将不胜感激。

0 投票
1 回答
1671 浏览

cluster-analysis - ELKI OPTICSXi - 如何设置 xi?

我正在尝试使用 ELKI 使用 OPTICS 对地理位置数据集进行聚类。我知道要提取集群,我需要使用 OPTICSXi 算法而不是仅计算集群顺序的 OPTICS。

我想知道你是否可以给我更多关于参数xi如何工作的信息。我将此值固定为 0.009,但以随机方式。

0 投票
1 回答
288 浏览

dbscan - ELKI如何提高精度?

我正在使用 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)。

0 投票
1 回答
2605 浏览

cluster-analysis - 光学可达性图

我似乎无法想象物体的可达距离在 OPTICS 的可达性图中是如何排列的。那么可达性图中的“山谷”是如何形成的呢?它在原始论文中说,可视化与数据集的维度无关。它还说明了水平轴上的集群顺序和垂直轴上的 epsilon。他们如何安排可达距离以形成山谷?对象集及其对应的可达距离?

0 投票
1 回答
427 浏览

java - 无法从 w3c 加载 java 类

我正在尝试使用 ELKI ( http://elki.dbs.ifi.lmu.de/ ) 进行 OPTICS-clustering。

我尝试使用提供的 gui 运行集群,但随后出现此异常:

我将 w3c.jar 解压缩到/usr/share/java程序的路径中。但它仍然给我同样的错误。

我有一个相当旧的 Ubuntu (10.04),带有 OpenJDK 版本 IcedTea6 1.13.3。但我想这不是造成麻烦,对吧?

该怎么办?

0 投票
1 回答
691 浏览

java - ELKI Maven 光学

我正在尝试使用 ELKI ( http://elki.dbs.ifi.lmu.de/#GettingELKI:DownloadandCitationPolicy ) 但找不到 maven 依赖项。有谁知道我在哪里可以找到它?

我想用 OPTICSXi 实现做一些实验,但我发现它非常困难。有人可以给我一些建议吗?链接?有什么可以让我开始的吗?这是一个很好的 OPTICS 实现吗?

我找到了这些链接: 在 ELKI 上运行 OPTICS 算法 如何使用 Weka 的 DBSCAN 对实例进行集群? 但他们并没有真正帮助我..