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
Instrucciones de ejercicio
- Importa las clases
StopWordsRemover
,HashingTF
yIDF
. - Crea un objeto
StopWordsRemover
(columna de entradawords
, columna de salidaterms
). Inscríbete ensms
. - Crea un objeto
HashingTF
(resultados de entrada del paso anterior, columna de salidahash
). Inscríbete enwrangled
. - Crea un objeto
IDF
(resultados de entrada del paso anterior, columna de salidafeatures
). Inscríbete enwrangled
.
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)