ComeçarComece gratuitamente

SMS pipeline de spam

Você não tem consultado os dados do SMS há algum tempo. Na última vez, fizemos o seguinte:

  • dividir o texto em tokens
  • palavras de parada removidas
  • aplicou o truque de hashing
  • converteu os dados de contagens para IDF e
  • treinou um modelo de regressão logística.

Cada uma dessas etapas foi realizada de forma independente. Esse parece ser um ótimo aplicativo para um pipeline!

As classes Pipeline e LogisticRegression já foram importadas para a sessão, portanto, você não precisa se preocupar com isso!

Este exercício faz parte do curso

Aprendizado de máquina com PySpark

Ver Curso

Instruções de exercício

  • Crie um objeto para dividir o texto em tokens.
  • Crie um objeto para remover palavras de parada. Em vez de fornecer explicitamente o nome da coluna de entrada, use o método getOutputCol() no objeto anterior.
  • Crie objetos para aplicar o truque de hash e transformar os dados em um TF-IDF. Use o método getOutputCol() novamente.
  • Crie um pipeline que envolva todas as etapas acima, bem como um objeto para criar um modelo de regressão logística.

Exercício interativo prático

Experimente este exercício preenchendo este código de exemplo.

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])
Editar e executar código