ÎncepețiÎncepe gratuit

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

Vezi cursul

Instrucțiuni pentru exercițiu

  • Adaugă parametrii original_vocab, pentru tfidf_vec.vocabulary_, și top_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ă la top_n cuvinte.
  • Apelează funcția, setând original_vocab=tfidf_vec.vocabulary_, vector_index=8 pentru a prelua rândul 9, și top_n=3 pentru 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, ____, ____))
Editează și rulează codul