ÎncepețiÎncepe gratuit

Feature hashing și LabeledPoint

După ce am împărțit emailurile în cuvinte, seturile noastre de date brute — „spam" și „non-spam" — conțin mesaje de câte o linie. Pentru a clasifica aceste mesaje, trebuie să convertim textul în caracteristici.

În a doua parte a exercițiului, vei crea mai întâi o instanță HashingTF() pentru a mapa textul în vectori de 200 de caracteristici. Apoi, pentru fiecare mesaj din fișierele „spam" și „non-spam", vei împărți textul în cuvinte și vei mapa fiecare cuvânt la o caracteristică. Acestea sunt caracteristicile care vor fi folosite pentru a decide dacă un mesaj este „spam" sau „non-spam". Vei crea apoi etichete pentru caracteristici: 0 pentru un mesaj valid (adică nu este spam) și 1 pentru un mesaj spam. În final, vei combina ambele seturi de date etichetate.

Amintește-ți că ai un SparkContext sc disponibil în spațiul de lucru. De asemenea, variabilele spam_words și non_spam_words sunt deja disponibile în spațiul de lucru.

Acest exercițiu face parte din cursul

Fundamentele Big Data cu PySpark

Vezi cursul

Instrucțiuni pentru exercițiu

  • Creează o instanță HashingTF() pentru a mapa textul emailurilor în vectori de 200 de caracteristici.
  • Fiecare mesaj din seturile de date „spam" și „non-spam" este împărțit în cuvinte, iar fiecare cuvânt este mapat la o caracteristică.
  • Etichetează caracteristicile: 1 pentru spam, 0 pentru non-spam.
  • Combină eșantioanele spam și non-spam într-un singur set de date.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# Create a HashingTF instance with 200 features
tf = ____(numFeatures=200)

# Map each word to one feature
spam_features = tf.____(spam_words)
non_spam_features = tf.____(____)

# Label the features: 1 for spam, 0 for non-spam
spam_samples = spam_features.map(lambda features:LabeledPoint(____, features))
non_spam_samples = non_spam_features.map(lambda features:_____(____, features))

# Combine the two datasets
samples = spam_samples.____(non_spam_samples)
Editează și rulează codul