Spam ve spam olmayan veriyi yükleme
Logistic Regression, kategorik bir yanıtı tahmin etmek için popüler bir yöntemdir. Logistic Regression’ın en yaygın uygulamalarından biri mesaj veya e-posta spam sınıflandırmasıdır. Bu 3 aşamalı egzersizde, Spark MLlib kullanarak Logistic Regression ile bir e-posta spam sınıflandırıcısı oluşturacaksın. Bir spam sınıflandırıcısı oluşturmanın kısa adımları şöyle:
- E-postaları temsil eden string’lerden bir RDD oluştur.
- Metni, MLlib’in özellik çıkarımı algoritmalarını kullanarak vektörlerden oluşan bir RDD’ye dönüştür.
- Yeni noktaları sınıflandırmak için vektör RDD’si üzerinde bir sınıflandırma algoritması çağır ve bir model nesnesi elde et.
- MLlib’in değerlendirme işlevlerinden biriyle modeli bir test veri kümesi üzerinde değerlendir.
Egzersizin ilk kısmında, 'spam' ve 'ham' (spam olmayan) dosyalarını RDD’lere yükleyecek, e-postaları tek tek sözcüklere ayıracak ve her bir RDD’deki ilk elemana bakacaksın.
Unutma, çalışma alanında bir SparkContext sc mevcut. Ayrıca file_path_spam değişkeni ('spam' dosyasının yolu) ve file_path_non_spam ('spam olmayan' dosyanın yolu) da çalışma alanında hazır.
Bu egzersiz
PySpark ile Big Data Temelleri
kursunun bir parçasıdırEgzersiz talimatları
- Biri 'spam', diğeri 'spam olmayan (ham)' için iki RDD oluştur.
- 'spam' ve 'spam olmayan' RDD’lerindeki her e-postayı sözcüklere ayır.
- Hem 'spam' hem de 'spam olmayan' için bölünmüş RDD’nin ilk elemanını yazdır.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# 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", ____.____())