Objekt RandomizedSearchCV
Stejně jako knihovna GridSearchCV ze Scikit Learn nabízí i RandomizedSearchCV řadu užitečných funkcí pro efektivní provádění náhodného prohledávání. Vytvoříš objekt RandomizedSearchCV s drobnou úpravou oproti objektu GridSearchCV.
Požadované nastavení:
- Výchozí estimátor Gradient Boosting Classifier
- 5násobná křížová validace
- Hodnocení modelů pomocí přesnosti (accuracy)
- Použití 4 jader pro paralelní zpracování
- Zajisti refitting nejlepšího modelu a vrácení trénovacích skóre
- Náhodný výběr 10 modelů
Mřížka hyperparametrů by měla zahrnovat learning_rate (150 hodnot mezi 0,1 a 2) a min_samples_leaf (všechny hodnoty od 20 do 64 včetně).
K dispozici máš datové sady X_train a y_train.
Toto cvičení je součástí kurzu
Hyperparameter Tuning in Python
Pokyny k cvičení
- Vytvoř mřížku parametrů podle zadání výše.
- Vytvoř objekt
RandomizedSearchCVpodle zadání výše. - Natrénuj objekt
RandomizedSearchCVna trénovacích datech. - Vypiš hodnoty zvolené procesem modelování pro oba hyperparametry.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# Create the parameter grid
param_grid = {'learning_rate': np.linspace(____,____,150), 'min_samples_leaf': list(range(____,65))}
# Create a random search object
random_GBM_class = ____(
estimator = ____,
____ = param_grid,
____ = 10,
scoring='____', n_jobs=____, cv = ____, refit=____, return_train_score = ____)
# Fit to the training data
random_GBM_class.fit(____, ____)
# Print the values used for both hyperparameters
print(random_GBM_class.____['param_learning_rate'])
print(random_GBM_class.cv_results_['____'])