Tekstvectors verkennen, deel 1
Laten we voortbouwen op de methode om tekstvectors te verkennen die je zojuist hebt geleerd, met de tf/idf-vectors van title uit de volunteer-gegevensset. In dit eerste deel van het verkennen van tekstvectors breiden we de functie uit die we in de dia's hebben gezien. We laten de functie een lijst met getallen teruggeven. In de volgende oefening schrijven we een andere functie om de topwoorden over alle documenten te verzamelen, ze eruit te halen en vervolgens die lijst te gebruiken om onze text_tfidf-vector te filteren.
Deze oefening maakt deel uit van de cursus
Preprocessing voor Machine Learning in Python
Oefeninstructies
- Voeg parameters toe met de namen
original_vocab(voortfidf_vec.vocabulary_) entop_n. - Roep
pd.Series()aan op de gezipte dictionary. Dit maakt verdere bewerking eenvoudiger. - Gebruik de functie
.sort_values()om de Series te sorteren en slice vervolgens de index tot en mettop_nwoorden. - Roep de functie aan met
original_vocab=tfidf_vec.vocabulary_, stelvector_index=8in om de 9e rij te pakken, en steltop_n=3in om de top 3 gewogen woorden op te halen.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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, ____, ____))