Načítání spamových a nespamových dat
Logistická regrese je oblíbená metoda pro předpovídání kategoriálních odpovědí. Jednou z jejích nejběžnějších aplikací je klasifikace spamu ve zprávách nebo e-mailech. V tomto třídílném cvičení vytvoříš klasifikátor e-mailového spamu pomocí logistické regrese a Spark MLlib. Tady jsou stručné kroky pro jeho vytvoření.
- Vytvoř RDD řetězců reprezentujících e-maily.
- Spusť algoritmy pro extrakci příznaků z MLlib, které převedou text na RDD vektorů.
- Zavolej klasifikační algoritmus na RDD vektorů a získej model pro klasifikaci nových dat.
- Vyhodnoť model na testovací sadě pomocí některé z evaluačních funkcí MLlib.
V první části cvičení načteš soubory se spamem a s „hamem" (nespamem) do RDD, rozdělíš e-maily na jednotlivá slova a podíváš se na první prvek každého RDD.
Nezapomeň, že ve svém pracovním prostředí máš k dispozici SparkContext sc. Proměnná file_path_spam (cesta k souboru se spamem) i file_path_non_spam (cesta k souboru s nespamem) jsou také již k dispozici.
Toto cvičení je součástí kurzu
Big Data Fundamentals with PySpark
Pokyny k cvičení
- Vytvoř dvě RDD – jedno pro spam a jedno pro nespam (ham).
- Rozděl každý e-mail v RDD spamu i nespamu na jednotlivá slova.
- Vypiš první prvek z rozděleného RDD pro spam i nespam.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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", ____.____())