Explorando vetores de texto, parte 2
Usando a função return_weights() que você escreveu no exercício anterior, agora você vai extrair as principais palavras de cada documento no vetor de texto, retornar uma lista dos índices dessas palavras e usar essa lista para filtrar o vetor de texto apenas para essas palavras principais.
Este exercício faz parte do curso
Pré-processamento para Machine Learning em Python
Instruções do exercício
- Chame
return_weights()para retornar as palavras com maior peso para esse documento. - Chame
set()nofilter_listretornado para remover números duplicados. - Chame
words_to_filter, passando os seguintes parâmetros:vocabpara o parâmetrovocab,tfidf_vec.vocabulary_para o parâmetrooriginal_vocab,text_tfidfpara o parâmetrovectore3para capturar as 3 palavras com maiortop_npeso de cada documento. - Por fim, passe esse conjunto
filtered_wordspara uma lista para usar como filtro do vetor de texto.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
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(____)]