【发布时间】:2017-11-14 16:29:38
【问题描述】:
我有一个数组,如 [101, 107, 106, 199, 204, 205, 207, 306, 310, 312, 312, 314, 317, 318, 380, 377, 379, 382, 466, 469, 471 , 472, 557, 559, 562, 566, 569...]
在这个数组中,在几个整数之后,值会有一个阶跃变化。(比如在[101,107,106]和[199,204,...]之间) 或者换一种说法,数组是由一组整数组成的,每组的值都围绕着一个未知的平均值。 但是我不知道总共有多少组,每个组的整数个数是不确定的。
如何将每一步中的这些整数分组到不同的数组中。
谢谢
【问题讨论】:
-
对于具有未知手段的任意长度组,我认为层次聚类算法可以工作。您不知道要创建多少个集群,但您可以尝试迭代搜索(可能从 2 个组开始)并优化您的集群,直到最大限度地减少集群内方差。
-
阅读聚类算法。例如,您可以在这里使用K-means 算法,因为它是非常流行的聚类算法。
标签: python arrays algorithm grouping