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
LogisticRegressionObjekt und passe es an die Trainingsdaten an. - Erstelle Vorhersagen für die Testdaten.
- Verwende die Vorhersagen, um eine Konfusionsmatrix zu erstellen.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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(____, ____).____().____()