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— einHashingTF-Objekt undlogistic— einLogisticRegression-Objekt.
Diese Übung ist Teil des Kurses
<Kurs>Maschinelles Lernen mit PySpark</Kurs>Übungsanweisungen
- Erstelle ein Objekt des Parameter-Grid-Builders.
- Füge dem
HashingTF-Objekt Gitterpunkte für die ParameternumFeaturesundbinaryhinzu, mit den Werten 1024, 4096 und 16384 bzw. True und False. - Füge dem
LogisticRegression-Objekt Gitterpunkte für die ParameterregParamundelasticNetParamhinzu, 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 = ____.____()