如何为sklearn AgglomerativeClustering指定缓存目录?缓存会自动删除吗?
关于AgglomerativeClustering memory参数的疑问解答
关于'mycachedir'是什么:它是缓存目录的名称/路径。你可以直接使用这个名称,Python会自动在当前运行目录下创建该文件夹;也可以替换成自定义的路径(比如
./temp_cluster_cache或者绝对路径/home/user/temp_cache),只要你拥有对应路径的读写权限即可。目录位置:如果仅填写
mycachedir,该目录会创建在当前Python脚本的运行工作目录下(即你执行脚本时所在的路径);如果填写的是绝对路径,就会在你指定的绝对路径位置生成该目录。是否自动删除:默认情况下,程序结束后这个缓存目录不会自动删除。如果希望缓存随程序停止而销毁,有两种实现方式:
- 在脚本末尾手动删除目录:
import shutil shutil.rmtree('mycachedir')- 使用Python的临时目录库
tempfile,创建自动销毁的缓存目录:
from tempfile import TemporaryDirectory from sklearn.cluster import AgglomerativeClustering with TemporaryDirectory() as temp_dir: model = AgglomerativeClustering(n_clusters=2, memory=temp_dir) model.fit(X) # 调整聚类数后快速获取结果 model.n_clusters = 3 labels = model.fit_predict(X) # 退出with代码块后,temp_dir会被自动删除
内容的提问来源于stack exchange,提问作者Ankerstjerne
相关产品推荐
相关产品推荐

