2015-09-29 5 views
7

मैं H2O में एक स्पैर मैट्रिक्स प्राप्त करने की कोशिश कर रहा हूं और मैं सोच रहा था कि यह संभव था या नहीं। मान लीजिए कि हमें निम्नलिखित:एच 2 ओ में स्पैर मैट्रिस कैसे प्राप्त करें?

test <- Matrix(c(1,0,0,1,1,1,1,0,1), nrow = 3, sparse = TRUE) 

और यह मानते हुए अपने स्थानीय एच 2 ओ localH2O है, मैं निम्न कार्य नहीं कर पा रहे:

as.h2o(test) 

यह त्रुटि देता है: cannot coerce class "structure("dgCMatrix", package = "Matrix")" to a data.frame। ऐसा लगता है कि यह बहुत तार्किक प्रतीत होता है, हालांकि यह मानते हुए कि परीक्षण इतना बड़ा है कि मैं इसे डेटाफ्रेम में बदल नहीं सकता, मैं इसे एच 2 ओ में लोड करने का अनुमान कैसे लगा सकता हूं? एक स्पैर मैट्रिक्स प्रतिनिधित्व का उपयोग करना यह केवल 500 एमबी या तो है।

मैं एच 2 ओ में एक स्पैर मैट्रिक्स कैसे लोड कर सकता हूं?

उत्तर

7

आर की स्मृति में संग्रहीत डेटा को एच 2 ओ की स्मृति में आवश्यक रूप से दो कारणों से ले जाने के लिए बोझिल है: आर एच 2 ओ में डेटा को स्ट्रीम करने के लिए फ़ाइल का एक पोस्ट करता है, जो 1) एच 2 ओ के समांतर पाठक का लाभ नहीं लेता है, और 2) आर

में मौजूदा डेटा को सीमित करने के लिए, एच 2 ओ के समांतर पाठक का उपयोग करने के लिए आर से h2o.importFile विधि का उपयोग करें। आपका डेटा कहीं भी रह सकता है: एचडीएफएस, एस 3, नियमित फाइल सिस्टम ...

एच 2 ओ एक एसवीएमलाइट रीडर खेलता है, इसलिए एसएमएमएलएइट प्रारूप में आर से अपने स्पैर मैट्रिक्स को सहेजने की अनुशंसा की जाती है।

आशा है कि इससे मदद मिलती है!

+1

यह बहुत उपयोगी है लेकिन यह मैट्रिक्स ऑब्जेक्ट n svmlight प्रारूप को सहेजने के तरीके के बारे में सवाल पूछता है। जब तक मैं गलत नहीं हूं यह गैर-तुच्छ है; क्या एक साफ समाधान है? –

+0

बंद आरएसओफ़िया पैकेज है जिसमें फ़ंक्शन 'write.svmlight' में बनाया गया है। मैंने इस विशिष्ट मामले के लिए इसका उपयोग नहीं किया है, लेकिन आप पुराने स्रोत को 'devtools :: install_github ("cran/rSofia") के माध्यम से इंस्टॉल कर सकते हैं। – zerweck