2011-06-16 13 views
9

के साथ है, मुझे वास्तव में विशाल मैट्रिक्स (लगभग 300.000x100.000 मान जो 100 जीबी से अधिक है) पर के-साधन क्लस्टरिंग करना है। मैं जानना चाहता हूं कि मैं इसे या वीका करने के लिए आर सॉफ्टवेयर का उपयोग कर सकता हूं या नहीं। मेरा कंप्यूटर 8 जीबी रैम और सैकड़ों जीबी मुक्त स्थान के साथ एक मल्टीप्रोसेसर है।के-मतलब वास्तव में बड़े मैट्रिक्स

मेरे पास गणना के लिए पर्याप्त जगह है लेकिन ऐसे मैट्रिक्स को लोड करना आर के साथ एक समस्या प्रतीत होता है (मुझे नहीं लगता कि बड़े पैमाने पर पैकेज का उपयोग करने से मुझे और मेरी बड़ी रैम स्वचालित रूप से मेरी सभी रैम का उपयोग करने में मदद मिलेगी, तो मेरी स्वैप फ़ाइल नहीं काफी जगह)।

तो मेरा सवाल यह है कि: मुझे किस सॉफ्टवेयर का उपयोग करना चाहिए (अंत में कुछ अन्य पैकेज या कस्टम सेटिंग्स के साथ)।

मेरी मदद करने के लिए धन्यवाद।

नोट: मैं लिनक्स का उपयोग करता हूं।

+0

कि एक मैट्रिक्स में इस डेटा भंडारण अधिकतम पूर्णांक मान (2147483647) में इंडेक्स को सीमित करता है, और आपके पास उससे अधिक तत्व हैं। यह एक स्मृति सीमा नहीं है, लेकिन एक सीमा है जो डेटा को इंडेक्स करने के लिए पूर्णांक का उपयोग करने से होती है। क्या आप इसके बजाय मैट्रिक्स का नमूना दे सकते हैं? – Noah

+1

आप एक ही समय में सभी 300,000 वस्तुओं को क्लस्टर करना क्यों चाहते हैं? क्यों न छोटा नमूना लें, क्लस्टर करें और फिर शेष वस्तुओं को अपने निकटतम क्लस्टर में असाइन करें? –

+0

आप कितने क्लस्टर ढूंढ रहे हैं? सत्यापन के लिए ज्ञात क्लस्टरिंग के साथ नमूने हैं? – denis

उत्तर

7

क्या यह के-साधन होना चाहिए? एक और संभावित तरीका है कि अपने डेटा को पहले नेटवर्क में बदलना है, फिर ग्राफ़ क्लस्टरिंग लागू करें। मैं MCL का लेखक हूं, जो एक एल्गोरिदम अक्सर जैव सूचना विज्ञान में प्रयोग किया जाता है। लिंक किए गए कार्यान्वयन को लाखों नोड्स के साथ नेटवर्क तक आसानी से स्केल करना चाहिए - आपके उदाहरण में 300 के नोड्स होंगे, यह मानते हुए कि आपके पास 100K विशेषताएँ हैं। इस दृष्टिकोण के साथ, आंकड़ों को डेटा परिवर्तन चरण में स्वाभाविक रूप से हटा दिया जाएगा - और वह कदम काफी हद तक बाधा बन जाएगा। आप दो वैक्टरों के बीच की दूरी की गणना कैसे करते हैं? जिन अनुप्रयोगों के साथ मैंने निपटाया है, उनमें मैंने पियरसन या स्पीरमैन सहसंबंध का उपयोग किया था, और एमसीएल को बड़े पैमाने पर डेटा पर इस गणना को कुशलता से करने के लिए सॉफ़्टवेयर के साथ भेज दिया गया है (यह एकाधिक CPUs और एकाधिक मशीनों का उपयोग कर सकता है)।

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

+1

माइक्रोसॉफ्ट +1 एमसीएल, +1 अगर मैं कर सकता हूं "आप दो वैक्टरों के बीच की दूरी की गणना कैसे करते हैं?" -- जरूरी। डेल्फीन, नमूना प्रशिक्षण सेट पर पहला प्रयोग जो जल्दी से चलता है, देखें कि वे कैसे क्लस्टर करते हैं। – denis

+0

+1 पारस्परिकरण के लिए नहीं है, लेकिन छोटे नमूना प्रशिक्षण सेट के लिए - काफी महत्वपूर्ण है। डेल्फीन, अगर आप थोड़ा और व्यस्त लगे तो यह अच्छा होगा। मुझे आश्चर्य है कि क्या आपका डेटासेट वास्तव में इकाइयों के रूप में वर्णित है, प्रत्येक में 100 के गुण हैं - इसलिए मेरा सवाल है कि यह स्पैस (शून्य समृद्ध) है। यदि ऐसा है, तो वैक्टरों के बीच की दूरी वास्तव में सेट के बीच ओवरलैप प्रकार की दूरी के समान हो सकती है, और मेरे विचार में नेटवर्क आधारित दृष्टिकोण के मामले को मजबूत कर सकते हैं। – micans

1

मैं link (जो विशिष्ट उपयोगकर्ता के लिए उपयोगी हो सकता है) रखता हूं लेकिन मैं गेविन की टिप्पणी से सहमत हूं! बिग डेटा पर के-साधन क्लस्टरिंग करने के लिए आप Revolution R Enterprise आर के स्वामित्व कार्यान्वयन में लागू आरएक्सकेमेन फ़ंक्शन का उपयोग कर सकते हैं (मुझे पता है कि यह एक समस्या हो सकती है); यह फ़ंक्शन उस तरह के डेटा को प्रबंधित करने में सक्षम प्रतीत होता है।

+6

स्टैक ओवरफ्लो पर, सरल उत्तर जो साइट से लिंक को नियोजित करते हैं, सबसे अच्छे रूप में फंस जाते हैं। क्या होता है यदि वह पृष्ठ चलता है या अनुपलब्ध हो जाता है?अपने उत्तर में पर्याप्त जानकारी शामिल करने का प्रयास करें ताकि यह अपने आप पर खड़ा हो - सभी साधनों से विशेषता जहां विचार आया था, लेकिन उत्तर में किसी लिंक का उपयोग न करें। –

0

हम सब पर डेटा के बारे में कुछ भी नहीं पता है, और न ही प्रश्नकर्ता के लक्ष्यों को इसके लिए , सिर्फ सामान्य लिंक के एक जोड़े के बाद से:
I. Guyon's video lectures — कई कागजात और किताबें भी।
feature selection on stats.stackexchange

0

बाहर चेक महावत, यह कश्मीर करना होगा एक बड़े डेटा सेट पर अर्थ है:

http://mahout.apache.org/

समस्या आप के साथ आर में चलाने की संभावना हो
+0

यदि आपने नोटिस नहीं किया है: उसने "माहाउट" प्रश्न टैग किया है ... –

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