对离散值样本的大型数据集进行聚类

2024-07-04 07:00:47 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

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

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

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

  1. 分类
  2. 分成大小相等的块
  3. 计算每个区块的平均值

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

我还尝试使用每个值的频率作为权重,这是sklearn.cluster.KMeans似乎允许的。然而,我真的在猜测这些重量是用来做什么的

谢谢


Tags: 数据类型列表集群整数聚类区块sklearn

热门问题