Aan de slagGa gratis aan de slag

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

Cursus bekijken

Oefeninstructies

  • Voeg parameters toe met de namen original_vocab (voor tfidf_vec.vocabulary_) en top_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 met top_n woorden.
  • Roep de functie aan met original_vocab=tfidf_vec.vocabulary_, stel vector_index=8 in om de 9e rij te pakken, en stel top_n=3 in 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, ____, ____))
Code bewerken en uitvoeren