ComeçarComece de graça

Canal de spam por SMS

Você não dá uma olhada nos dados SMS há um tempinho. Da última vez, fizemos o seguinte:

  • dividir o texto em tokens
  • palavras irrelevantes removidas
  • aplicou o truque do hash
  • converti os dados de contagens para IDF e
  • treinou um modelo de regressão logística.

Cada uma dessas etapas foi feita de forma independente. Parece uma ótima aplicação para um pipeline!

As classes Pipeline e LogisticRegression já foram importadas para a sessão, então 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

  • Cria um objeto pra dividir o texto em tokens.
  • Crie um objeto para remover palavras irrelevantes. Em vez de colocar 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 TF-IDF. Use o método getOutputCol() de novo.
  • Crie um pipeline que inclua todas as etapas acima, além de 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