Explorarea vectorilor de text, partea 1
Hai să aprofundăm metoda de explorare a vectorilor de text pe care tocmai am învățat-o, folosind vectorii tf/idf din coloana title a setului de date volunteer. În această primă parte, vom extinde funcția prezentată în slide-uri și o vom face să returneze o listă de numere. În exercițiul următor, vom scrie o altă funcție care colectează cele mai frecvente cuvinte din toate documentele, le extrage și folosește acea listă pentru a filtra vectorul text_tfidf.
Acest exercițiu face parte din cursul
Preprocesare pentru Machine Learning în Python
Instrucțiuni pentru exercițiu
- Adaugă parametrii
original_vocab, pentrutfidf_vec.vocabulary_, șitop_n. - Apelează
pd.Series()pe dicționarul comprimat cu zip. Acest lucru va facilita operațiile ulterioare. - Folosește funcția
.sort_values()pentru a sorta seria și extrage indexul până latop_ncuvinte. - Apelează funcția, setând
original_vocab=tfidf_vec.vocabulary_,vector_index=8pentru a prelua rândul 9, șitop_n=3pentru a obține primele 3 cuvinte cu cel mai mare weight.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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, ____, ____))