SMS-Spam optimiert
Die Pipeline, die du zuvor für das SMS-Spam-Modell erstellt hast, verwendet die Standardparameter für alle Elemente in der Pipeline. Es ist allerdings sehr unwahrscheinlich, dass diese Parameter ein besonders gutes Modell ergeben. In dieser Übung wirst du die Pipeline für eine Auswahl von Parameterwerten ausführen. Wir gehen dabei systematisch vor: Die Werte für die einzelnen Hyperparameter werden auf einem Raster angeordnet und die Pipeline wird dann systematisch über jeden Punkt des Rasters laufen.
In dieser Übung erstellst du ein Parameterraster, das mit Kreuzvalidierung verwendet werden kann, um einen guten Satz von Parametern für den SMS-Spam-Klassifikator auszuwählen.
Die folgenden sind bereits definiert:
hasher
- einHashingTF
Objekt undlogistic
- einLogisticRegression
Objekt.
Diese Übung ist Teil des Kurses
Maschinelles Lernen mit PySpark
Anleitung zur Übung
- Erstelle ein Parameter Grid Builder Objekt.
- Füge dem Objekt
HashingTF
Rasterpunkte für die ParameternumFeatures
undbinary
mit den Werten 1024, 4096 und 16384 bzw. True und False hinzu. - Füge dem Objekt
LogisticRegression
Rasterpunkte für die ParameterregParam
undelasticNetParam
mit den Werten 0,01, 0,1, 1,0 und 10,0 bzw. 0,0, 0,5 und 1,0 hinzu. - Erstelle das Parameterraster.
Interaktive Ü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 = ____.____()