我对聚类分析和数据科学的了解很肤浅。我的问题是将以下数据分组到集群中:
Data = [40,45,50,60]
我的标准是当每对数字之间的差异在某个阈值内(假设是10)时对数字进行分组。因此,可能的集群是:
Cluster1 = [40,45] [50,60]
Cluster2 = [40,45,50] [60]
Cluster3 = [40][45,50][60]
我需要找到所有这些可能的集群,并根据特定的条件选择其中之一。有没有什么数据科学库可以用来执行这样的聚类?
发布于 2019-06-20 16:30:46
由于您的数据是一维的,因此问题变得比通常的多变量聚类场景容易得多。
您可以使用一个非常简单的策略来枚举所有可能的“集群”:
不要再为所有寻找库了,自己编写代码就行了。聚类库解决了更复杂的问题,通常不会包括这种简单的单变量策略。
发布于 2019-06-20 08:33:45
有大量的聚类库,但是你不能闭上眼睛去选择一个,因为如果你这样做了,那么整个分析就是有缺陷的。
你必须问自己这个问题,“你为什么要聚类?”,这是为了降低维数还是为了找到模式。你需要问的另一个问题是,how are the different variables related to each other?
您在looks numerical
上显示的数据。对于数值数据的分组,可以使用最简单的算法k-means。looks numerical
mean是真正的数值还是虚拟编码来表示文本值。
聚类中的另一个重要问题是确定和证明组的x
个数的存在性。k-means
算法是一种划分方法,它需要possible number of clusters
的输入。
总而言之,我建议您重新考虑这个问题的可行性,并回答所提出的问题,以获得有意义的问题解决方案。
https://stackoverflow.com/questions/56665952
复制相似问题