Training eines Spam-Klassifikators
Die SMS-Daten sind nun für die Erstellung eines Klassifikators vorbereitet. Und genau das hast du getan:
- Zahlen und Interpunktion entfernt
- die Nachrichten in Wörter (oder "Token") aufteilen
- Stoppwörter entfernt
- den Hashing-Trick angewendet und
- in eine TF-IDF-Darstellung umgewandelt.
Als Nächstes musst du die TF-IDF-Daten in Trainings- und Testsets aufteilen. Dann verwendest du die Trainingsdaten zur Anpassung eines logistischen Regressionsmodells und bewertest schließlich die Leistung dieses Modells anhand der Testdaten.
Die Daten sind in sms
gespeichert und LogisticRegression
wurde für dich importiert.
Diese Übung ist Teil des Kurses
Maschinelles Lernen mit PySpark
Anleitung zur Übung
- Teile die Daten in eine Trainings- und eine Testmenge im Verhältnis 4:1 auf. Setze den Zufallszahlen-Seed auf 13, um Wiederholbarkeit zu gewährleisten.
- Erstelle ein
LogisticRegression
Objekt und passe es an die Trainingsdaten an. - Erstelle Vorhersagen für die Testdaten.
- Verwende die Vorhersagen, um eine Konfusionsmatrix zu erstellen.
Interaktive Übung zum Anfassen
Probieren Sie diese Übung aus, indem Sie diesen Beispielcode ausführen.
# Split the data into training and testing sets
sms_train, sms_test = sms.____(____, ____)
# Fit a Logistic Regression model to the training data
logistic = ____(regParam=0.2).____(____)
# Make predictions on the testing data
prediction = logistic.____(____)
# Create a confusion matrix, comparing predictions to known labels
prediction.groupBy(____, ____).____().____()