如何对多元角度数据进行聚类?距离测量和算法

caf*_*fe_ 5 python cluster-analysis distance scikit-learn

我想对一组多维向量(n > 10)进行聚类,其中每个属性都是一个角度。我可以使用哪些距离度量和算法?

我想到了:
- 曼哈顿距离
- 取属性对之间的最大/最小距离(http://www.ncbi.nlm.nih.gov/pubmed/9390236
- 求和所有属性对之间的角距离

在距离度量方面,即使对于位于多维空间中的对象,欧几里得距离似乎也非常自然和直观。但是,我没有找到某种等效的角度。

和算法:
- 亲和传播
- dbscan
- 一般而言,scikit-learn 算法,K-Means 除外。( http://scikit-learn.org/stable/modules/clustering.html#clustering )

下面是一些例子:['179.5', '58.8', '78.2', '211.8', '295.6', '194.9', '9.3', '328.3', '40.9', '323.1', '17.2']
['171.4', '74.9', '81.5', '204.4', '284.1', '193.8', '2.1', '326.7', '49.3', '310.4', '30.5']
['62 .5'] '119.8', '147.2', '213.0', '167.4', '256.4', '349.4', '28.3', '325.6', '29.6', '348.0']
顺便说一下,这些角是二角形的

Una*_*dra 4

考虑将角度映射到单位圆。这样,即使两个角度是 -pi 和 pi,距离也很近。这意味着每个向量从 n 维变为 (2n) 维。

然后,我会尝试所有正常的距离测量。