CommencerCommencer gratuitement

Explorer les vecteurs de texte, partie 1

Développons la méthode d’exploration des vecteurs de texte que nous venons d’apprendre, en utilisant les vecteurs tf/idf de title du jeu de données volunteer. Dans cette première partie, nous allons enrichir la fonction vue dans les diapos. La fonction renverra une liste de nombres. Dans l’exercice suivant, nous écrirons une autre fonction pour rassembler les mots les plus fréquents sur l’ensemble des documents, les extraire, puis utiliser cette liste pour filtrer notre vecteur text_tfidf.

Cet exercice fait partie du cours

Prétraitement pour le Machine Learning en Python

Afficher le cours

Instructions

  • Ajoutez des paramètres appelés original_vocab, pour tfidf_vec.vocabulary_, et top_n.
  • Appelez pd.Series() sur le dictionnaire zippé. Cela facilitera les opérations.
  • Utilisez la fonction .sort_values() pour trier la série et découper l’index jusqu’aux top_n mots.
  • Appelez la fonction en définissant original_vocab=tfidf_vec.vocabulary_, vector_index=8 pour récupérer la 9e ligne, et top_n=3 pour récupérer les 3 mots les mieux pondérés.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# Add in the rest of the arguments
def return_weights(vocab, ____, vector, vector_index, ____):
    zipped = dict(zip(vector[vector_index].indices, vector[vector_index].data))
    
    # Transform that zipped dict into a series
    zipped_series = ____({vocab[i]:zipped[i] for i in vector[vector_index].indices})
    
    # Sort the series to pull out the top n weighted words
    zipped_index = zipped_series.____(ascending=False)[:____].index
    return [original_vocab[i] for i in zipped_index]

# Print out the weighted words
print(return_weights(vocab, ____, text_tfidf, ____, ____))
Modifier et exécuter le code