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 de 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

Pruebe este ejercicio completando este 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