Addestrare un classificatore di spam
I dati degli SMS sono ora pronti per costruire un classificatore. In particolare, hai:
- rimosso numeri e punteggiatura
- diviso i messaggi in parole (o "token")
- rimosso le stop word
- applicato l'hashing trick e
- convertito in una rappresentazione TF-IDF.
Ora dovrai dividere i dati TF-IDF in insiemi di training e di testing. Poi userai i dati di training per adattare un modello di Logistic Regression e, infine, valuterai le prestazioni di quel modello sui dati di testing.
I dati sono memorizzati in sms e LogisticRegression è già stata importata per te.
Questo esercizio fa parte del corso
Machine Learning con PySpark
Istruzioni dell'esercizio
- Suddividi i dati in insiemi di training e di testing con un rapporto 4:1. Imposta il seed del generatore di numeri casuali a 13 per garantire la ripetibilità.
- Crea un oggetto
LogisticRegressione adattalo ai dati di training. - Genera le predizioni sui dati di testing.
- Usa le predizioni per costruire una matrice di confusione.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# Split the data into training and testing sets
sms_train, sms_test = sms.____(____, ____)
# Fit a Logistic Regression model to the training data
logistic = ____(regParam=0.2).____(____)
# Make predictions on the testing data
prediction = logistic.____(____)
# Create a confusion matrix, comparing predictions to known labels
prediction.groupBy(____, ____).____().____()