CountVectorizer für Textklassifizierung
Es ist nun an der Zeit, deinen eigenen Textklassifizierer zu bauen! Die Daten wurden in einen DataFrame namens df geladen. Erkunde den DataFrame in der IPython-Konsole, um zu sehen, welche Spalten du verwenden kannst. Die Methode .head() ist dabei besonders hilfreich.
In dieser Übung verwendest du pandas zusammen mit scikit-learn, um einen einfachen Text-Vektorisierer zu erstellen, mit dem du ein einfaches überwachtes Modell trainieren und testen kannst. Zunächst richtest du einen CountVectorizer ein und untersuchst einige seiner Funktionen.
Diese Übung ist Teil des Kurses
Einführung in Natural Language Processing mit Python
Anleitung zur Übung
- Importiere
CountVectorizeraussklearn.feature_extraction.textundtrain_test_splitaussklearn.model_selection. - Erstelle eine Series
yfür die Labels, indem du das Attribut.labelvondfyzuweist. - Erstelle mit
df["text"](Features) undy(Labels) Trainings- und Testdatensätze mittelstrain_test_split(). Setzetest_sizeauf0.33undrandom_stateauf53. - Erstelle ein
CountVectorizer-Objekt namenscount_vectorizer. Gib unbedingt das Schlüsselwortargumentstop_words="english"an, damit Stoppwörter entfernt werden. - Fitte und transformiere die Trainingsdaten
X_trainmit der Methode.fit_transform()deinesCountVectorizer-Objekts. Mache dasselbe mit den TestdatenX_test, jedoch mit der Methode.transform(). - Gib die ersten zehn Merkmale von
count_vectorizermit der Methode.get_feature_names()aus.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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])