स्पैम और नॉन-स्पैम डेटा लोड करना
लॉजिस्टिक रिग्रेशन एक लोकप्रिय तरीका है जिससे कैटेगोरिकल रिस्पॉन्स की भविष्यवाणी की जाती है। लॉजिस्टिक रिग्रेशन के सबसे आम उपयोगों में से एक मैसेज या ईमेल स्पैम क्लासिफिकेशन है। इस 3-भाग वाले अभ्यास में, आप Spark MLlib के साथ लॉजिस्टिक रिग्रेशन का उपयोग करके एक ईमेल स्पैम क्लासिफायर बनाएँगे। स्पैम क्लासिफायर बनाने के संक्षिप्त स्टेप्स नीचे दिए गए हैं।
- ईमेल को दर्शाने वाले स्ट्रिंग्स का एक RDD बनाएँ।
- टेक्स्ट को वेक्टर में बदलने के लिए MLlib की फीचर एक्सट्रैक्शन एल्गोरिदम चलाएँ, ताकि एक RDD of vectors मिल सके।
- नए पॉइंट्स को क्लासिफाई करने के लिए वेक्टर्स के RDD पर किसी क्लासिफिकेशन एल्गोरिदम को कॉल करें और एक मॉडल ऑब्जेक्ट प्राप्त करें।
- MLlib की किसी इवैल्यूएशन फंक्शन का उपयोग करके टेस्ट डेटासेट पर मॉडल का मूल्यांकन करें।
अभ्यास के पहले भाग में, आप 'spam' और 'ham' (नॉन-स्पैम) फाइलों को RDDs में लोड करेंगे, ईमेल्स को अलग-अलग शब्दों में स्प्लिट करेंगे, और प्रत्येक RDD के पहले एलिमेंट को देखेंगे।
ध्यान रखें, आपके वर्कस्पेस में SparkContext sc उपलब्ध है। साथ ही file_path_spam वैरिएबल ('spam' फाइल का पाथ) और file_path_non_spam ('non-spam' फाइल का पाथ) भी आपके वर्कस्पेस में पहले से उपलब्ध हैं।
यह अभ्यास पाठ्यक्रम का हिस्सा है
PySpark के साथ Big Data Fundamentals
अभ्यास निर्देश
- दो RDDs बनाएँ, एक 'spam' के लिए और एक 'non-spam (ham)' के लिए।
- 'spam' और 'non-spam' RDDs में प्रत्येक ईमेल को शब्दों में स्प्लिट करें।
- स्प्लिट किए गए दोनों 'spam' और 'non-spam' RDDs के पहले एलिमेंट को प्रिंट करें।
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# Load the datasets into RDDs
spam_rdd = sc.____(file_path_spam)
non_spam_rdd = sc.____(file_path_non_spam)
# Split the email messages into words
spam_words = spam_rdd.____(lambda email: email.split(' '))
non_spam_words = non_spam_rdd.____(lambda email: ____.____(' '))
# Print the first element in the split RDD
print("The first element in spam_words is", spam_words.____())
print("The first element in non_spam_words is", ____.____())