SMS-Spam optimiert
Die Pipeline, die du vorhin für das SMS-Spam-Modell erstellt hast, hat für alle Elemente in der Pipeline die Standardparameter verwendet. Es ist aber ziemlich unwahrscheinlich, dass diese Einstellungen ein besonders gutes Modell liefern. In dieser Übung wirst du die Pipeline für eine Auswahl von Parameterwerten ausführen. Wir machen das ganz systematisch: Die Werte für jeden Hyperparameter werden in einem Raster angeordnet und dann durchläuft die Pipeline systematisch jeden Punkt im Raster.
In dieser Übung richtest du ein Parameterraster ein, das mit Kreuzvalidierung verwendet werden kann, um einen guten Parametersatz für den SMS-Spam-Klassifikator auszuwählen.
Folgendes ist schon klar:
hasher
— ein Objekt vom Typ „HashingTF
“ undlogistic
— ein Objekt vom Typ „LogisticRegression
“.
Diese Übung ist Teil des Kurses
Maschinelles Lernen mit PySpark
Anleitung zur Übung
- Erstell ein Parameter-Grid-Builder-Objekt.
- Füge dem Objekt „
HashingTF
“ Gitterpunkte für die Parameter „numFeatures
“ und „binary
“ hinzu und gib die Werte 1024, 4096 und 16384 sowie „True“ und „False“ ein. - Füge dem Objekt „
LogisticRegression
“ Gitterpunkte für die Parameter „regParam
“ und „elasticNetParam
“ hinzu und gib die Werte 0,01, 0,1, 1,0 und 10,0 bzw. 0,0, 0,5 und 1,0 ein. - Erstell das Parametergitter.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# Create parameter grid
params = ____()
# Add grid for hashing trick parameters
params = params.____(____, ____) \
.____(____, ____)
# Add grid for logistic regression parameters
params = params.____(____, ____) \
.____(____, ____)
# Build parameter grid
params = ____.____()