【发布时间】:2012-12-14 04:01:09
【问题描述】:
我有一个像[1, 20, 300, 45, 5, 60, 10, 270, 3] 这样的数字数组。根据接近程度将这些数字分组在一起的有效算法是什么?在这种情况下,我会期待像 [1, 3, 5]、[20, 45, 60] 和 [270, 300] 这样的东西。
【问题讨论】:
-
在我看来,您要查找的关键字是集群:en.wikipedia.org/wiki/Cluster_analysis。在您的特定情况下,我将从自下而上的层次聚类方法开始:en.wikipedia.org/wiki/Hierarchical_clustering
-
@Mathias- 哇哦,你比我快几秒。 :-)
-
@Mathias no:当您有多个维度时,集群是合适的。当数据是 1d 时,可以通过这种方式对数据进行排序和处理大大。 Jenks 自然中断优化是一个很好的关键字,但也有非常简单的基于 delta 的方法效果很好。而且这些非常好的方法中的大多数甚至都无法扩展到二维。
标签: algorithm math language-agnostic statistics cluster-analysis