Оптимізація класифікатора SMS-спаму
Побудований вами раніше конвеєр для моделі визначення SMS-спаму використовував параметри за замовчуванням для всіх елементів конвеєра. Втім, малоймовірно, що саме ці параметри дадуть справді хорошу модель. У цій вправі ви запустите конвеєр для добору різних значень параметрів. Ми зробимо це системно: значення кожного з гіперпараметрів буде розміщено на сітці, і конвеєр послідовно пройдеться всіма точками цієї сітки.
У цій вправі ви налаштуєте сітку параметрів, яку можна використовувати разом із перехресною перевіркою, щоб обрати вдалий набір параметрів для класифікатора SMS-спаму.
Вже визначено такі об'єкти:
hasher— об'єктHashingTFіlogistic— об'єктLogisticRegression.
Ця вправа є частиною курсу
Machine Learning з PySpark
Інструкції до вправи
- Створіть об'єкт-«будівельник» сітки параметрів (parameter grid builder).
- Додайте точки сітки для параметрів
numFeaturesіbinaryоб'єктаHashingTF, надавши значення 1024, 4096 і 16384, та відповідно True і False. - Додайте точки сітки для параметрів
regParamіelasticNetParamоб'єктаLogisticRegression, надавши значення 0.01, 0.1, 1.0 і 10.0, та відповідно 0.0, 0.5 і 1.0. - Побудуйте сітку параметрів.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# Create parameter grid
params = ____()
# Add grid for hashing trick parameters
params = params.____(____, ____) \
.____(____, ____)
# Add grid for logistic regression parameters
params = params.____(____, ____) \
.____(____, ____)
# Build parameter grid
params = ____.____()