Kom igångKom igång gratis

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

Visa kurs

Övningsinstruktioner

  • Lägg till parametrarna original_vocab, för tfidf_vec.vocabulary_, och top_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 till top_n ord.
  • Anropa funktionen med original_vocab=tfidf_vec.vocabulary_, vector_index=8 för att hämta den nionde raden, och top_n=3 fö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, ____, ____))
Redigera och kör kod