我正在使用Scipy进行分层聚类。我确实设法使用fcluster在阈值上获得平面集群。但我需要想象形成的树形图。当我使用树形图方法时,它适用于5-6k用户向量。但我的数据库包含16k用户向量。当我为16k用户运行时,树形图函数会抛出以下错误:
File "/home/enthought/lib/python2.7/site-packages/scipy/cluster/hierarchy.py", line 2333, in _dendrogram_calculate_info
leaf_label_func, i, labels)
File "/home/enthought/lib/python2.7/site-packages/scipy/cluster/hierarchy.py", line 2205, in _append_singleton_leaf_node
ivl.append(str(int(i)))
RuntimeError: maximum recursion depth exceeded while getting the str of an object
关于为更大的数据库可视化树形图的任何想法?
答案 0 :(得分:23)
这可能有点晚了,但如果您觉得增加递归限制以破坏递归深度限制,那么您可以这样做。它不推荐,绝对不是'pythonic',但它可能会得到你想要的结果。
import sys
sys.setrecursionlimit(10000)
答案 1 :(得分:1)
使用sys.setrecursionlimit(1000000),我能够处理一个大矩阵并成功返回seaborn.clustermap调用。我想通过升级scipy或提供其他参数并使用scipy更仔细地构建一个簇图,也可以解决此错误。