Zacznij terazZacznij za darmo

Tworzenie siatki

Teraz musisz utworzyć siatkę wartości, które zostaną przeszukane podczas szukania optymalnych hiperparametrów. Submoduł pyspark.ml.tuning zawiera klasę ParamGridBuilder, która robi dokładnie to (może zaczynasz już dostrzegać pewien wzorzec – PySpark ma submoduł niemal do wszystkiego!).

Do zbudowania siatki, której użyjesz podczas kroswalidacji, potrzebne będą metody .addGrid() i .build(). Metoda .addGrid() przyjmuje parametr modelu (atrybut estymatora lr, który był tworzony kilka ćwiczeń wcześniej) oraz listę wartości do przetestowania. Metoda .build() nie przyjmuje żadnych argumentów – po prostu zwraca gotową siatkę do dalszego użycia.

To ćwiczenie jest częścią kursu

Podstawy PySpark

Zobacz kurs

Instrukcje do ćwiczenia

  • Zaimportuj submoduł pyspark.ml.tuning pod aliasem tune.
  • Wywołaj konstruktor klasy ParamGridBuilder() bez argumentów i zapisz wynik jako grid.
  • Wywołaj metodę .addGrid() na obiekcie grid, podając lr.regParam jako pierwszy argument i np.arange(0, .1, .01) jako drugi argument. Ten drugi argument to funkcja z modułu numpy (zaimportowanego as np), która tworzy listę liczb od 0 do 0,1 z krokiem 0,01. Nadpisz zmienną grid otrzymanym wynikiem.
  • Zaktualizuj grid, wywołując ponownie metodę .addGrid() – tym razem utwórz siatkę dla lr.elasticNetParam zawierającą tylko wartości [0, 1].
  • Wywołaj metodę .build() na obiekcie grid i nadpisz go otrzymanym wynikiem.

Interaktywne ćwiczenie praktyczne

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

# Import the tuning submodule
import ____ as ____

# Create the parameter grid
grid = tune.____

# Add the hyperparameter
grid = grid.addGrid(____, np.arange(0, .1, .01))
grid = grid.addGrid(____, ____)

# Build the grid
grid = grid.build()
Edytuj i uruchom kod