scikit learn=0.21.2
随着数据集的增加,层次聚集聚类算法响应时间呈指数增长。
我的数据集是文本的。每一份文件有7-10个字长.
使用以下代码执行群集。
hac_model = AgglomerativeClustering(affinity=consine,
linkage=complete,
compute_full_tree=True,
connectivity=None, memory=None,
n_clusters=None,
distance_threshold=0.7)
cluster_matrix = hac_model.fit_predict(matrix)其中,大小矩阵为:
seconds
取113秒
我不能控制5000,10000,15000,因为这是输入的大小,或特征集的大小(即1500,2000,2418),因为我使用的是弓模型。
最后,我使用所有唯一的单词(删除停止词之后)作为我的功能列表。此列表随着输入大小的增加而增加。
所以有两个问题。
发布于 2019-11-28 06:37:12
标准AGNES层次聚类的复杂性为O(n³+n²d)。因此,实例的数量比功能的数量更多地是一个问题。
有些方法通常在O(n平方公里d)中运行,但最坏的情况保持不变,因此它们将比这快得多。有了这些,你通常会遇到内存限制.不幸的是,据我所知,这并不是在sklearn中实现的,所以您必须使用其他集群工具--或者自己编写算法。
https://stackoverflow.com/questions/59036820
复制相似问题