Leistungsmetriken für Twitter-Daten
Du trainierst ein logistisches Regressionsmodell, das die Stimmung von Tweets vorhersagt, und bewertest seine Leistung auf dem Testset mit verschiedenen Metriken.
Für dich wurde eine Matrix X erstellt. Sie enthält Merkmale, die mit einem BOW auf der Spalte text erzeugt wurden.
Die Labels stehen in einem Vektor y. Der Vektor y ist 0 für negative Tweets, 1 für neutrale und 2 für positive.
Beachte: Auch wenn wir 3 Klassen haben, handelt es sich weiterhin um ein Klassifikationsproblem. Die Accuracy misst weiterhin den Anteil der korrekt vorhergesagten Instanzen. Die Konfusionsmatrix hat nun die Größe 3x3. Jede Zeile gibt die Anzahl der vorhergesagten Fälle für die Klassen 2, 1 und 0 an, und jede Spalte die wahre Anzahl der Fälle in den Klassen 2, 1 und 0.
Alle benötigten Pakete wurden für dich importiert.
Diese Übung ist Teil des Kurses
Stimmungsanalyse in Python
Anleitung zur Übung
- Führe den Train/Test-Split durch und stratifiziere nach
y. - Trainiere einen Klassifikator mit logistischer Regression.
- Sage die Leistung auf dem Testset voraus.
- Gib die auf dem Testset erzielte Accuracy und die Konfusionsmatrix aus.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# Split the data into training and testing sets
X_train, X_test, y_train, y_test = ____(X, y, test_size=0.3, random_state=123, ____=y)
# Train a logistic regression
log_reg = ____.____(___, ____)
# Make predictions on the test set
y_predicted = log_reg.____(___)
# Print the performance metrics
print('Accuracy score test set: ', ____(y_test, y_predicted))
print('Confusion matrix test set: \n', ____(y_test, y_predicted)/len(y_test))