Explorando vetores de texto, parte 1
Vamos expandir o método de exploração de vetores de texto que acabamos de aprender, usando os vetores tf/idf de title do conjunto de dados volunteer. Nesta primeira parte da exploração de vetores de texto, vamos incrementar a função que vimos nos slides. Vamos retornar uma lista de números com a função. No próximo exercício, vamos escrever outra função para reunir as principais palavras em todos os documentos, extraí-las e, em seguida, usar essa lista para filtrar nosso vetor text_tfidf.
Este exercício faz parte do curso
Pré-processamento para Machine Learning em Python
Instruções do exercício
- Adicione parâmetros chamados
original_vocab, para otfidf_vec.vocabulary_, etop_n. - Chame
pd.Series()no dicionário zipado. Isso vai facilitar as operações. - Use a função
.sort_values()para ordenar a série e fatie o índice até astop_npalavras. - Chame a função, definindo
original_vocab=tfidf_vec.vocabulary_,vector_index=8para pegar a 9ª linha etop_n=3para pegar as 3 palavras com maior peso.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# Add in the rest of the arguments
def return_weights(vocab, ____, vector, vector_index, ____):
zipped = dict(zip(vector[vector_index].indices, vector[vector_index].data))
# Transform that zipped dict into a series
zipped_series = ____({vocab[i]:zipped[i] for i in vector[vector_index].indices})
# Sort the series to pull out the top n weighted words
zipped_index = zipped_series.____(ascending=False)[:____].index
return [original_vocab[i] for i in zipped_index]
# Print out the weighted words
print(return_weights(vocab, ____, text_tfidf, ____, ____))