Aan de slagGa gratis aan de slag

Prestatiemetrieken voor Twitter-gegevens

Je gaat een logistic regression-model trainen dat het sentiment van tweets voorspelt en de prestaties op de testset evalueren met verschillende metriken.

Er is een matrix X voor je aangemaakt. Deze bevat features die met een BOW op de kolom text zijn gemaakt.

De labels staan in een vector y. Vector y is 0 voor negatieve tweets, 1 voor neutrale, en 2 voor positieve.
Let op: hoewel we 3 klassen hebben, blijft dit een classificatieprobleem. De accuracy meet nog steeds het aandeel correct voorspelde gevallen. De confusion matrix is nu 3x3; elke rij geeft het aantal voorspelde gevallen voor de klassen 2, 1 en 0, en elke kolom het werkelijke aantal gevallen in klasse 2, 1 en 0.

Alle benodigde pakketten zijn al geïmporteerd.

Deze oefening maakt deel uit van de cursus

Sentimentanalyse in Python

Cursus bekijken

Oefeninstructies

  • Voer de train/test-split uit en stratificeer op y.
  • Train een logistic regression-classifier.
  • Voorspel de prestaties op de testset.
  • Print de accuracy-score en de confusion matrix die op de testset zijn verkregen.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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))
Code bewerken en uitvoeren