0

我对 OPTICS 算法感到困惑。如果一组点是密度连接的,则可以将它们视为一个簇。如果有一个对象 o 使得 p 和 q 都是从 o wrt epsilon 和 MinPts 密度可达的,则点 p 与点 q 密度连接。

optics_example

在我的情况下(epsilon=5,minPts=2,L1-norm=Manhattan distance)H 是一个核心点,因为它的 epsilon 距离有 2 个以上的点。H 从 G 到 G 是密度可达的,因为它们共享 E。H 和 S 也是如此,因为它们共享 T。毕竟,E、T、S 和 G 在 H 的 epsilon 范围内。在我的意见 E、G、H、S、T 在同一个集群中。

如果我用它运行它sklearn.optics会给我图片的结果,其中 H 是噪声点。

为什么 E、G、H、S 和 T 不在同一个簇中?

from sklearn.cluster import OPTICS
import numpy as np

data = np.array([[3,2], [2,5], [2,7], [1,8], [2,9], [2,8], [3,9], [7,9], [6,2], [7,1], [7,3], [7,2], [8,3], [9,2], [8,2], [8,1], [10,10], [10,11], [11,10], [11,11] ])

clustering = OPTICS(min_samples=2, max_eps=5.0, metric='manhattan').fit(data)
print('labels:', clustering.labels_)

这给了我:

labels: [ 0  1  1  1  1  1  1 -1  0  0  0  0  0  0  0  0  2  2  2  2]
          A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T
4

1 回答 1

1

最终的聚类结果是基于 xi-step 方法(OPTICS 论文中的图 19),而不是基于可达性的定义,这实际上是 DBSCAN 中最终聚类的定义。

在 xi-step 方法中,该算法将可达性图中的山谷或隆起检测为集群。在可达性图中

在此处输入图像描述

H 和 S 之间的可达距离相对较高,这就是为什么 H 被称为异常值。

于 2020-05-22T11:52:26.600 回答