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

Ladění hyperparametrů pomocí RandomizedSearchCV

Jak jsi viděl/a, GridSearchCV může být výpočetně náročný, zejména při prohledávání velkého prostoru hyperparametrů. V takovém případě se hodí RandomizedSearchCV, který testuje pevně daný počet kombinací hyperparametrů vybraných ze zadaných pravděpodobnostních rozdělení.

Trénovací a testovací sady z diabetes_df jsou pro tebe předpřipravené jako X_train, X_test, y_train a y_test, kde cílová proměnná je "diabetes". Model logistické regrese je uložen jako logreg a proměnná KFold jako kf.

Definuješ rozsah hyperparametrů a použiješ RandomizedSearchCV, importovaný z sklearn.model_selection, k vyhledání optimálních hyperparametrů z těchto možností.

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

Supervised Learning with scikit-learn

Zobrazit kurz

Pokyny k cvičení

  • Vytvoř params: přidej "l1" a "l2" jako hodnoty penalty, nastav C na rozsah 50 hodnot typu float mezi 0.1 a 1.0 a class_weight na "balanced" nebo slovník s hodnotami 0:0.8, 1:0.2.
  • Vytvoř objekt Randomized Search CV — předej mu model a parametry a nastav cv na kf.
  • Natrénuj logreg_cv na trénovacích datech.
  • Vypiš nejlepší parametry modelu a jeho přesnost.

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 space
params = {"penalty": ["____", "____"],
         "tol": np.linspace(0.0001, 1.0, 50),
         "C": np.linspace(____, ____, ____),
         "class_weight": ["____", {0:____, 1:____}]}

# Instantiate the RandomizedSearchCV object
logreg_cv = ____(____, ____, cv=____)

# Fit the data to the model
logreg_cv.____(____, ____)

# Print the tuned parameters and score
print("Tuned Logistic Regression Parameters: {}".format(____.____))
print("Tuned Logistic Regression Best Accuracy Score: {}".format(____.____))
Upravit a spustit kód