Kom igångKom igång gratis

Stoppord och hashning

Nästa steg är att ta bort stopwords och sedan använda hashningstricket för att omvandla resultaten till en TF-IDF-matris.

En kort påminnelse om dessa begrepp:

  • Hashningstricket ger ett snabbt och utrymmeseffektivt sätt att avbilda en mycket stor (potentiellt oändlig) mängd objekt – i det här fallet alla ord i SMS-meddelandena – på ett mindre, ändligt antal värden.
  • TF-IDF-matrisen återspeglar hur viktig ett ord är för varje dokument. Den tar hänsyn till både hur ofta ordet förekommer i det enskilda dokumentet och hur vanligt det är i hela dokumentsamlingen.

De tokeniserade SMS-data lagras i sms i en kolumn som heter words. Du har städat upp hanteringen av blanksteg i datan så att den tokeniserade texten är snyggare.

Den här övningen är en del av kursen

Maskininlärning med PySpark

Visa kurs

Övningsinstruktioner

  • Importera klasserna StopWordsRemover, HashingTF och IDF.
  • Skapa ett StopWordsRemover-objekt (indatakolumn words, utdatakolumn terms). Applicera det på sms.
  • Skapa ett HashingTF-objekt (indata från föregående steg, utdatakolumn hash). Applicera det på wrangled.
  • Skapa ett IDF-objekt (indata från föregående steg, utdatakolumn features). Applicera det på wrangled.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

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)
Redigera och kör kod