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
Oefeninstructies
- Roep
return_weights()aan om de hoogst gewogen woorden voor dat document terug te krijgen. - Roep
set()aan op de geretourneerdefilter_listom dubbele nummers te verwijderen. - Roep
words_to_filteraan met de volgende parameters:vocabvoor de parametervocab,tfidf_vec.vocabulary_voor de parameteroriginal_vocab,text_tfidfvoor de parametervector, en3om detop_n3 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(____)]