Träna en skräppostklassificerare
SMS-data har nu förberetts för att bygga en klassificerare. Mer specifikt har följande steg genomförts:
- siffror och skiljetecken har tagits bort
- meddelandena har delats upp i ord (eller "tokens")
- stoppord har tagits bort
- hashing-tricket har tillämpats och
- data har konverterats till en TF-IDF-representation.
Nästa steg är att dela upp TF-IDF-data i tränings- och testmängder. Sedan använder du träningsdata för att anpassa en logistisk regressionsmodell och utvärderar slutligen modellens prestanda på testdata.
Data lagras i sms och LogisticRegression har redan importerats.
Den här övningen är en del av kursen
Maskininlärning med PySpark
Övningsinstruktioner
- Dela upp data i tränings- och testmängder i förhållandet 4:1. Sätt det slumpmässiga fröet till 13 för att säkerställa reproducerbarhet.
- Skapa ett
LogisticRegression-objekt och anpassa det till träningsdata. - Generera förutsägelser på testdata.
- Använd förutsägelserna för att skapa en förväxlingsmatris.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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(____, ____).____().____()