Nastavení parametrů GridSearch
Hyperparametr je parametr uvnitř funkce. Například max_depth nebo min_samples_leaf jsou hyperparametry funkce DecisionTreeClassifier(). Ladění hyperparametrů je proces testování různých hodnot, jehož cílem je najít ty optimální – tedy takové, které dávají nejlepší předpovědi podle tvých cílů. V sklearn můžeš k testování různých kombinací hyperparametrů použít GridSearch. A ještě lépe: GridSearchCV() ti umožní kombinace nejen otestovat, ale zároveň na nich spustit křížovou validaci – vše v jedné funkci!
V tomto cvičení připravíš různé hodnoty, které chceš otestovat pro max_depth a min_samples_leaf. Uložíš je do slovníku, protože přesně takový formát GridSearchCV() vyžaduje:
- klíče slovníku budou názvy hyperparametrů
- hodnoty slovníku budou atributy (hodnoty hyperparametrů), které chceš otestovat
Místo ručního vypisování všech hodnot použiješ funkci range(), která umožňuje generovat hodnoty postupně. Například range(1, 10, 2) vygeneruje seznam hodnot od 1 (včetně) do 10 (bez 10) s krokem 2 – výsledek tedy bude [1, 3, 5, 7, 9].
Toto cvičení je součástí kurzu
HR Analytics: Predicting Employee Churn in Python
Pokyny k cvičení
- Podle formátu z příkladu výše vygeneruj hodnoty maximální hloubky v rozsahu od 5 do 20 s krokem 1
- Totéž udělej pro minimální velikost vzorku s hodnotami od 50 do 450 s krokem 50
- Vytvoř slovník zadáním hodnot
max_depthamin_samples_leaf, které chceš vyzkoušet, pomocí proměnných, které jsi právě vytvořil/a
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# Generate values for maximum depth
depth = [i for i in ____(5,21,1)]
# Generate values for minimum sample size
samples = [i for i in range(____,500,____)]
# Create the dictionary with parameters to be checked
parameters = dict(max_depth=depth, min_samples_leaf=____)