Zacznij terazZacznij za darmo

Optymalizacja klasyfikatora spamu SMS

Potok zbudowany wcześniej dla modelu wykrywania spamu SMS korzystał z domyślnych parametrów dla wszystkich jego elementów. Jest jednak mało prawdopodobne, że te parametry dadzą naprawdę dobry model. W tym ćwiczeniu uruchomisz potok dla wybranego zestawu wartości parametrów. Podejdziemy do tego systematycznie: wartości każdego z hiperparametrów zostaną rozłożone na siatce, a potok będzie kolejno sprawdzał każdy punkt tej siatki.

W tym ćwiczeniu skonfigurujesz siatkę parametrów, którą można wykorzystać z walidacją krzyżową do wyboru dobrego zestawu parametrów dla klasyfikatora spamu SMS.

Następujące obiekty są już zdefiniowane:

  • hasher — obiekt HashingTF oraz
  • logistic — obiekt LogisticRegression.

To ćwiczenie jest częścią kursu

Uczenie maszynowe z PySpark

Zobacz kurs

Instrukcje do ćwiczenia

  • Utwórz obiekt konstruktora siatki parametrów.
  • Dodaj punkty siatki dla parametrów numFeatures i binary do obiektu HashingTF, podając odpowiednio wartości 1024, 4096 i 16384 oraz True i False.
  • Dodaj punkty siatki dla parametrów regParam i elasticNetParam do obiektu LogisticRegression, podając odpowiednio wartości 0.01, 0.1, 1.0 i 10.0 oraz 0.0, 0.5 i 1.0.
  • Zbuduj siatkę parametrów.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# Create parameter grid
params = ____()

# Add grid for hashing trick parameters
params = params.____(____, ____) \
               .____(____, ____)

# Add grid for logistic regression parameters
params = params.____(____, ____) \
               .____(____, ____)

# Build parameter grid
params = ____.____()
Edytuj i uruchom kod