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
Pokyny k cvičení
- Vytvoř
params: přidej"l1"a"l2"jako hodnotypenalty, nastavCna rozsah50hodnot typu float mezi0.1a1.0aclass_weightna"balanced"nebo slovník s hodnotami0:0.8, 1:0.2. - Vytvoř objekt Randomized Search CV — předej mu model a parametry a nastav
cvnakf. - Natrénuj
logreg_cvna 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(____.____))