Vytvoření mřížky
Teď je potřeba vytvořit mřížku hodnot, přes které budeme prohledávat optimální hyperparametry. Submodul pyspark.ml.tuning obsahuje třídu ParamGridBuilder, která přesně tohle umí (možná si už začínáš všímat vzoru – PySpark má submodul skoro na všechno!).
K sestavení mřížky pro křížovou validaci použiješ metody .addGrid() a .build(). Metoda .addGrid() přijímá parametr modelu (atribut Estimatoru lr, který jsi vytvořil/a v jednom z předchozích cvičení) a seznam hodnot, které chceš vyzkoušet.
Metoda .build() nepřijímá žádné argumenty – jednoduše vrátí sestavenou mřížku, kterou využiješ později.
Toto cvičení je součástí kurzu
Foundations of PySpark
Pokyny k cvičení
- Importuj submodul
pyspark.ml.tuningpod aliasemtune. - Zavolej konstruktor třídy
ParamGridBuilder()bez argumentů a výsledek ulož jakogrid. - Zavolej metodu
.addGrid()na objektugrids argumentylr.regParamjako prvním anp.arange(0, .1, .01)jako druhým. Tato funkce z modulunumpy(importovanéhoas np) vytvoří seznam čísel od 0 do .1 s krokem .01. Přepiš proměnnougridvýsledkem. - Aktualizuj
gridznovu – zavolej metodu.addGrid()podruhé a vytvoř mřížku prolr.elasticNetParamobsahující pouze hodnoty[0, 1]. - Zavolej metodu
.build()na objektugrida přepiš ho výsledkem.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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()