【发布时间】:2020-03-21 00:56:30
【问题描述】:
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)
大小矩阵在哪里:
- 5000x1500 耗时 17 秒
- 10000*2000 耗时 113 秒
- 13000*2418 耗时 228 秒
我无法控制 5000、10000、15000,因为这是输入的大小或特征集大小(即 1500、2000、2418),因为我使用的是 BOW 模型(TFIDF)。
我最终使用所有唯一词(删除停用词后)作为我的功能列表。此列表随着输入大小的增加而增加。
所以有两个问题。
- 如何避免增加特征集大小而不管输入数据集大小的增加
- 有没有一种方法可以在不影响质量的情况下提高算法的性能?
【问题讨论】:
标签: cluster-analysis hierarchical-clustering