ComenzarEmpieza gratis

Canal de spam por SMS

No has consultado los datos SMS desde hace bastante tiempo. La última vez hicimos lo siguiente:

  • dividir el texto en tokens
  • palabras vacías eliminadas
  • aplicaste el truco del hash
  • convertí 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. ¡Parece una aplicación estupenda 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 el texto en tokens.
  • Crea un objeto para eliminar palabras vacías. En lugar de indicar 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 hash y transformar los datos en TF-IDF. Vuelve a utilizar 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