Passo 3: costruire un classificatore
Questo è l’ultimo passaggio della previsione del sentiment. Abbiamo esplorato e arricchito il nostro insieme di dati con feature legate al sentiment e ne abbiamo creato vettori numerici.
Userai l’insieme di dati che hai costruito nei passaggi precedenti. In particolare, contiene una feature per la lunghezza delle recensioni e 200 feature create con il vettorizzatore Tfidf.
Il tuo compito è addestrare una regressione logistica per prevedere il sentiment. I dati sono già stati importati per te e si chiamano reviews_transformed. Il target si chiama score ed è binario: 1 quando la recensione del prodotto è positiva e 0 altrimenti.
Allena un modello di regressione logistica e valuta le sue prestazioni sui dati di test. Quanto bene si comporta il modello?
Tutti i pacchetti necessari sono stati importati per te.
Questo esercizio fa parte del corso
Sentiment Analysis con Python
Istruzioni dell'esercizio
- Esegui la suddivisione train/test, destinando il 20% dei dati al test e impostando il seed casuale a
456. - Addestra un modello di regressione logistica.
- Predici la classe.
- Stampa l’accuracy e la confusion matrix sul set di test.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# Define X and y
y = reviews_transformed.score
X = reviews_transformed.drop('score', axis=1)
# Train/test split
X_train, X_test, y_train, y_test = ____(____, ____, ____=0.2, ____=456)
# Train a logistic regression
log_reg = ____.____(____, ____)
# Predict the labels
y_predicted = log_reg.____(____)
# Print accuracy score and confusion matrix on test set
print('Accuracy on the test set: ', ____(____, ____))
print(____(____, ____)/len(y_test))