ComenzarEmpieza gratis

Palabras vacías y hash

Los siguientes pasos serán eliminar stopwords y, a continuación, aplicar el truco del hash, convirtiendo los resultados en un TF-IDF.

Un breve recordatorio sobre estos conceptos:

  • El truco del hash proporciona una forma rápida y eficiente en cuanto al espacio de asignar un conjunto muy grande (posiblemente infinito) de elementos (en este caso, todas las palabras contenidas en los mensajes SMS) a un número más pequeño y finito de valores.
  • La matriz TF-IDF refleja la importancia de una palabra en cada documento. Tiene en cuenta tanto la frecuencia de la palabra dentro de cada documento como la frecuencia de la palabra en todos los documentos de la colección.

Los datos SMS tokenizados se almacenan en sms en una columna denominada words. Has limpiado el manejo de los espacios en los datos para que el texto tokenizado quede más ordenado.

Este ejercicio forma parte del curso

Machine learning con PySpark

Ver curso

Instrucciones del ejercicio

  • Importa las clases StopWordsRemover, HashingTF y IDF.
  • Crea un objeto « StopWordsRemover » (columna de entrada « words », columna de salida « terms »). Envía tu solicitud a sms.
  • Crea un objeto « HashingTF » (introducir los resultados del paso anterior, columna de salida « hash »). Envía tu solicitud a wrangled.
  • Crea un objeto « IDF » (resultados de entrada del paso anterior, columna de salida « features »). Envía tu solicitud a wrangled.

Ejercicio interactivo práctico

Prueba este ejercicio completando el código de muestra.

from pyspark.ml.____ import ____, ____, ____

# Remove stopwords
wrangled = ____(inputCol=____, outputCol=____)\
      .____(sms)

# Apply the hashing trick
wrangled = ____(____, ____, numFeatures=1024)\
      .____(wrangled)

# Convert hashed symbols to TF-IDF
tf_idf = ____(____, ____)\
      .____(wrangled).____(wrangled)
      
tf_idf.select('terms', 'features').show(4, truncate=False)
Editar y ejecutar código