Začněte nyníZačněte zdarma

Pipeline pro detekci SMS spamu

SMS data jsi naposledy viděl/a před delší dobou. Tehdy jsme provedli tyto kroky:

  • rozdělení textu na tokeny
  • odstranění stop slov
  • aplikace hashovacího triku
  • převod dat z počtů na IDF
  • trénování modelu logistické regrese.

Každý z těchto kroků probíhal samostatně – a to přímo vybízí k použití pipeline!

Třídy Pipeline a LogisticRegression jsou v session už naimportované, takže se o to nemusíš starat.

Toto cvičení je součástí kurzu

Machine Learning with PySpark

Zobrazit kurz

Pokyny k cvičení

  • Vytvoř objekt pro rozdělení textu na tokeny.
  • Vytvoř objekt pro odstranění stop slov. Místo explicitního zadání názvu vstupního sloupce použij metodu getOutputCol() na předchozím objektu.
  • Vytvoř objekty pro aplikaci hashovacího triku a transformaci dat do podoby TF-IDF. Opět použij metodu getOutputCol().
  • Vytvoř pipeline, která zabalí všechny výše uvedené kroky i objekt pro trénování modelu logistické regrese.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

from pyspark.ml.feature import Tokenizer, StopWordsRemover, HashingTF, IDF

# Break text into tokens at non-word characters
tokenizer = ____(inputCol='text', outputCol='words')

# Remove stop words
remover = ____(inputCol=____, outputCol='terms')

# Apply the hashing trick and transform to TF-IDF
hasher = ____(inputCol=____, outputCol="hash")
idf = ____(inputCol=____, outputCol="features")

# Create a logistic regression object and add everything to a pipeline
logistic = LogisticRegression()
pipeline = Pipeline(stages=[____, ____, ____, ____, logistic])
Upravit a spustit kód