Explorer les vecteurs de texte, partie 2
En utilisant la fonction return_weights() que vous avez écrite dans l'exercice précédent, vous allez maintenant extraire les mots les plus importants de chaque document du vecteur de texte, retourner une liste des indices de mots, puis utiliser cette liste pour ne conserver que ces mots clés dans le vecteur de texte.
Cette activité fait partie du cours
Prétraitement pour le Machine Learning en Python
Instructions de l’exercice
- Appelez
return_weights()pour obtenir les mots les mieux pondérés de ce document. - Appelez
set()sur lefilter_listretourné pour enlever les doublons. - Appelez
words_to_filteren passant les paramètres suivants :vocabpour le paramètrevocab,tfidf_vec.vocabulary_pour le paramètreoriginal_vocab,text_tfidfpour le paramètrevector, et3pour récupérer les 3 motstop_nles mieux pondérés de chaque document. - Enfin, passez cet ensemble
filtered_wordsdans une liste à utiliser comme filtre pour le vecteur de texte.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
def words_to_filter(vocab, original_vocab, vector, top_n):
filter_list = []
for i in range(0, vector.shape[0]):
# Call the return_weights function and extend filter_list
filtered = ____(vocab, original_vocab, vector, i, top_n)
filter_list.extend(filtered)
# Return the list in a set, so we don't get duplicate word indices
return ____(filter_list)
# Call the function to get the list of word indices
filtered_words = ____(____, ____, ____, ____)
# Filter the columns in text_tfidf to only those in filtered_words
filtered_text = text_tfidf[:, list(____)]