【发布时间】:2023-01-26 22:21:08
【问题描述】:
我正在尝试使用 sklearn 的 AgglomerativeClustering 优化用于计算同一数据集上具有不同数量集群的多个结果的计算时间。
如https://stackoverflow.com/questions/36490241/sklearn-agglomerative-clustering-dynamically-updating-the-number-of-clusters?noredirect=1&lq=1 所示,可以存储由AgglomerativeClustering 计算的整个树。然后,您可以重新指定聚类对象的n_clusters-参数,并简单地提取聚类到新数量的同一数据集的新聚类结果。
如果这是一个微不足道的问题,我很抱歉,但我在使用 Python 处理内存方面经验很少。我的问题是如何指定AgglomerativeClustering使用的缓存目录。在上面链接的例子中,它写成:
AgglomerativeClustering(n_clusters=10, memory='mycachedir', compute_full_tree=True)
'mycachedir' 到底是什么?我需要用我自己的缓存目录替换它,还是 python 在某个名为 'mycachedir' 的地方创建一个新目录?如果是这样,当我的程序结束时它会被删除吗?我希望在我的程序停止或结束后删除缓存。再次,如果这很明显,我很抱歉。
我尝试使用字符串 "mycachedir" 运行它,Python 没有引发错误。那么这个目录位于哪里呢?它的行为如何?例如,程序结束后它是否被删除?
【问题讨论】:
标签: python memory scikit-learn cluster-analysis hierarchical-clustering