可能重复:
集群一维数据优化?
所以我们可以说我有一个这样的数组:
[1,1,2,3,10,11,13,67,71]
有没有到阵列划分为这样的一个方便的方法?
[[1,1,2,3],[10,11,13],[67,71]]
我通过类似的问题显得但大多数人使用K-均值聚类点,如建议SciPy的 ,这是相当混乱,使用像我这样的初学者。 此外,我认为K-手段更适合二维以上的集群吧? 是否有分区取决于整数N的数字阵列许多分区/集群的任何方式?
有些人还建议刚性范围分区,但它并不总是呈现结果如预期
不要使用多维集群算法一维问题。 单个维度是特别多,比你天真地认为,因为实际上你可以对它进行排序 ,这让事情变得更容易。
事实上,它通常不是甚至被称为集群,但如分段或自然断裂优化。
你可能想看看詹克斯自然中断的优化和类似的统计方法。 核密度估计也看,具有强大的统计背景的好方法。 密度局部极小的是将数据分割成群集的好地方,有统计的理由这样做。 KDE是也许对聚类1维数据的最声音的方法。
随着KDE,它再次成为明显的是一维的数据更表现良好。 在1D,你有局部极小; 但在2D你可能有鞍点,这种“可能”分裂分。 看到这一个鞍点的维基百科说明 ,如何这样的点可以或可能不适合用于分割的簇。
你可能会寻找离散化算法。 1D离散问题类似于你问了很多。 他们决定切断点,根据频,分箱策略等。
WEKA在其,离散化过程中使用下面的算法。
weka.filters.supervised.attribute.Discretize
无论是使用法耶兹及伊拉尼的MDL方法或Kononeko的MDL准则
weka.filters.unsupervised.attribute.Discretize
使用简单的分级