ComeçarComece de graça

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

Ver curso

Instruções do exercício

  • Adicione parâmetros chamados original_vocab, para o tfidf_vec.vocabulary_, e top_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é as top_n palavras.
  • Chame a função, definindo original_vocab=tfidf_vec.vocabulary_, vector_index=8 para pegar a 9ª linha e top_n=3 para 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, ____, ____))
Editar e executar o código