Esplorare i vettori di testo, parte 2
Usando la funzione return_weights() che hai scritto nell'esercizio precedente, ora estrarrai le parole principali da ciascun documento nel vettore di testo, restituirai un elenco degli indici delle parole e userai quell'elenco per filtrare il vettore di testo mantenendo solo quelle parole principali.
Questo esercizio fa parte del corso
Preprocessing per il Machine Learning in Python
Istruzioni dell'esercizio
- Chiama
return_weights()per ottenere le parole con peso maggiore per quel documento. - Chiama
set()sulfilter_listrestituito per rimuovere i numeri duplicati. - Chiama
words_to_filter, passando questi parametri:vocabper il parametrovocab,tfidf_vec.vocabulary_per il parametrooriginal_vocab,text_tfidfper il parametrovectore3per ottenere letop_n3 parole con peso maggiore da ciascun documento. - Infine, passa quell'insieme
filtered_wordsin una lista da usare come filtro per il vettore di testo.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
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(____)]