LoslegenKostenlos starten

SMS-Spam optimiert

Die Pipeline, die du zuvor für das SMS-Spam-Modell gebaut hast, verwendete für alle Elemente die Standardparameter. Es ist jedoch sehr unwahrscheinlich, dass diese Parameter ein besonders gutes Modell ergeben. In dieser Übung führst du die Pipeline mit einer Auswahl an Parameterwerten aus. Wir gehen dabei systematisch vor: Die Werte für jedes der Hyperparameter werden auf einem Raster (Grid) angeordnet, und die Pipeline läuft dann systematisch jeden Punkt in diesem Raster ab.

In dieser Übung richtest du ein Parameter-Grid ein, das zusammen mit Cross-Validation genutzt werden kann, um einen guten Parametersatz für den SMS-Spam-Classifier auszuwählen.

Folgendes ist bereits definiert:

  • hasher — ein HashingTF-Objekt und
  • logistic — ein LogisticRegression-Objekt.

Diese Übung ist Teil des Kurses

<Kurs>Maschinelles Lernen mit PySpark</Kurs>
Kurs ansehen

Übungsanweisungen

  • Erstelle ein Objekt des Parameter-Grid-Builders.
  • Füge dem HashingTF-Objekt Gitterpunkte für die Parameter numFeatures und binary hinzu, mit den Werten 1024, 4096 und 16384 bzw. True und False.
  • Füge dem LogisticRegression-Objekt Gitterpunkte für die Parameter regParam und elasticNetParam hinzu, mit den Werten 0.01, 0.1, 1.0 und 10.0 bzw. 0.0, 0.5 und 1.0.
  • Baue das Parameter-Grid.

Interaktive praktische Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

# 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 bearbeiten und ausführen