2015-02-08 4 views
7

समानांतर नौकरियों के रूप में चलाने के लिए कैसे स्केलर टीएफआईडीएफ वेक्टरिज़र (और COUNT वेक्टरिज़र) चलाते हैं? अन्य sklearn मॉडल में n_jobs = -1 पैरामीटर के समान कुछ।स्केलर टीएफआईडीएफ वेक्टरिज़र समानांतर नौकरियों के रूप में चलाने के लिए

उत्तर

7

यह सीधे संभव नहीं है क्योंकि इन वेक्टरizers के लिए आवश्यक शब्दावली तक पहुंच को समानांतर/वितरित करने का कोई तरीका नहीं है।

समानांतर दस्तावेज़ वेक्टरेशन करने के लिए, HashingVectorizer का उपयोग करें। Scikit दस्तावेज़ बैच में एक वर्गीकृत ट्रेन (और मूल्यांकन) करने के लिए इस वेक्टरिज़र का उपयोग कर an example प्रदान करते हैं। समान कार्यप्रवाह समानांतरता के लिए भी काम करता है क्योंकि समांतर श्रमिकों के बीच किसी भी संचार के बिना इनपुट शब्द उसी वेक्टर इंडेक्स में मैप किए जाते हैं।

आंशिक टर्म-डॉक मैट्रिस को अलग से गणना करें और सभी नौकरियों को पूरा करने के बाद उन्हें संयोजित करें। इस बिंदु पर आप समेकित मैट्रिक्स पर TfidfTransformer भी चला सकते हैं।

इनपुट शर्तों की शब्दावली को संग्रहीत करने का सबसे महत्वपूर्ण दोष यह है कि यह पता लगाना मुश्किल है कि अंतिम मैट्रिक्स (यानी उलटा परिवर्तन) में कौन से कॉलम मैप किए गए हैं। एकमात्र कुशल मैपिंग एक शब्द पर हैशिंग फ़ंक्शन का उपयोग करना है यह देखने के लिए कि कौन सा कॉलम/इंडेक्स असाइन किया गया है। एक व्यस्त परिवर्तन के लिए, आपको यह सभी अद्वितीय शर्तों (यानी आपकी शब्दावली) के लिए ऐसा करने की आवश्यकता होगी।

+0

मुझे यह जवाब पसंद है, और मैं इसे लागू करने का प्रयास कर रहा हूं, लेकिन मैं समांतर 'हैशिंग वेक्टरोरिज़र' के परिणामों को संयोजित करने के बारे में कैसे जा सकता हूं? –

+0

एनवीएम। मैं समझ गया। मैंने 'scipy.sparse.vstack' का इस्तेमाल किया। –

+0

क्या आप इसी शब्दावली को वापस पाने के बारे में और बता सकते हैं? –

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

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