का उपयोग कर मैं स्केलेर्न के TfidfVectorizer ऑब्जेक्ट का उपयोग कर एक दस्तावेज़ के लिए tf-idf वेक्टर प्राप्त करने का प्रयास कर रहा हूं। मैं कुछ प्रशिक्षण दस्तावेजों के आधार पर एक शब्दावली बनाता हूं और TfidfVectorizer को प्रशिक्षित करने के लिए fit_transform का उपयोग करता हूं। फिर, मैं किसी दिए गए परीक्षण दस्तावेज़ के लिए टीएफ-आईडीएफ वैक्टर ढूंढना चाहता हूं।स्केलेर्न के TfidfVectorizer का उपयोग
from sklearn.feature_extraction.text import TfidfVectorizer
self.vocabulary = "a list of words I want to look for in the documents".split()
self.vect = TfidfVectorizer(sublinear_tf=True, max_df=0.5, analyzer='word',
stop_words='english')
self.vect.fit_transform(self.vocabulary)
...
doc = "some string I want to get tf-idf vector for"
tfidf = self.vect.transform(doc)
समस्या यह है कि इस एन पंक्तियों जहां n मेरी डॉक स्ट्रिंग के आकार है के साथ एक मैट्रिक्स रिटर्न है। मैं चाहता हूं कि यह पूरी स्ट्रिंग के लिए टीएफ-आईडीएफ का प्रतिनिधित्व करने वाले केवल एक वेक्टर को वापस कर दे। प्रत्येक चरित्र को दस्तावेज़ होने के बजाय, मैं इसे एक दस्तावेज़ के रूप में स्ट्रिंग को कैसे देख सकता हूं? साथ ही, मैं पाठ खनन के लिए बहुत नया हूं इसलिए यदि मैं कुछ गलत तरीके से गलत कर रहा हूं, तो यह जानना बहुत अच्छा होगा। किसी भी मदद की सराहना की है।
तो fit_transform और ट्रांसफॉर्म के बीच क्या अंतर है? मैंने प्रलेखन पढ़ा है, लेकिन मैं स्पष्ट रूप से समझ में नहीं आता। हम दस्तावेजों की सूची में प्रत्येक शब्द की घटनाओं की गणना करने के लिए fit_transform का उपयोग करते हैं? फिर परिवर्तन ... उन गणनाओं को लेता है और दस्तावेजों की सूची के लिए टीएफ-आईडीएफ वेक्टर की गणना करता है? – Sterling
@ स्टर्लिंग आप tfidf रूपांतरण को प्रशिक्षित करने के लिए 'फिट' या 'fit_transform' (अपडेट देखें) का उपयोग करते हैं, और बिना किसी गणना के लागू करने के लिए' ट्रांसफॉर्म 'लागू करने के लिए – alko