2012-04-18 38 views
8

我正在使用Scipy進行分層聚類。我確實設法使用fcluster將閾值設置爲閾值。但是我需要將形成的樹狀圖可視化。當我使用樹狀圖方法時,對於5-6k個用戶矢量,它工作正常。但是我的數據庫包含16k個用戶向量。當我運行它的16K用戶聚類功能引發以下錯誤:在大數據集的Scipy錯誤中繪製樹狀圖

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 

的可視化聚類較大dataser任何想法?

+0

一個簡單的想法是擴展你的記憶,否則你可能需要深入實現細節,使例程內存友好。 – 2012-05-06 23:40:54

+0

@Maxwell,如果您發現最高票數的答案有幫助,那麼繼續並將其標爲正確! :) – VedTopkar 2016-02-10 23:33:30

+0

我有同樣的事情發生在我身上,但只有在使用某些方法(單一,平均,完整)進行聚類時,但不是病房。我想知道是什麼觸發了這種情況 - 相同大小的連接矩陣的特性使遞歸變得如此之深? – user1603472 2017-02-28 14:19:44

回答

14

這可能有點晚,但如果您對增加遞歸限制以顛覆遞歸深度限制感到滿意,則可以這樣做。這不是推薦,絕對不是'pythonic',但它可能會讓你得到你想要的結果。

import sys 
sys.setrecursionlimit(10000)