Ottimizzazione spam SMS
La pipeline che hai creato in precedenza per il modello di spam SMS usava i parametri predefiniti per tutti gli elementi della pipeline. È molto improbabile però che questi parametri producano un modello particolarmente buono. In questo esercizio eseguirai la pipeline per una selezione di valori dei parametri. Lo faremo in modo sistematico: i valori di ciascun iperparametro saranno disposti su una griglia e la pipeline verrà eseguita sistematicamente in ogni punto della griglia.
In questo esercizio imposterai una griglia di parametri da usare con la cross-validation per scegliere un buon insieme di parametri per il classificatore di spam SMS.
Sono già definiti:
hasher— un oggettoHashingTFelogistic— un oggettoLogisticRegression.
Questo esercizio fa parte del corso
Machine Learning con PySpark
Istruzioni dell'esercizio
- Crea un oggetto builder per la griglia dei parametri.
- Aggiungi i punti di griglia per i parametri
numFeaturesebinarydell'oggettoHashingTF, assegnando rispettivamente i valori 1024, 4096 e 16384, e True e False. - Aggiungi i punti di griglia per i parametri
regParameelasticNetParamdell'oggettoLogisticRegression, assegnando rispettivamente i valori 0.01, 0.1, 1.0 e 10.0, e 0.0, 0.5 e 1.0. - Genera la griglia dei parametri.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# Create parameter grid
params = ____()
# Add grid for hashing trick parameters
params = params.____(____, ____) \
.____(____, ____)
# Add grid for logistic regression parameters
params = params.____(____, ____) \
.____(____, ____)
# Build parameter grid
params = ____.____()