SMS-spam geoptimaliseerd
De pipeline die je eerder voor het SMS-spammodel hebt gebouwd, gebruikte de standaardparameters voor alle onderdelen. Het is onwaarschijnlijk dat die instellingen meteen een bijzonder goed model opleveren. In deze oefening ga je de pipeline draaien met een selectie van parameterwaarden. We doen dit systematisch: de waarden voor elk van de hyperparameters komen op een rooster (grid) te staan en de pipeline wordt vervolgens voor elk punt op dat grid uitgevoerd.
In deze oefening stel je een parametergrid in dat je met cross-validation kunt gebruiken om een goede set parameters voor de SMS-spamclassifier te kiezen.
Het volgende is al gedefinieerd:
hasher— eenHashingTF-object enlogistic— eenLogisticRegression-object.
Deze oefening maakt deel uit van de cursus
Machine Learning met PySpark
Oefeninstructies
- Maak een parameter grid builder-object aan.
- Voeg gridpunten toe voor de parameters
numFeaturesenbinaryvan hetHashingTF-object, met respectievelijk de waarden 1024, 4096 en 16384, en True en False. - Voeg gridpunten toe voor de parameters
regParamenelasticNetParamvan hetLogisticRegression-object, met respectievelijk de waarden 0.01, 0.1, 1.0 en 10.0, en 0.0, 0.5 en 1.0. - Bouw het parametergrid.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# Create parameter grid
params = ____()
# Add grid for hashing trick parameters
params = params.____(____, ____) \
.____(____, ____)
# Add grid for logistic regression parameters
params = params.____(____, ____) \
.____(____, ____)
# Build parameter grid
params = ____.____()