如何在此数据列表上执行聚类?

时间:2019-06-19 10:51:14

标签: python-3.x cluster-analysis

我对聚类分析和数据科学的知识是肤浅的。我的问题是将以下数据分组:

Authorised redirect URIs = mysite.com/accounts/google/login/callback/

我的标准是当每对数字之间的差异在某个阈值之内(例如10)时,对数字进行分组。因此,可能的簇是:

Data = [40,45,50,60]

我需要找到所有可能的群集,并根据特定条件选择其中一个。有没有可用于执行此类聚类的数据科学库?

2 个答案:

答案 0 :(得分:1)

有大量的聚类库,但是您不能闭眼选择一只,因为如果这样做,那么整个分析都是有缺陷的。

您必须问自己一个问题,“为什么要聚类?”,这是减少维数还是寻找图案。您需要问的另一个问题是how are the different variables related to each other?

您在looks numerical上方显示的数据。要对数字数据进行分组,可以使用最简单的算法k-meanslooks numerical的意思是真的是数字值还是伪编码来表示文本值。

聚类中的另一个重要问题是确定并证明x个组的存在。 k-means算法是一种分区方法,它需要输入possible number of clusters

总的来说,我建议您需要重新考虑该问题的可行性,并回答所提出的问题以得出有意义的解决方案。

答案 1 :(得分:1)

由于您的数据是一维的,因此与通常的多变量聚类方案相比,此问题变得更容易解决。

您可以使用一种非常简单的策略来枚举所有可能的“集群”:

  1. 排序数据
  2. 以最小的值开始
  3. 如果下一个值在阈值之内,则将其添加到群集中并继续
  4. 回溯,并尝试不将值添加到现有集群中,而是开始一个新集群。

停止为所有内容寻找库,然后自己完成代码。集群库解决了更复杂的问题,通常不会包括这种简单的单变量策略。