Palavras irrelevantes e hash
Os próximos passos vão ser tirar stopwords e, em seguida, aplicar o truque de hash, convertendo os resultados em TF-IDF.
Um lembrete rápido sobre esses conceitos:
- O truque do hash é uma maneira rápida e eficiente de mapear um conjunto enorme (talvez infinito) de itens (nesse caso, todas as palavras das mensagens SMS) para um número menor e finito de valores.
- A matriz TF-IDF mostra o quanto uma palavra é importante para cada documento. Leva em conta tanto a frequência da palavra em cada documento quanto a frequência da palavra em todos os documentos da coleção.
Os dados SMS tokenizados são guardados em sms
numa coluna chamada words
. Você limpou o tratamento dos espaços nos dados para que o texto tokenizado ficasse mais organizado.
Este exercício faz parte do curso
Machine Learning com PySpark
Instruções do exercício
- Importa as classes
StopWordsRemover
,HashingTF
eIDF
. - Crie um objeto "
StopWordsRemover
" (coluna de entrada "words
", coluna de saída "terms
"). Inscreva-se emsms
. - Crie um objeto “
HashingTF
” (resultados de entrada da etapa anterior, coluna de saída “hash
”). Inscreva-se emwrangled
. - Crie um objeto "
IDF
" (resultados de entrada da etapa anterior, coluna de saída "features
"). Inscreva-se emwrangled
.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
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)