लंबे n-grams का उपयोग
अभी तक आपने हर टेक्स्ट में अलग-अलग शब्दों के आधार पर फीचर्स बनाए हैं। मशीन लर्निंग मॉडल में यह काफ़ी शक्तिशाली हो सकता है, लेकिन आप चिंतित हो सकते हैं कि शब्दों को अलग-अलग देखने पर काफी संदर्भ छूट रहा है। इसे संभालने के लिए आप n-grams का उपयोग कर सकते हैं, जो n शब्दों के क्रम होते हैं जिन्हें साथ में समूहित किया जाता है। उदाहरण के लिए:
- bigrams: दो लगातार शब्दों के क्रम
- trigrams: तीन लगातार शब्दों के क्रम
इन्हें अपने डेटासेट में ऑटोमैटिकली बनाया जा सकता है यदि आप ngram_range आर्ग्यूमेंट को (n1, n2) ट्यूपल के रूप में निर्दिष्ट करें, जहाँ n1 से n2 रेंज के सभी n-grams शामिल किए जाते हैं.
यह अभ्यास पाठ्यक्रम का हिस्सा है
Python में मशीन लर्निंग के लिए फीचर इंजीनियरिंग
अभ्यास निर्देश
sklearn.feature_extraction.textसेCountVectorizerइम्पोर्ट करें.- केवल trigrams को ध्यान में रखते हुए
CountVectorizerको instantiate करें. - वैक्टोराइज़र को फिट करें और एक ही स्टेप में
text_cleanकॉलम पर अप्लाई करें. - वैक्टोराइज़र द्वारा जनरेट किए गए फीचर नाम प्रिंट करें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# Import CountVectorizer
from sklearn.feature_extraction.text import ____
# Instantiate a trigram vectorizer
cv_trigram_vec = CountVectorizer(max_features=100,
stop_words='english',
____)
# Fit and apply trigram vectorizer
cv_trigram = ____(speech_df['text_clean'])
# Print the trigram features
print(cv_trigram_vec.____)