LoslegenKostenlos loslegen

Stoppwörter und Hashing

Als Nächstes werden wir stopwords und dann den Hash-Trick anzuwenden, um die Ergebnisse in TF-IDF umzuwandeln.

Hier noch mal kurz die wichtigsten Punkte:

  • Der Hash-Trick ist eine schnelle und platzsparende Methode, um eine riesige (vielleicht sogar unendliche) Menge von Elementen (in diesem Fall alle Wörter in den SMS-Nachrichten) auf eine kleinere, endliche Anzahl von Werten abzubilden.
  • Die TF-IDF-Matrix zeigt, wie wichtig ein Wort für jedes Dokument ist. Dabei wird nicht nur berücksichtigt, wie oft ein Wort in einem Dokument vorkommt, sondern auch, wie oft es in allen Dokumenten der Sammlung auftaucht.

Die tokenisierten SMS-Daten werden in „ sms ” in einer Spalte namens „ words ” gespeichert. Du hast die Leerzeichen in den Daten bereinigt, sodass der tokenisierte Text jetzt übersichtlicher ist.

Diese Übung ist Teil des Kurses

Maschinelles Lernen mit PySpark

Kurs anzeigen

Anleitung zur Übung

  • Importiere die Klassen „ StopWordsRemover “, „ HashingTF “ und „ IDF “.
  • Erstell ein „ StopWordsRemover “-Objekt (Eingabespalte „ words “, Ausgabespalte „ terms “). Bewirb dich bei sms.
  • Erstell ein „ HashingTF “-Objekt (Eingabeergebnisse aus dem vorherigen Schritt, Ausgabespalten hash). Bewirb dich bei wrangled.
  • Erstell ein „ IDF “-Objekt (gib die Ergebnisse vom letzten Schritt rein, gib die Spalten features, aus). Bewirb dich bei wrangled.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

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)
Code bearbeiten und ausführen