Treinar um classificador de spam
Os dados SMS já estão prontos pra gente criar um classificador. Basicamente, foi isso que você fez:
- tirei os números e a pontuação
- dividir as mensagens em palavras (ou “tokens”)
- palavras irrelevantes removidas
- aplicou o truque do hash e
- convertido para uma representação TF-IDF.
Depois, você vai precisar dividir os dados TF-IDF em conjuntos de treinamento e teste. Depois, você vai usar os dados de treinamento pra ajustar um modelo de Regressão Logística e, por fim, avaliar o desempenho desse modelo nos dados de teste.
Os dados estão guardados em sms
e LogisticRegression
já foi importado pra você.
Este exercício faz parte do curso
Machine Learning com PySpark
Instruções do exercício
- Divida os dados em conjuntos de treinamento e teste numa proporção de 4:1. Defina a semente do número aleatório como 13 para garantir a repetibilidade.
- Crie um objeto “
LogisticRegression
” e ajuste-o aos dados de treinamento. - Faça previsões com base nos dados de teste.
- Use as previsões para formar uma matriz de confusão.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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(____, ____).____().____()