【问题标题】:HDBSCAN cluster caching and persistanceHDBSCAN 集群缓存和持久化
【发布时间】:2020-10-23 13:25:05
【问题描述】:

HDBSCAN 有一个标志可以将其集群数据缓存为如下所述的参数:

prediction_data :boolean, optional

Whether to generate extra cached data for predicting labels or membership vectors few new unseen points later. If you wish to persist the clustering object for later re-use you probably want to set this to True. (default False)

现在我看到在指定位置创建了以下文件夹结构:

>joblib
...>hdbscan
......>hdbscan_
.........>_hdbscan_boruvka_balltree
............>f1bd5f351764560c3532dbe30f273481
...............metadata.json
...............output.pkl
............func_code.py

作为 HDBSCAN 文档suggest,我们可以使用这些文件(可能是 pickle 文件)作为持久性存储,以后可以重新使用它来查找新数据点的集群标签。但我没有找到办法。

【问题讨论】:

    标签: python scipy pickle dbscan hdbscan


    【解决方案1】:

    当我在 HDBSCAN 中搜索缓存内存时,我来到了这里。我最初的搜索将我带到https://joblib.readthedocs.io/en/latest/auto_examples/memory_basic_usage.html 我在下面找到了代码:

    from joblib import Memory
    location = './cachedir'
    memory = Memory(location, verbose=0)
    

    但是在使用它时,我得到了一个

    DeprecationWarning: The 'cachedir' parameter has been deprecated in version 0.12 and will 
    be removed in version 0.14. 
    You provided "cachedir='/tmp/joblib'", use "location='/tmp/joblib'" instead.
    

    因此,更新了 HDBSCAN 中使用 joblib 缓存内存的代码

    from joblib import Memory
    location='/tmp/joblib'
    memory = Memory(location, verbose=0)
    

    【讨论】:

      【解决方案2】:

      您要查看的参数是memory=。如果您使用相同的 memory= 参数再次调用 HDBSCAN 并且仅更改(例如)在运行之间显式保持 min_samples 固定的 min_cluster_size,那么它将节省您重新计算的时间。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-12-28
        • 1970-01-01
        • 2021-02-27
        • 2022-11-11
        • 1970-01-01
        • 2018-10-29
        • 2019-05-12
        • 2015-01-08
        相关资源
        最近更新 更多