【发布时间】:2015-04-04 05:01:07
【问题描述】:
我目前正在 python 中实现聚类算法。由于最终产品将使用数以千计的数组元素,因此我最初尝试尽量减少循环并对其进行优化。
我正在使用 scipy 的 cdist 从选定数量的随机簇创建一个二维距离数组。所以 3 个集群会产生一系列距离,比如x 点:
distances = array([[5.5,2.5,7.3],
[1.0,4.6,2.2],
[6.0,2.8,7.1],
[5.3,4.6,1.5],
...........]])
每列是到集群的距离,每一行是一个点,我希望快速创建一个值 0,1 或 2 的数组,(可能会出现相同距离的解决方案),如下所示:
label = array([1,0,1,2,.......])
将不胜感激一个快速的解决方案,而不是循环。
【问题讨论】: