Explorarea vectorilor de text, partea 2
Folosind funcția return_weights() pe care ai scris-o în exercițiul anterior, vei extrage acum cuvintele cu cel mai mare pondere din fiecare document al vectorului de text, vei returna o listă cu indicii acestor cuvinte și vei utiliza acea listă pentru a filtra vectorul de text la cuvintele respective.
Acest exercițiu face parte din cursul
Preprocesare pentru Machine Learning în Python
Instrucțiuni pentru exercițiu
- Apelează
return_weights()pentru a returna cuvintele cu cea mai mare pondere din documentul respectiv. - Apelează
set()pefilter_list-ul returnat pentru a elimina numerele duplicate. - Apelează
words_to_filter, transmițând următorii parametri:vocabpentru parametrulvocab,tfidf_vec.vocabulary_pentru parametruloriginal_vocab,text_tfidfpentru parametrulvectorși3pentru a prelua primeletop_n3 cuvinte cu cea mai mare pondere din fiecare document. - În final, transformă setul
filtered_wordsîntr-o listă pentru a o folosi ca filtru pentru vectorul de text.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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(____)]