LoslegenKostenlos loslegen

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

Kurs anzeigen

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ückgegebenen filter_list auf, um doppelte Zahlen zu entfernen.
  • Rufe words_to_filter auf und übergib folgende Parameter: vocab für den Parameter vocab, tfidf_vec.vocabulary_ für den Parameter original_vocab, text_tfidf für den Parameter vector und 3, um die top_n 3 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(____)]
Code bearbeiten und ausführen