Metriche di performance sui dati di Twitter
Allenerai un modello di regressione logistica che predice il sentiment dei tweet e ne valuterai le performance sul set di test usando metriche diverse.
È già stata creata per te una matrice X. Contiene le feature ottenute con un BOW sulla colonna text.
Le etichette sono salvate in un vettore chiamato y. Il vettore y vale 0 per i tweet negativi, 1 per quelli neutrali e 2 per quelli positivi.
Nota che, anche se abbiamo 3 classi, si tratta comunque di un problema di classificazione. L’accuracy misura sempre la proporzione di istanze previste correttamente. Ora la matrice di confusione sarà di dimensione 3x3: ogni riga darà il numero di casi previsti per le classi 2, 1 e 0, e ogni colonna il numero reale di casi nelle classi 2, 1 e 0.
Tutti i pacchetti necessari sono già stati importati per te.
Questo esercizio fa parte del corso
Sentiment Analysis con Python
Istruzioni dell'esercizio
- Esegui lo split train/test e applica
stratifycony. - Allena un classificatore di regressione logistica.
- Predici le performance sul set di test.
- Stampa l’accuracy e la matrice di confusione ottenute sul set di test.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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))