Kom igångKom igång gratis

Hyperparameterjustering med RandomizedSearchCV

Som du sett kan GridSearchCV vara beräkningstungt, särskilt när du söker i ett stort hyperparameterutrymme. I sådana fall kan du använda RandomizedSearchCV, som testar ett fast antal hyperparameterkombinationer från angivna sannolikhetsfördelningar.

Tränings- och testmängder från diabetes_df har förberetts åt dig som X_train, X_test, y_train och y_test, där målet är "diabetes". En logistisk regressionsmodell har skapats och lagrats som logreg, samt en KFold-variabel lagrad som kf.

Du ska definiera ett intervall av hyperparametrar och använda RandomizedSearchCV, som har importerats från sklearn.model_selection, för att hitta optimala hyperparametrar bland dessa alternativ.

Den här övningen är en del av kursen

Övervakad inlärning med scikit-learn

Visa kurs

Övningsinstruktioner

  • Skapa params och lägg till "l1" och "l2" som penalty-värden, ange C som ett intervall av 50 flyttals­värden mellan 0.1 och 1.0, och sätt class_weight till antingen "balanced" eller ett lexikon med 0:0.8, 1:0.2.
  • Skapa objektet för Randomized Search CV och skicka in modellen och parametrarna, och sätt cv till kf.
  • Anpassa logreg_cv till träningsdata.
  • Skriv ut modellens bästa parametrar och noggrannhetspoäng.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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(____.____))
Redigera och kör kod