Mots vides et hachage
Les prochaines étapes consistent à retirer les stopwords puis à appliquer l'astuce de hachage, pour convertir les résultats en TF‑IDF.
Petit rappel sur ces concepts :
- L'astuce de hachage offre une façon rapide et économe en mémoire d'associer un très grand ensemble d'éléments (possiblement infini) — ici, tous les mots contenus dans les messages SMS — à un nombre plus restreint et fini de valeurs.
- La matrice TF‑IDF reflète l'importance d'un mot pour chaque document. Elle tient compte à la fois de la fréquence du mot à l'intérieur de chaque document et de sa fréquence à travers l'ensemble des documents de la collection.
Les données SMS tokenisées sont stockées dans sms dans une colonne nommée words. Vous avez nettoyé la gestion des espaces dans les données afin que le texte tokenisé soit plus propre.
Cette activité fait partie du cours
Machine Learning avec PySpark
Instructions de l’exercice
- Importez les classes
StopWordsRemover,HashingTFetIDF. - Créez un objet
StopWordsRemover(colonne d'entréewords, colonne de sortieterms). Appliquez-le àsms. - Créez un objet
HashingTF(prend en entrée les résultats de l'étape précédente, colonne de sortiehash). Appliquez-le àwrangled. - Créez un objet
IDF(prend en entrée les résultats de l'étape précédente, colonne de sortiefeatures). Appliquez-le àwrangled.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
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)