/ / Mahout ट्रांसट्रैस मैट्रिक्स - हडूप, महोत्सव, transpose

महाउट मैट्रिक्स का स्थानांतरण - हडूप, महोत्सव, ट्रांसपोज़र

मैं महौत में नया हूं। मैं Mahout tranpose कमांड लाइन के साथ एक मैट्रिक्स को स्थानांतरित करने की कोशिश कर रहा हूँ।

मेरी डेटा स्रोत फ़ाइल में प्रत्येक पंक्ति इस तरह दिख रही है: 1;456;789;012;.... . कुंजी प्रत्येक पंक्ति में पहला तत्व है (इस उदाहरण में यह "1" है)। प्रत्येक पंक्ति मैट्रिक्स का एक वेक्टर है।

मैंने विभाजक को "," या स्पेस के साथ बदलने की कोशिश की, लेकिन मैं काम नहीं करता हूं।

मैट्रिक्स को स्थानांतरित करने के लिए, मैंने इस आदेश का उपयोग कर अनुक्रम फ़ाइल में अपनी hdfs डेटा फ़ाइल को बदलने के साथ शुरू किया:

mahout seqdirectory -c utf-8 -i /test/myfile -p /test/myfile_seq

फिर मैंने इस अनुक्रम का उपयोग कर अपने अनुक्रम फ़ाइल को वैक्टर में बदलने की कोशिश की:

mahout seq2sparse -i /test/myfile_seq/chunk-0 -o /test/myfile_vector

फिर tranpose करने के लिए मैं इस आदेश का इस्तेमाल किया:

sudo -u hdfs mahout transpose --input  /test/myfile_vector//tfidf-vectors/part-r-00000 --numRows 5 --numCols 24

मेरे पास कई सवाल हैं:

- What is the separator to use in the data file source
- What should be the output of the "mahout seqdirectory" command?
- Did I need to convert my sequence file to vectors to transpose?

उत्तर:

जवाब के लिए 0 № 1

महाउट कमेटर्स से अधिक त्वरित और निश्चित उत्तर प्राप्त करने के लिए कृपया महाउट उपयोगकर्ता @ मेलिंग सूची में महाउट से संबंधित प्रश्न पोस्ट करें।

Mahout के TransposeJob इनपुट के रूप में एक मैट्रिक्स की उम्मीद हैऔर आपके पास व्यक्तिगत वैक्टरों पर काम नहीं करेगा जैसा आपके पास है। इससे कोई फर्क नहीं पड़ता कि आप इनपुट प्रारूप क्या हैं। आप बस एक सीएसवी फ़ाइल कर सकते थे और प्रत्येक पंक्ति को पार्स कर सकते थे।

यहां आप जो पूरा करने की कोशिश कर रहे हैं उसके लिए चरणों का अनुक्रम यहां दिया गया है:

  1. इनपुट सीएसवी फ़ाइल को नामित वेक्टर में कनवर्ट करेंजहां वेक्टर आईडी आपके मामले में कुंजी होगी। Mahout के CSVIterator के लिए कोड को देखें और इसे नामांकित वेक्टरों को संभालने के लिए ट्विक करें और अपने इनपुट से प्रत्येक पंक्ति को पार्स करें।
  2. सभी वैक्टरों का मैट्रिक्स बनाने के लिए नामांकित वेक्टरों पर महौत की रोविडोज को चलाएं। मैट्रिक्स की प्रत्येक पंक्ति आपके इनपुट से एक रेखा होगी। रोविजोब से आउटपुट मैट्रिक्स और डॉकइंडेक्स हैं।

    सभी वैक्टरों के सभी समेकित मैट्रिक्स के मैट्रिक्स - एम * एन मैट्रिक्स docIndex - दस्तावेज का मानचित्रण दस्तावेज़ नाम में (आपके मामले में यह एक दस्तावेज़ मैपिंग करेगा आपके कुंजी के लिए आईडी)

  3. TransposeJob में इनपुट के रूप में पिछले चरण से मैट्रिक्स आउटपुट फ़ीड करें। आपको सीएलआई को पंक्तियों और कॉलमों की संख्या निर्दिष्ट करने की आवश्यकता है।

यदि आपके कोई और प्रश्न हैं तो कृपया महाउट उपयोगकर्ता @ पर पोस्ट करें।