Badanie wektorów tekstowych, część 2
Korzystając z funkcji return_weights(), którą napisano w poprzednim ćwiczeniu, wyodrębnisz teraz najważniejsze słowa z każdego dokumentu w wektorze tekstowym, zwrócisz listę indeksów tych słów, a następnie użyjesz jej do odfiltrowania wektora tekstowego do tych najważniejszych słów.
To ćwiczenie jest częścią kursu
Preprocessing w uczeniu maszynowym w Pythonie
Instrukcje do ćwiczenia
- Wywołaj
return_weights(), aby zwrócić słowa o najwyższych wagach dla danego dokumentu. - Wywołaj
set()na zwróconej liściefilter_list, aby usunąć powtarzające się liczby. - Wywołaj
words_to_filter, przekazując następujące parametry:vocabdla parametruvocab,tfidf_vec.vocabulary_dla parametruoriginal_vocab,text_tfidfdla parametruvectororaz3, aby pobraćtop_n3 słów o najwyższych wagach z każdego dokumentu. - Na koniec przekształć zbiór
filtered_wordsw listę, aby użyć go jako filtra dla wektora tekstowego.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
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(____)]