ПочатиПочніть безкоштовно

Оптимізація класифікатора 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 = ____.____()
Редагувати та запускати код