Začněte nyníZačněte zdarma

RandomSearchCV v Scikit Learn

Pojďme si procvičit sestavení objektu RandomizedSearchCV pomocí Scikit Learn.

Mřížka hyperparametrů by měla zahrnovat max_depth (všechny hodnoty od 5 do 25 včetně) a max_features ('auto' a 'sqrt').

Požadované nastavení objektu RandomizedSearchCV:

  • Estimátor RandomForestClassifier s hodnotou n_estimators 80.
  • 3-násobná křížová validace (cv)
  • Pro hodnocení modelů použij roc_auc
  • Pro paralelní zpracování použij 4 jádra (n_jobs)
  • Zajisti přetrénování nejlepšího modelu a vrácení trénovacích skóre
  • Pro efektivitu vzorkuj pouze 5 modelů (n_iter)

Datasets X_train a y_train jsou již načteny.

Pamatuj, že zvolené hyperparametry najdeš v cv_results_ – každý hyperparametr má vlastní sloupec. Například sloupec pro hyperparametr criterion se jmenuje param_criterion.

Toto cvičení je součástí kurzu

Hyperparameter Tuning in Python

Zobrazit kurz

Pokyny k cvičení

  • Vytvoř mřížku hyperparametrů podle zadání výše.
  • Vytvoř objekt RandomizedSearchCV podle zadání výše.
  • Napoj objekt RandomizedSearchCV na trénovací data.
  • Přistup k objektu cv_results_ a vypiš hodnoty zvolené procesem modelování pro oba hyperparametry (max_depth a max_features).

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 = {'max_depth': list(range(____,26)), 'max_features': [____ , ____]} 

# Create a random search object
random_rf_class = RandomizedSearchCV(
    estimator = ____(n_estimators=____),
    param_distributions = ____, n_iter = ____,
    scoring=____, n_jobs=____, cv = ____, refit=____, return_train_score = ____ )

# Fit to the training data
____.fit(X_train, y_train)

# Print the values used for both hyperparameters
print(random_rf_class.cv_results_[____])
print(random_rf_class.cv_results_[____])
Upravit a spustit kód