ÎncepețiÎncepe gratuit

Ajustarea hiperparametrilor cu RandomizedSearchCV

Așa cum ai văzut, GridSearchCV poate fi costisitor din punct de vedere computațional, mai ales atunci când explorezi un spațiu mare de hiperparametri. În acest caz, poți folosi RandomizedSearchCV, care testează un număr fix de combinații de hiperparametri, selectate din distribuții de probabilitate specificate.

Seturile de antrenament și de testare din diabetes_df au fost preîncărcate ca X_train, X_test, y_train și y_test, unde variabila țintă este "diabetes". Un model de regresie logistică a fost creat și stocat ca logreg, iar o variabilă KFold a fost stocată ca kf.

Vei defini un interval de hiperparametri și vei folosi RandomizedSearchCV, importat din sklearn.model_selection, pentru a găsi hiperparametrii optimi din aceste opțiuni.

Acest exercițiu face parte din cursul

Învățare supravegheată cu scikit-learn

Vezi cursul

Instrucțiuni pentru exercițiu

  • Creează params, adăugând "l1" și "l2" ca valori pentru penalty, setând C la un interval de 50 de valori float între 0.1 și 1.0, și class_weight fie la "balanced", fie la un dicționar care conține 0:0.8, 1:0.2.
  • Creează obiectul Randomized Search CV, transmițând modelul și parametrii, și setând cv egal cu kf.
  • Antrenează logreg_cv pe datele de antrenament.
  • Afișează cei mai buni parametri și scorul de acuratețe ale modelului.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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(____.____))
Editează și rulează codul