Metryki wydajności modelu na danych z Twittera
Wytrenuj model regresji logistycznej, który przewiduje sentyment tweetów, a następnie oceń jego wydajność na zbiorze testowym przy użyciu różnych metryk.
Macierz X została już dla ciebie przygotowana. Zawiera cechy utworzone metodą BOW na kolumnie text.
Etykiety są przechowywane w wektorze y. Wartość 0 oznacza tweety negatywne, 1 – neutralne, a 2 – pozytywne.
Zwróć uwagę, że mimo iż mamy 3 klasy, nadal jest to problem klasyfikacji. Dokładność (accuracy) nadal mierzy odsetek poprawnie sklasyfikowanych przypadków. Macierz pomyłek będzie teraz miała rozmiar 3x3: każdy wiersz pokazuje liczbę przewidzianych przypadków dla klas 2, 1 i 0, a każda kolumna – rzeczywistą liczbę przypadków w klasach 2, 1 i 0.
Wszystkie wymagane pakiety zostały już zaimportowane.
To ćwiczenie jest częścią kursu
Analiza sentymentu w Pythonie
Instrukcje do ćwiczenia
- Podziel dane na zbiór treningowy i testowy, stosując stratyfikację według
y. - Wytrenuj klasyfikator oparty na regresji logistycznej.
- Dokonaj predykcji na zbiorze testowym.
- Wyświetl wynik dokładności oraz macierz pomyłek uzyskane na zbiorze testowym.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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))