2010-06-14 13 views
9

मैं एक बहुत बड़े मैट्रिक्स पर कुछ के-साधन क्लस्टरिंग करने की कोशिश कर रहा हूं।के-मतलब आर में बहुत बड़ा, स्पैर मैट्रिक्स पर क्लस्टरिंग है?

मैट्रिक्स लगभग 500000 पंक्तियों x 4000 कोल्स अभी तक बहुत दुर्लभ है (प्रति पंक्ति केवल "1" मानों में से कुछ)।

पूरी बात स्मृति में फिट नहीं होती है, इसलिए मैंने इसे एक स्पैर एआरएफएफ फ़ाइल में परिवर्तित कर दिया। लेकिन आर स्पष्ट रूप से स्पैस एआरएफएफ फ़ाइल प्रारूप नहीं पढ़ सकता है। मेरे पास एक सादा सीएसवी फ़ाइल के रूप में डेटा भी है।

क्या ऐसे स्पैर मैट्रिक्स को कुशलतापूर्वक लोड करने के लिए आर में कोई पैकेज उपलब्ध है? मैं आगे बढ़ने के लिए क्लस्टर पैकेज से नियमित के-साधन एल्गोरिदम का उपयोग करूंगा।

बहुत धन्यवाद

+0

उत्तर के लिए धन्यवाद! मुझे एक और सवाल मिला हालांकि :-) मैं लगभग 2000 की क्लस्टर संख्या के साथ बड़े पैमाने पर चलाने की कोशिश कर रहा हूं जैसे "क्लस्ट <- bigkmeans (mymatrix, center = 2000)" हालांकि, मुझे निम्न त्रुटि मिलती है: त्रुटि 1: (10 + 2^के): परिणाम बहुत लंबा होगा वेक्टर क्या कोई मुझे संकेत दे सकता है कि मैं यहां क्या गलत कर रहा हूं? धन्यवाद! – movingabout

+1

मूल पर http://stackoverflow.com/questions/3177827/clustering-on-very-large-sparse-matrix –

उत्तर

13

bigmemory पैकेज - इस्तेमाल किया बड़े डेटा पर बढ़ाया विश्लेषिकी के उदाहरण के रूप में चल रहा है k-साधन (या अब संकुल के परिवार उनके website देखें)। विशेष रूप से उप-पैकेज biganalytics देखें जिसमें के-साधन फ़ंक्शन शामिल है।

+0

+1 बड़ी मेमोरी के लिए, मुझे नहीं पता था कि उनके पास इतने सारे पैकेज थे। – richiemorrisroe

+0

हां और bigmemory पैकेज से read.data.matrix() फ़ंक्शन 1 परमाणु डेटा प्रकार का समर्थन करता है। –

1

की जांच करें:

library(foreign) 
?read.arff 

चीयर्स।

0

आर के लिए एक विशेष स्पैर्सएम पैकेज है जो इसे कुशलता से पकड़ सकता है। यदि यह काम नहीं करता है, तो मैं उच्च प्रदर्शन भाषा पर जाने की कोशिश करता हूं, जैसे सी

1

स्पार्कल स्पैर पदानुक्रमित क्लस्टरिंग और स्पैस के-साधन क्लस्टरिंग करता है यह आर-उपयुक्त (इसलिए - स्मृति में फ़िट करने के लिए अच्छा होना चाहिए)) matrices।

http://cran.r-project.org/web/packages/sparcl/sparcl.pdf

==

वास्तव में बड़ी मैट्रिक्स के लिए, मैं अपाचे के साथ एक समाधान विरल मैट्रिक्स स्पार्क की कोशिश करेगा, और MLlib - अभी भी पता नहीं कैसे प्रयोगात्मक यह अब है:

https://spark.apache.org/docs/latest/api/scala/index.html#org.apache.spark.mllib.linalg.Matrices $

https://spark.apache.org/docs/latest/mllib-clustering.html

संबंधित मुद्दे