ComenzarEmpieza gratis

Canalización de spam SMS

Hace tiempo que no miras los datos de los SMS. La última vez hicimos lo siguiente

  • divide el texto en tokens
  • eliminar palabras vacías
  • aplicó el truco del hashing
  • convirtió los datos de recuentos a IDF y
  • entrenó un modelo de regresión logística.

Cada uno de estos pasos se realizó de forma independiente. ¡Esto parece una gran aplicación para una tubería!

Las clases Pipeline y LogisticRegression ya se han importado a la sesión, ¡así que no tienes que preocuparte por eso!

Este ejercicio forma parte del curso

Machine learning con PySpark

Ver curso

Instrucciones del ejercicio

  • Crea un objeto para dividir texto en tokens.
  • Crea un objeto para eliminar las palabras vacías. En lugar de dar explícitamente el nombre de la columna de entrada, utiliza el método getOutputCol() en el objeto anterior.
  • Crea objetos para aplicar el truco de hashing y transformar los datos en un TF-IDF. Utiliza de nuevo el método getOutputCol().
  • Crea una canalización que englobe todos los pasos anteriores, así como un objeto para crear un modelo de Regresión Logística.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

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 y ejecutar código