CountVectorizer für die Textklassifizierung

Es ist an der Zeit, deinen Textklassifikator zu bauen! Die Daten wurden in einen DataFrame namens df geladen. Erforsche sie in der IPython Shell, um herauszufinden, welche Spalten du verwenden kannst. Die Methode .head() ist besonders informativ.

In dieser Übung verwendest du pandas zusammen mit scikit-learn, um einen sparsamen Textvektorisierer zu erstellen, den du zum Trainieren und Testen eines einfachen überwachten Modells verwenden kannst. Zu Beginn wirst du eine CountVectorizer einrichten und einige ihrer Funktionen untersuchen.

Diese Übung ist Teil des Kurses

Einführung in die natürliche Sprachverarbeitung in Python

Kurs anzeigen

Anleitung zur Übung

  • Importiere CountVectorizer von sklearn.feature_extraction.text und train_test_split von sklearn.model_selection.
  • Erstelle eine Serie y, die du für die Beschriftungen verwenden kannst, indem du das Attribut .label von df zu y zuweist.
  • Erstelle mit df["text"] (Features) und y (Labels) Trainings- und Testsets mit train_test_split(). Verwende eine test_size von 0.33 und eine random_state von 53.
  • Erstelle ein CountVectorizer Objekt mit dem Namen count_vectorizer. Achte darauf, dass du das Schlüsselwortargument stop_words="english" angibst, damit Stoppwörter entfernt werden.
  • Passe die Trainingsdaten X_train an und transformiere sie mit der Methode .fit_transform() deines CountVectorizer Objekts. Mache das Gleiche mit den Testdaten X_test, nur dass du die Methode .transform() verwendest.
  • Drucke die ersten 10 Merkmale von count_vectorizer mit der Methode .get_feature_names().

Interaktive Übung zum Anfassen

Probieren Sie diese Übung aus, indem Sie diesen Beispielcode ausführen.

# Import the necessary modules
____
____

# Print the head of df
print(df.head())

# Create a series to store the labels: y
y = ____

# Create training and test sets
X_train, X_test, y_train, y_test = ____

# Initialize a CountVectorizer object: count_vectorizer
count_vectorizer = ____

# Transform the training data using only the 'text' column values: count_train 
count_train = ____

# Transform the test data using only the 'text' column values: count_test 
count_test = ____

# Print the first 10 features of the count_vectorizer
print(____[:10])