Utforska textvektorer, del 1
Nu ska vi bygga vidare på den metod för att utforska textvektorer som vi nyss gick igenom, och använda tf/idf-vektorerna från kolumnen title i datamängden volunteer. I den här första delen lägger vi till funktionalitet i den funktion vi såg på bilderna. Funktionen kommer att returnera en lista med tal. I nästa övning skriver vi en annan funktion som samlar ihop de vanligaste orden från alla dokument, extraherar dem och sedan använder listan för att filtrera vektorn text_tfidf.
Den här övningen är en del av kursen
Förbehandling för maskininlärning i Python
Övningsinstruktioner
- Lägg till parametrarna
original_vocab, förtfidf_vec.vocabulary_, ochtop_n. - Anropa
pd.Series()på det zippade direkt. Det gör det enklare att arbeta med. - Använd funktionen
.sort_values()för att sortera serien och skiva indexet upp tilltop_nord. - Anropa funktionen med
original_vocab=tfidf_vec.vocabulary_,vector_index=8för att hämta den nionde raden, ochtop_n=3för att hämta de 3 ord med högst vikt.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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, ____, ____))