ÎncepețiÎncepe gratuit

Stopwords și hashing

Pașii următori constau în eliminarea stopwords și aplicarea tehnicii de hashing, transformând rezultatele într-o matrice TF-IDF.

O scurtă reamintire a acestor concepte:

  • Tehnica de hashing oferă o modalitate rapidă și eficientă din punct de vedere al spațiului pentru a mapa un set foarte mare (posibil infinit) de elemente (în acest caz, toate cuvintele din mesajele SMS) pe un număr mai mic și finit de valori.
  • Matricea TF-IDF reflectă cât de important este un cuvânt pentru fiecare document. Aceasta ține cont atât de frecvența cuvântului în fiecare document, cât și de frecvența acestuia în întreaga colecție de documente.

Datele SMS tokenizate sunt stocate în sms, într-o coloană numită words. Ai curățat deja modul în care sunt gestionate spațiile din date, astfel încât textul tokenizat este mai ordonat.

Acest exercițiu face parte din cursul

Machine Learning cu PySpark

Vezi cursul

Instrucțiuni pentru exercițiu

  • Importă clasele StopWordsRemover, HashingTF și IDF.
  • Creează un obiect StopWordsRemover (coloana de intrare words, coloana de ieșire terms). Aplică-l pe sms.
  • Creează un obiect HashingTF (intrare: rezultatele din pasul anterior, coloana de ieșire hash). Aplică-l pe wrangled.
  • Creează un obiect IDF (intrare: rezultatele din pasul anterior, coloana de ieșire features). Aplică-l pe wrangled.

Exercițiu interactiv practic

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

from pyspark.ml.____ import ____, ____, ____

# Remove stopwords
wrangled = ____(inputCol=____, outputCol=____)\
      .____(sms)

# Apply the hashing trick
wrangled = ____(____, ____, numFeatures=1024)\
      .____(wrangled)

# Convert hashed symbols to TF-IDF
tf_idf = ____(____, ____)\
      .____(wrangled).____(wrangled)
      
tf_idf.select('terms', 'features').show(4, truncate=False)
Editează și rulează codul