ComenzarEmpieza gratis

Detener palabras y hashing

Los siguientes pasos consistirán en eliminar las palabras vacías y, a continuación, aplicar el truco del hashing, convirtiendo los resultados en un TF-IDF.

Un recordatorio rápido sobre estos conceptos:

  • El truco del hashing proporciona una forma rápida y eficiente en términos de espacio de mapear un conjunto muy grande (posiblemente infinito) de elementos (en este caso, todas las palabras contenidas en los mensajes SMS) en 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 llamada words. Has limpiado el tratamiento 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 de ejercicio

  • Importa las clases StopWordsRemover, HashingTF y IDF.
  • Crea un objeto StopWordsRemover (columna de entrada words, columna de salida terms). Inscríbete en sms.
  • Crea un objeto HashingTF (resultados de entrada del paso anterior, columna de salida hash). Inscríbete en wrangled.
  • Crea un objeto IDF (resultados de entrada del paso anterior, columna de salida features). Inscríbete en wrangled.

Ejercicio interactivo práctico

Pruebe este ejercicio completando este código de muestra.

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

# Remove stop words.
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