Utforska textvektorer, del 2
Med hjälp av funktionen return_weights() som du skrev i föregående övning ska du nu extrahera de viktigaste orden från varje dokument i textvektorn, returnera en lista med ordindex och använda den listan för att filtrera textvektorn till enbart dessa ord.
Den här övningen är en del av kursen
Förbehandling för maskininlärning i Python
Övningsinstruktioner
- Anropa
return_weights()för att returnera de högst viktade orden för det dokumentet. - Anropa
set()på den returneradefilter_listför att ta bort duplicerade nummer. - Anropa
words_to_filtermed följande parametrar:vocabför parameternvocab,tfidf_vec.vocabulary_för parameternoriginal_vocab,text_tfidfför parameternvectoroch3för att hämta detop_n3 högst viktade orden från varje dokument. - Skicka slutligen in
filtered_words-mängden som en lista för att använda som filter för textvektorn.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
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(____)]