Kom igångKom igång gratis

Skiljetecken, siffror och tokens

I slutet av föregående kapitel laddade du en datamängd med SMS-meddelanden som märkts som antingen "spam" (etikett 1) eller "ham" (etikett 0). Nu ska du använda dessa data för att bygga en klassificeringsmodell.

Först behöver du förbereda SMS-meddelandena på följande sätt:

  • ta bort skiljetecken och siffror
  • tokenisera (dela upp i enskilda ord)
  • ta bort stoppord
  • tillämpa hashing-tricket
  • konvertera till TF-IDF-representation.

I den här övningen tar du bort skiljetecken och siffror, och tokeniserar sedan meddelandena.

SMS-data finns tillgängliga som sms.

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

Maskininlärning med PySpark

Visa kurs

Övningsinstruktioner

  • Importera funktionen för att ersätta reguljära uttryck och särdragsfunktionen för tokenisering.
  • Ersätt alla skiljetecken i kolumnen text med ett blanksteg. Gör samma sak för alla siffror i kolumnen text.
  • Dela upp kolumnen text i tokens. Ge utdatakolumnen namnet words.

Interaktiv övning med praktiskt arbete

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

# Import the necessary functions
from pyspark.sql.functions import ____
from pyspark.ml.feature import ____

# Remove punctuation (REGEX provided) and numbers
wrangled = sms.withColumn('text', ____(sms.text, '[_():;,.!?\\-]', ____))
wrangled = wrangled.withColumn(____, ____(____, ____, ____))

# Merge multiple spaces
wrangled = wrangled.withColumn('text', regexp_replace(wrangled.text, ' +', ' '))

# Split the text into words
wrangled = ____(inputCol='text', outputCol=____).____(wrangled)

wrangled.show(4, truncate=False)
Redigera och kör kod