ÎncepețiÎncepe gratuit

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

Vezi cursul

Instrucțiuni pentru exercițiu

  • Apelează return_weights() pentru a returna cuvintele cu cea mai mare pondere din documentul respectiv.
  • Apelează set() pe filter_list-ul returnat pentru a elimina numerele duplicate.
  • Apelează words_to_filter, transmițând următorii parametri: vocab pentru parametrul vocab, tfidf_vec.vocabulary_ pentru parametrul original_vocab, text_tfidf pentru parametrul vector și 3 pentru a prelua primele top_n 3 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(____)]
Editează și rulează codul