聚类非常大的离散值样本数据集

时间:2020-05-21 17:53:41

标签: python compression cluster-analysis large-data discrete

我正在尝试对以下类型的非常大的数据集进行聚类(AgglomerativeClusterkMeans
[0,0,0,0,1,2,2,2,2,2,3,4,4,4,5,5,5,5,5,5,5,5,5]
也就是说,一个整数样本重复多次。

简而言之,我想通过将样本转换成更短的计数列表来进行预处理:
[(0,4),(1,1),(2,4),(3,1),(4,3),(5,9)]
然后将其用作聚类的输入。

问:您知道如何使用这种计数列表作为聚类的输入吗?

我这样做的主要动机是,当输入数组的长度超过50000时,sklearn.cluster.KMeans或sklearn.cluster.AgglomerativeClustering将引发异常。我的数据集的长度为数百万。 >

我已经启动并运行了一个数据压缩阶段,在其中:

  1. 排序
  2. 按大小相等的块分组
  3. 计算每个块的平均值

,然后继续使用平均值列表作为聚类的输入。 这有效。但是,生成的群集显示出对块大小的依赖性,我发现这种选择很难捍卫。

我还尝试使用每个值的频率作为权重,这是sklearn.cluster.KMeans似乎允许的。但是,我真的在这里猜测这些砝码的用途。

谢谢

0 个答案:

没有答案