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 title
tf/idf do conjunto de dados volunteer
. Nesta primeira parte da exploração de vetores de texto, vamos adicionar à função que aprendemos nos slides. Retornaremos uma lista de números com a função. No próximo exercício, escreveremos outra função para coletar as principais palavras em todos os documentos, extraí-las e usar essa lista para filtrar nosso vetor text_tfidf
.
Este exercício faz parte do curso
Pré-processamento para aprendizado de máquina em Python
Instruções de exercício
- Adicione parâmetros chamados
original_vocab
, paratfidf_vec.vocabulary_
etop_n
. - Ligue para
pd.Series()
no dicionário com zíper. Isso facilitará a operação. - Use a função
.sort_values()
para classificar a série e dividir o índice emtop_n
palavras. - Chame a função, definindo
original_vocab=tfidf_vec.vocabulary_
, definindovector_index=8
para pegar a 9ª linha e definindotop_n=3
, para pegar as 3 primeiras palavras ponderadas.
Exercício interativo prático
Experimente este exercício preenchendo 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, ____, ____))