IniziaInizia gratis

Caricare dati spam e non-spam

La Logistic Regression è un metodo molto usato per prevedere una risposta categorica. Una delle applicazioni più comuni è la classificazione dei messaggi o delle email come spam. In questo esercizio in 3 parti, creerai un classificatore di spam per email con la logistic regression usando Spark MLlib. Ecco i passaggi principali per creare un classificatore di spam.

  • Crea un RDD di stringhe che rappresentano le email.
  • Esegui gli algoritmi di estrazione delle caratteristiche di MLlib per convertire il testo in un RDD di vettori.
  • Esegui un algoritmo di classificazione sull'RDD di vettori per ottenere un oggetto modello con cui classificare nuovi punti.
  • Valuta il modello su un insieme di dati di test usando una delle funzioni di valutazione di MLlib.

Nella prima parte dell'esercizio, caricherai i file 'spam' e 'ham' (non-spam) in RDD, suddividerai le email in singole parole e osserverai il primo elemento di ciascun RDD.

Ricorda: hai uno SparkContext sc disponibile nel tuo workspace. Inoltre, le variabili file_path_spam (che è il percorso del file 'spam') e file_path_non_spam (che è il percorso del file 'non-spam') sono già disponibili nel tuo workspace.

Questo esercizio fa parte del corso

Fondamenti di Big Data con PySpark

Visualizza il corso

Istruzioni dell'esercizio

  • Crea due RDD, uno per 'spam' e uno per 'non-spam (ham)'.
  • Suddividi ciascuna email negli RDD 'spam' e 'non-spam' in parole.
  • Stampa il primo elemento negli RDD suddivisi sia per 'spam' sia per 'non-spam'.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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", ____.____())
Modifica ed esegui il codice