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
Instrucciones del ejercicio
- Importa las clases
StopWordsRemover
,HashingTF
yIDF
. - Crea un objeto «
StopWordsRemover
» (columna de entrada «words
», columna de salida «terms
»). Envía tu solicitud asms
. - Crea un objeto «
HashingTF
» (introducir los resultados del paso anterior, columna de salida «hash
»). Envía tu solicitud awrangled
. - Crea un objeto «
IDF
» (resultados de entrada del paso anterior, columna de salida «features
»). Envía tu solicitud awrangled
.
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)