Aan de slagBegin gratis

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

Bekijk cursus

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.

Interactieve oefening met praktijkervaring

Probeer deze oefening door deze voorbeeldcode aan 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