Eksploracja wektorów tekstowych, część 1
Rozbudujemy teraz metodę eksploracji wektorów tekstowych, którą poznałeś wcześniej – tym razem na wektorach tf/idf kolumny title ze zbioru danych volunteer. W tej pierwszej części uzupełnimy funkcję omówioną na slajdach tak, aby zwracała listę liczb. W następnym ćwiczeniu napiszemy kolejną funkcję, która zbierze najważniejsze słowa ze wszystkich dokumentów, wyodrębni je, a następnie użyje tej listy do przefiltrowania wektora text_tfidf.
To ćwiczenie jest częścią kursu
Preprocessing w uczeniu maszynowym w Pythonie
Instrukcje do ćwiczenia
- Dodaj parametry
original_vocabdlatfidf_vec.vocabulary_oraztop_n. - Wywołaj
pd.Series()na spakowanym słowniku – ułatwi to dalsze operacje. - Użyj funkcji
.sort_values(), aby posortować serię, a następnie ogranicz indeks dotop_nsłów. - Wywołaj funkcję, ustawiając
original_vocab=tfidf_vec.vocabulary_,vector_index=8, aby pobrać 9. wiersz, oraztop_n=3, aby uzyskać 3 najwyżej ważone słowa.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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, ____, ____))