2012-04-18 14 views
8

के लिए Scipy त्रुटि में plotting dendrogram मैं पदानुक्रम क्लस्टरिंग के लिए Scipy का उपयोग कर रहा हूँ। मैं फ्लेस्टर का उपयोग कर थ्रेसहोल्ड पर फ्लैट क्लस्टर प्राप्त करने का प्रबंधन करता हूं। लेकिन मुझे गठित डेंडरोग्राम को देखने की जरूरत है। जब मैं डेंडरोग्राम विधि का उपयोग करता हूं, तो यह 5-6k उपयोगकर्ता वैक्टर के लिए ठीक काम करता है। लेकिन मेरे डेटार में 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 

बड़ा dataser के लिए dendrogram visualizing पर कोई भी विचार: जब मैं 16k उपयोगकर्ताओं dendrogram समारोह के लिए इसे चलाने के निम्न त्रुटि फेंकता है?

+0

आपकी याददाश्त का विस्तार करना एक साधारण विचार है, अन्यथा आपको नियमित स्मृति अनुकूल बनाने के लिए कार्यान्वयन विवरण में गोता लगाने की आवश्यकता हो सकती है। –

+0

@ मैक्सवेल, यदि आपको सबसे ज्यादा वोट दिया गया उत्तर उपयोगी लगता है तो आगे बढ़ें और इसे सही के रूप में चिह्नित करें! :) – VedTopkar

+0

मेरे साथ वही बात होती थी, लेकिन केवल तभी जब कुछ तरीकों से क्लस्टरिंग की गई थी (एकल, औसत, पूर्ण), लेकिन वार्ड नहीं। मुझे आश्चर्य है कि यह क्या ट्रिगर करता है - एक ही आकार के लिंकेज मैट्रिस के गुण क्या हैं जो रिकर्सन इतनी गहरी हो जाती है? – user1603472

उत्तर

14

यह थोड़ा देर हो सकता है, लेकिन अगर आप रिकर्सन गहराई सीमा को हटाने के लिए अपनी रिकर्सन सीमा बढ़ाने में सहज महसूस करते हैं, तो आप ऐसा कर सकते हैं। इसकी अनुशंसा नहीं की जाती है, और निश्चित रूप से 'पायथनिक' नहीं है, लेकिन यह आपको संभवतः परिणाम प्राप्त कर लेगा।

import sys 
sys.setrecursionlimit(10000) 
संबंधित मुद्दे