7

मैं TfidfVectorizer implementation के बारे में पढ़ रहा था की scikit-जानने के लिए, मैं नहीं है विधि के उत्पादन में उसका, समझ में उदाहरण के लिए,:scikit-tfidfVectorizer का अर्थ है?

new_docs = ['He watches basketball and baseball', 'Julie likes to play basketball', 'Jane loves to play baseball'] 
new_term_freq_matrix = tfidf_vectorizer.transform(new_docs) 
print tfidf_vectorizer.vocabulary_ 
print new_term_freq_matrix.todense() 

उत्पादन:

{u'me': 8, u'basketball': 1, u'julie': 4, u'baseball': 0, u'likes': 5, u'loves': 7, u'jane': 3, u'linda': 6, u'more': 9, u'than': 10, u'he': 2} 
[[ 0.57735027 0.57735027 0.57735027 0.   0.   0.   0. 
    0.   0.   0.   0.  ] 
[ 0.   0.68091856 0.   0.   0.51785612 0.51785612 
    0.   0.   0.   0.   0.  ] 
[ 0.62276601 0.   0.   0.62276601 0.   0.   0. 
    0.4736296 0.   0.   0.  ]] 

क्या है (उदाहरण के लिए: u'me ': 8):

{u'me': 8, u'basketball': 1, u'julie': 4, u'baseball': 0, u'likes': 5, u'loves': 7, u'jane': 3, u'linda': 6, u'more': 9, u'than': 10, u'he': 2} 

इस एक मैट्रिक्स है या सिर्फ एक वेक्टर ?, मैं नहीं कर सकते उसका, समझते हैं मुझे उत्पादन कह:

[[ 0.57735027 0.57735027 0.57735027 0.   0.   0.   0. 
    0.   0.   0.   0.  ] 
[ 0.   0.68091856 0.   0.   0.51785612 0.51785612 
    0.   0.   0.   0.   0.  ] 
[ 0.62276601 0.   0.   0.62276601 0.   0.   0. 
    0.4736296 0.   0.   0.  ]] 

क्या कोई मुझे इन आउटपुट में अधिक विस्तार से समझा सकता है?

धन्यवाद!

उत्तर

7

TfidfVectorizer - वैक्टर को फ़ीचर में टेक्स्ट ट्रांसफॉर्म करता है जिसे अनुमानक के लिए इनपुट के रूप में उपयोग किया जा सकता है।

vocabulary_ एक शब्दकोश है जो प्रत्येक टोकन (शब्द) को मैट्रिक्स में फ़ीचर इंडेक्स में परिवर्तित करता है, प्रत्येक अद्वितीय टोकन को फीचर इंडेक्स मिलता है।

क्या है? (उदा .: u'me ': 8)

यह आपको बताता है कि टोकन' मैं 'उत्पादन मैट्रिक्स में सुविधा 8 संख्या के रूप में प्रतिनिधित्व किया है।

क्या यह एक मैट्रिक्स या सिर्फ एक वेक्टर है?

प्रत्येक वाक्य एक वेक्टर है, आपके द्वारा दर्ज किए गए वाक्य 3 वैक्टर के साथ मैट्रिक्स हैं। प्रत्येक वेक्टर में संख्याएं (वजन) विशेषताएं टीएफ-आईडीएफ स्कोर का प्रतिनिधित्व करती हैं। उदाहरण के लिए: 'जुली': 4 -> आपको बताता है कि प्रत्येक वाक्य में 'जूली' प्रतीत होता है कि आपके पास शून्य-शून्य (टीएफ-आईडीएफ) वजन होगा। आप 2'nd वेक्टर में देख सकते हैं:

[0. 0,68091856 0. 0. 0,51785612 0,51785612 0. 0. 0. 0. 0.]

5'th तत्व ०.५१७८५६१२ रन बनाए - 'जूली' के लिए टीएफ-आईडीएफ स्कोर। टीएफ-आईडीएफ स्कोरिंग के बारे में अधिक जानकारी के लिए यहां पढ़ें: http://en.wikipedia.org/wiki/Tf%E2%80%93idf

+0

आउटपुट में यू पैरामीटर क्या है? एनाकोंडा/साइकिट के एक नए डाउनलोड का उपयोग करना और यह प्रदर्शित नहीं हो रहा है। क्या यह अब आउटपुट में प्रदर्शित नहीं है? – BluePython

+0

एफवाईआई - यह यूनिकोड या नहीं (जो पाइथन 3 से पहले संस्करणों पर निर्दिष्ट है) के बीच का अंतर है। – BluePython

0

तो टीएफ-आईडीएफ दस्तावेजों के पूरे सेट से अपनी शब्दावली का एक सेट बनाता है। जो आउटपुट की पहली पंक्ति में देखा जाता है। (बेहतर समझ के लिए मैं इसे हल कर दिया है)

{u'baseball': 0, u'basketball': 1, u'he': 2, u'jane': 3, u'julie': 4, u'likes': 5, u'linda': 6, u'loves': 7, u'me': 8, u'more': 9, u'than': 10, } 

और जब दस्तावेज़ अपने tf-आईडीएफ पाने के लिए पार्स किया गया है। दस्तावेज़:

वह बास्केटबॉल और बेसबॉल

और इसके उत्पादन देखता है,

[0,57735027 0,57735027 0,57735027 0. 0. 0. 0. 0. 0. 0. 0।]

, के बराबर है

[बेसबॉल बास्केटबॉल वह जेन जूली पसंद करती है लिंडा मुझ से]

हमारे दस्तावेज़ केवल इन शब्दों के बाद से अधिक प्यार करता है: बेसबॉल, बास्केटबॉल, वह, से शब्दावली बनाई गई। दस्तावेज़ वेक्टर आउटपुट में केवल इन तीन शब्दों और समान क्रमबद्ध शब्दावली स्थिति के लिए टीएफ-आईडीएफ के मान हैं।

टीएफ-आईडीएफ दस्तावेजों को वर्गीकृत करने के लिए प्रयोग किया जाता है, खोज इंजन में रैंकिंग। टीएफ: शब्द आवृत्ति (दस्तावेज़ में अपनी शब्दावली से मौजूद शब्दों की गिनती), आईडीएफ: उलटा दस्तावेज़ आवृत्ति (प्रत्येक दस्तावेज़ में शब्द का महत्व)।

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