Aan de slagGa gratis aan de slag

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 — een HashingTF-object en
  • logistic — een LogisticRegression-object.

Deze oefening maakt deel uit van de cursus

Machine Learning met PySpark

Cursus bekijken

Oefeninstructies

  • Maak een parameter grid builder-object aan.
  • Voeg gridpunten toe voor de parameters numFeatures en binary van het HashingTF-object, met respectievelijk de waarden 1024, 4096 en 16384, en True en False.
  • Voeg gridpunten toe voor de parameters regParam en elasticNetParam van het LogisticRegression-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 = ____.____()
Code bewerken en uitvoeren