Stopwords e hashing
As próximas etapas serão remover stopwords e, em seguida, aplicar o truque de hashing, convertendo os resultados em um TF-IDF.
Um lembrete rápido sobre esses conceitos:
- O truque de hashing oferece uma maneira rápida e eficiente em termos de espaço para mapear um conjunto muito grande (possivelmente infinito) de itens (neste caso, todas as palavras contidas nas mensagens SMS) em um número menor e finito de valores.
- A matriz TF-IDF reflete a importância de uma palavra em cada documento. Ele 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 de SMS tokenizados são armazenados em sms em uma coluna chamada words. Você limpou o tratamento de espaços nos dados para que o texto tokenizado fique mais limpo.
Este exercício faz parte do curso
Machine learning com PySpark
Instruções do exercício
- Importe as classes
StopWordsRemover,HashingTFeIDF. - Crie um objeto
StopWordsRemover(coluna de entradawords, coluna de saídaterms). Inscreva-se emsms. - Crie um objeto
HashingTF(resultados de entrada da etapa anterior, coluna de saídahash). Inscreva-se emwrangled. - Crie um objeto
IDF(resultados de entrada da etapa anterior, coluna de saídafeatures). 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)