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 dans le vecteur de texte, renvoyer une liste des indices de mots, puis utiliser cette liste pour filtrer le vecteur de texte afin de ne garder que ces mots clés.
Cet exercice fait partie du cours
Prétraitement pour le Machine Learning en Python
Instructions
- Appelez
return_weights()pour obtenir les mots les mieux pondérés pour ce document. - Appelez
set()surfilter_listretournée pour supprimer les doublons. - Appelez
words_to_filter, en 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 lestop_n3 mots les 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 cet exemple de code.
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(____)]