Aan de slagGa gratis aan de slag

Tekstvectors verkennen, deel 2

Met de functie return_weights() die je in de vorige oefening hebt geschreven, ga je nu de topwoorden uit elk document in de tekstvector halen, een lijst met woordindexen teruggeven en die lijst gebruiken om de tekstvector te filteren naar alleen die topwoorden.

Deze oefening maakt deel uit van de cursus

Preprocessing voor Machine Learning in Python

Cursus bekijken

Oefeninstructies

  • Roep return_weights() aan om de hoogst gewogen woorden voor dat document terug te krijgen.
  • Roep set() aan op de geretourneerde filter_list om dubbele nummers te verwijderen.
  • Roep words_to_filter aan met de volgende parameters: vocab voor de parameter vocab, tfidf_vec.vocabulary_ voor de parameter original_vocab, text_tfidf voor de parameter vector, en 3 om de top_n 3 gewogen woorden uit elk document te pakken.
  • Geef tenslotte die filtered_words-set door aan een lijst om te gebruiken als filter voor de tekstvector.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

def words_to_filter(vocab, original_vocab, vector, top_n):
    filter_list = []
    for i in range(0, vector.shape[0]):
    
        # Call the return_weights function and extend filter_list
        filtered = ____(vocab, original_vocab, vector, i, top_n)
        filter_list.extend(filtered)
        
    # Return the list in a set, so we don't get duplicate word indices
    return ____(filter_list)

# Call the function to get the list of word indices
filtered_words = ____(____, ____, ____, ____)

# Filter the columns in text_tfidf to only those in filtered_words
filtered_text = text_tfidf[:, list(____)]
Code bewerken en uitvoeren