Textvektoren erkunden, Teil 2
Mit der Funktion return_weights(), die du in der vorherigen Übung geschrieben hast, extrahierst du jetzt die Top-Wörter aus jedem Dokument im Textvektor, gibst eine Liste der Wortindizes zurück und verwendest diese Liste, um den Textvektor auf diese Top-Wörter zu reduzieren.
Diese Übung ist Teil des Kurses
Vorverarbeitung für Machine Learning in Python
Anleitung zur Übung
- Rufe
return_weights()auf, um die höchst gewichteten Wörter für dieses Dokument zurückzugeben. - Rufe
set()auf der zurückgegebenenfilter_listauf, um doppelte Zahlen zu entfernen. - Rufe
words_to_filterauf und übergib folgende Parameter:vocabfür den Parametervocab,tfidf_vec.vocabulary_für den Parameteroriginal_vocab,text_tfidffür den Parametervectorund3, um dietop_n3 gewichteten Wörter aus jedem Dokument zu holen. - Übergib schließlich diese
filtered_words-Menge in eine Liste umgewandelt, um sie als Filter für den Textvektor zu verwenden.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
def words_to_filter(vocab, original_vocab, vector, top_n):
filter_list = []
for i in range(0, vector.shape[0]):
# Call the return_weights function and extend filter_list
filtered = ____(vocab, original_vocab, vector, i, top_n)
filter_list.extend(filtered)
# Return the list in a set, so we don't get duplicate word indices
return ____(filter_list)
# Call the function to get the list of word indices
filtered_words = ____(____, ____, ____, ____)
# Filter the columns in text_tfidf to only those in filtered_words
filtered_text = text_tfidf[:, list(____)]