Stopwords और hashing
अगला चरण stopwords हटाना है और फिर hashing ट्रिक लागू करना है, ताकि नतीजों को TF-IDF में बदला जा सके.
इन कॉन्सेप्ट्स का एक त्वरित रिमाइंडर:
- Hashing ट्रिक बहुत बड़े (संभवतः अनंत) आइटम सेट को (यहाँ, SMS संदेशों के सभी शब्द) छोटे, सीमित मानों की संख्या पर मैप करने का तेज और स्पेस-कुशल तरीका देती है.
- TF-IDF मैट्रिक्स दिखाती है कि हर डॉक्यूमेंट के लिए कोई शब्द कितना महत्वपूर्ण है. यह प्रत्येक डॉक्यूमेंट के भीतर उस शब्द की फ़्रीक्वेंसी के साथ-साथ कलेक्शन के सभी डॉक्यूमेंट्स में उस शब्द की फ़्रीक्वेंसी — दोनों को ध्यान में रखती है.
टोकनाइज़ किया हुआ SMS डेटा sms में words नाम के कॉलम में स्टोर है. आपने डेटा में स्पेस हैंडलिंग को क्लीन कर दिया है ताकि टोकनाइज़्ड टेक्स्ट और व्यवस्थित हो जाए.
यह अभ्यास पाठ्यक्रम का हिस्सा है
PySpark के साथ Machine Learning
अभ्यास निर्देश
StopWordsRemover,HashingTFऔरIDFclasses इम्पोर्ट करें.- एक
StopWordsRemoverऑब्जेक्ट बनाएँ (इनपुट कॉलमwords, आउटपुट कॉलमterms). इसेsmsपर अप्लाई करें. - एक
HashingTFऑब्जेक्ट बनाएँ (पिछले स्टेप के नतीजे इनपुट, आउटपुट कॉलमhash). इसेwrangledपर अप्लाई करें. - एक
IDFऑब्जेक्ट बनाएँ (पिछले स्टेप के नतीजे इनपुट, आउटपुट कॉलमfeatures). इसेwrangledपर अप्लाई करें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
from pyspark.ml.____ import ____, ____, ____
# Remove stopwords
wrangled = ____(inputCol=____, outputCol=____)\
.____(sms)
# Apply the hashing trick
wrangled = ____(____, ____, numFeatures=1024)\
.____(wrangled)
# Convert hashed symbols to TF-IDF
tf_idf = ____(____, ____)\
.____(wrangled).____(wrangled)
tf_idf.select('terms', 'features').show(4, truncate=False)