2013-04-10 7 views
5

मैं विज्ञान-सीखने वाले क्लासिफायर और टेक्स्ट फीचर एक्स्ट्रैक्टर, विशेष रूप से TfidfVectorizer क्लास का उपयोग करके टेक्स्ट वर्गीकरण समस्या पर काम कर रहा हूं।स्किलीर्न TfIdfVectorizer द्वारा अधिक सुविधाओं को पकड़ने के लिए Scipy Sparse Matrix को कैसे बढ़ाया जाए

समस्या यह है कि मेरे पास दो प्रकार की विशेषताएं हैं, पहली बार TfidfVectorizer से प्राप्त एन-ग्राम द्वारा कब्जा कर लिया जाता है और अन्य डोमेन विशिष्ट विशेषताओं को मैं प्रत्येक दस्तावेज़ से निकालता हूं। मुझे प्रत्येक दस्तावेज़ के लिए एक ही सुविधा वेक्टर में दोनों सुविधाओं को गठबंधन करने की आवश्यकता है; ऐसा करने के लिए मुझे इस दस्तावेज़ के लिए डोमेन सुविधा रखने वाली प्रत्येक पंक्ति में एक नया आयाम जोड़कर TfidfVectorizer द्वारा लौटाई गई स्पीसी स्पैस मैट्रिक्स को अपडेट करने की आवश्यकता है। हालांकि, मुझे ऐसा करने का एक साफ तरीका नहीं मिल रहा है, साफ से मेरा मतलब है कि स्पैस मैट्रिक्स को घने में परिवर्तित नहीं करना है क्योंकि यह स्मृति में फिट नहीं होगा।

शायद मैं विज्ञान-सीखने या कुछ में एक विशेषता खो रहा हूं, क्योंकि मैं दोनों scipy और scikit-learn दोनों के लिए नया हूं।

उत्तर

5

मुझे लगता है कि आपकी कस्टम सुविधाओं के साथ एक नया स्पैर मैट्रिक्स बनाना सबसे आसान होगा और फिर सुविधाओं को ढेर करने के लिए scipy.sparse.hstack का उपयोग करें। आपको पाइपलाइन मॉड्यूल से "फ़ीचरयूनीयन" भी उपयोगी हो सकता है।

+0

मुझे "फ़ीचरस्टैकर" नहीं मिला, क्या आपका मतलब "फ़ीचर यूनियन" है? – iBrAaAa

+0

क्षमा करें, हाँ, यही मेरा मतलब था। –

+0

फ़ीचर यूनियन ने काम किया, धन्यवाद! – iBrAaAa

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