Обучение классификатора спама
Данные SMS теперь подготовлены для построения классификатора. Вот что было сделано:
- удалены числа и знаки препинания
- сообщения разбиты на слова (или «токены»)
- удалены стоп-слова
- применён хэш-трюк
- данные преобразованы в представление TF-IDF.
Теперь нужно разделить данные TF-IDF на обучающую и тестовую выборки. Затем вы обучите модель логистической регрессии на обучающих данных и оцените её качество на тестовых данных.
Данные хранятся в переменной sms, а LogisticRegression уже импортирован.
Это упражнение является частью курса
Машинное обучение с PySpark
Инструкции к упражнению
- Разделите данные на обучающую и тестовую выборки в соотношении 4:1. Задайте зерно генератора случайных чисел равным 13, чтобы обеспечить воспроизводимость результатов.
- Создайте объект
LogisticRegressionи обучите его на обучающих данных. - Сформируйте предсказания на тестовых данных.
- Используйте предсказания для построения матрицы ошибок.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# 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(____, ____).____().____()