CommencerCommencer gratuitement

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

Afficher le cours

Instructions

  • Appelez return_weights() pour obtenir les mots les mieux pondérés pour ce document.
  • Appelez set() sur filter_list retournée pour supprimer les doublons.
  • Appelez words_to_filter, en passant les paramètres suivants : vocab pour le paramètre vocab, tfidf_vec.vocabulary_ pour le paramètre original_vocab, text_tfidf pour le paramètre vector, et 3 pour récupérer les top_n 3 mots les mieux pondérés de chaque document.
  • Enfin, passez cet ensemble filtered_words dans 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(____)]
Modifier et exécuter le code