Prestandamätvärden för Twitter-data
Du ska träna en logistisk regressionsmodell som förutsäger sentimentet i tweets och sedan utvärdera dess prestanda på testdata med hjälp av olika mätvärden.
En matris X har skapats åt dig. Den innehåller särdrag som genererats med BOW på kolumnen text.
Etiketterna lagras i en vektor som heter y. Vektorn y är 0 för negativa tweets, 1 för neutrala och 2 för positiva.
Observera att även om vi har 3 klasser är detta fortfarande ett klassificeringsproblem. Noggrannheten mäter fortfarande andelen korrekt förutsagda instanser. Konfusionsmatrisen är nu av storleken 3x3, där varje rad anger antalet förutsagda fall för klasserna 2, 1 och 0, och varje kolumn anger det sanna antalet fall i klasserna 2, 1 och 0.
Alla nödvändiga paket har redan importerats åt dig.
Den här övningen är en del av kursen
Sentimentanalys i Python
Övningsinstruktioner
- Dela upp data i tränings- och testmängder, och stratifiera efter
y. - Träna en logistisk regressionsklassificerare.
- Förutsäg prestandan på testdata.
- Skriv ut noggrannhetspoängen och konfusionsmatrisen för testdata.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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))