Trenowanie klasyfikatora spamu
Dane SMS są już gotowe do budowy klasyfikatora. Oto, co zostało zrobione:
- usunięto cyfry i znaki interpunkcyjne
- podzielono wiadomości na słowa (czyli „tokeny")
- usunięto stop słowa
- zastosowano technikę hashowania oraz
- przekształcono dane do reprezentacji TF-IDF.
Teraz podziel dane TF-IDF na zbiór treningowy i testowy. Następnie dopasuj model regresji logistycznej do danych treningowych i oceń jego wydajność na danych testowych.
Dane są przechowywane w sms, a LogisticRegression został już zaimportowany.
To ćwiczenie jest częścią kursu
Uczenie maszynowe z PySpark
Instrukcje do ćwiczenia
- Podziel dane na zbiór treningowy i testowy w proporcji 4:1. Ustaw ziarno generatora liczb losowych na 13, aby zapewnić powtarzalność wyników.
- Utwórz obiekt
LogisticRegressioni dopasuj go do danych treningowych. - Wygeneruj predykcje na danych testowych.
- Użyj predykcji do stworzenia macierzy pomyłek.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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(____, ____).____().____()