ComeçarComece de graça

Pipeline de spam de SMS

Você não tem analisado os dados de SMS há um bom tempo. Na última vez, fizemos o seguinte:

  • dividir o texto em tokens
  • palavras de parada removidas
  • aplicou o truque de hash
  • 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

Machine learning com PySpark

Ver curso

Instruções do 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 hashing 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 completando 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 o código