Kom igångKom igång gratis

RandomSearchCV i Scikit Learn

Nu ska du öva på att bygga ett RandomizedSearchCV-objekt med Scikit Learn.

Hyperparametergallret ska gälla max_depth (alla värden mellan och inklusive 5 och 25) och max_features ('auto' och 'sqrt').

Önskade inställningar för RandomizedSearchCV-objektet är:

  • En RandomForestClassifier-estimator med n_estimators satt till 80.
  • 3-faldig korsvalidering (cv)
  • Använd roc_auc för att poängsätta modellerna
  • Använd 4 kärnor för parallell bearbetning (n_jobs)
  • Se till att den bästa modellen tränas om och att träningsresultat returneras
  • Sampla bara 5 modeller för effektivitetens skull (n_iter)

Datamängderna X_train och y_train är redan inlästa.

Kom ihåg att de valda hyperparametrarna finns i cv_results_, med en kolumn per hyperparameter. Kolumnen för hyperparametern criterion heter till exempel param_criterion.

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

Hyperparameterjustering i Python

Visa kurs

Övningsinstruktioner

  • Skapa ett hyperparametergaller enligt beskrivningen ovan.
  • Skapa ett RandomizedSearchCV-objekt enligt beskrivningen ovan.
  • Anpassa RandomizedSearchCV-objektet till träningsdata.
  • Indexera i cv_results_-objektet för att skriva ut de värden som modelleringsprocessen valde för båda hyperparametrarna (max_depth och max_features).

Interaktiv övning med praktiskt arbete

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

# 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_[____])
Redigera och kör kod