Zacznij terazZacznij za darmo

Wczytywanie danych spam i nie-spam

Regresja logistyczna to popularna metoda przewidywania odpowiedzi kategorialnej. Jednym z jej najczęstszych zastosowań jest klasyfikacja wiadomości e-mail jako spam. W tym trzyczęściowym ćwiczeniu zbudujesz klasyfikator spamu przy użyciu regresji logistycznej i Spark MLlib. Oto krótki przegląd kroków:

  • Utwórz RDD ciągów znaków reprezentujących wiadomości e-mail.
  • Zastosuj algorytmy ekstrakcji cech z MLlib, aby przekształcić tekst w RDD wektorów.
  • Wywołaj algorytm klasyfikacji na RDD wektorów, aby uzyskać obiekt modelu do klasyfikacji nowych punktów.
  • Oceń model na zbiorze testowym, korzystając z jednej z funkcji ewaluacyjnych MLlib.

W pierwszej części ćwiczenia wczytasz pliki ze spamem i z wiadomościami „ham" (nie-spam) do RDD, podzielisz wiadomości na poszczególne słowa i sprawdzisz pierwszy element każdego z RDD.

Pamiętaj, że w swoim środowisku masz dostępny SparkContext sc. Dostępne są też zmienne: file_path_spam (ścieżka do pliku ze spamem) oraz file_path_non_spam (ścieżka do pliku z wiadomościami nie-spam).

To ćwiczenie jest częścią kursu

Podstawy Big Data z PySpark

Zobacz kurs

Instrukcje do ćwiczenia

  • Utwórz dwa RDD – jedno dla wiadomości „spam" i jedno dla „nie-spam (ham)".
  • Podziel każdą wiadomość w RDD „spam" i „nie-spam" na słowa.
  • Wyświetl pierwszy element w podzielonym RDD dla „spam" i „nie-spam".

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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", ____.____())
Edytuj i uruchom kod