Explorando los vectores de texto, parte 1
Vamos a ampliar el método de exploración de vectores de texto que acabamos de conocer, utilizando los vectores tf/idf del title
del conjunto de datos volunteer
. En esta primera parte de la exploración del vector texto, vamos a añadir a esa función lo que hemos aprendido en las diapositivas. Devolveremos una lista de números con la función. En el siguiente ejercicio, escribiremos otra función para recopilar las palabras más importantes de todos los documentos, extraerlas y utilizar esa lista para filtrar nuestro vector text_tfidf
.
Este ejercicio forma parte del curso
Preprocesamiento para machine learning en Python
Instrucciones de ejercicio
- Añade parámetros llamados
original_vocab
, para lostfidf_vec.vocabulary_
, ytop_n
. - Llama a
pd.Series()
en el diccionario comprimido. Esto facilitará la operación. - Utiliza la función
.sort_values()
para ordenar las series y dividir el índice hastatop_n
palabras. - Llama a la función, configurando
original_vocab=tfidf_vec.vocabulary_
, configurandovector_index=8
para captar la 9.ª fila, y configurandotop_n=3
, para captar las 3 primeras palabras ponderadas.
Ejercicio interactivo práctico
Pruebe este ejercicio completando este código de muestra.
# 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, ____, ____))