首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >scikit学习:具有递增数据集的层次聚集聚类性能

scikit学习:具有递增数据集的层次聚集聚类性能
EN

Stack Overflow用户
提问于 2019-11-25 17:06:46
回答 1查看 550关注 0票数 0

scikit learn=0.21.2

随着数据集的增加,层次聚集聚类算法响应时间呈指数增长。

我的数据集是文本的。每一份文件有7-10个字长.

使用以下代码执行群集。

代码语言:javascript
复制
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

  • 10000*2000
  • 5000x1500取17秒

取113秒

我不能控制5000,10000,15000,因为这是输入的大小,或特征集的大小(即1500,2000,2418),因为我使用的是弓模型。

最后,我使用所有唯一的单词(删除停止词之后)作为我的功能列表。此列表随着输入大小的增加而增加。

所以有两个问题。

  1. 如何避免增加特征集大小而不考虑输入数据集的大小
  2. 有什么方法可以在不影响质量的情况下提高算法的性能?
EN

回答 1

Stack Overflow用户

发布于 2019-11-28 06:37:12

标准AGNES层次聚类的复杂性为O(n³+n²d)。因此,实例的数量比功能的数量更多地是一个问题。

有些方法通常在O(n平方公里d)中运行,但最坏的情况保持不变,因此它们将比这快得多。有了这些,你通常会遇到内存限制.不幸的是,据我所知,这并不是在sklearn中实现的,所以您必须使用其他集群工具--或者自己编写算法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59036820

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档