BaşlayınÜcretsiz Başlayın

Scikit Learn'de RandomSearchCV

Hadi Scikit Learn kullanarak bir RandomizedSearchCV nesnesi oluşturmayı pratik edelim.

Hiperparametre ızgarası max_depth (5 ile 25 arasındaki tüm değerler, uçlar dahil) ve max_features ('auto' ve 'sqrt') için olmalı.

RandomizedSearchCV nesnesi için istenen seçenekler:

  • n_estimators değeri 80 olan bir RandomForestClassifier tahminleyicisi.
  • 3 katlı çapraz doğrulama (cv)
  • Modelleri skorlamak için roc_auc kullan
  • Paralel işlem için 4 çekirdek kullan (n_jobs)
  • En iyi modeli yeniden eğittiğinden emin ol ve eğitim skorlarını döndür
  • Verimlilik için yalnızca 5 model örnekle (n_iter)

X_train ve y_train veri kümeleri senin için yüklendi.

Seçilen hiperparametreleri çıkarmak için, bunların cv_results_ içinde her hiperparametre için bir sütunda yer aldığını unutma. Örneğin, criterion hiperparametresi için sütun param_criterion olurdu.

Bu egzersiz

Python'da Hiperparametre Ayarlama

kursunun bir parçasıdır
Kursu Görüntüle

Egzersiz talimatları

  • Yukarıdaki bağlamda belirtildiği gibi bir hiperparametre ızgarası oluştur.
  • Bağlamda açıklandığı şekilde bir RandomizedSearchCV nesnesi oluştur.
  • RandomizedSearchCV nesnesini eğitim verilerine uydur.
  • Modelleme sürecinin her iki hiperparametre (max_depth ve max_features) için seçtiği değerleri yazdırmak üzere cv_results_ nesnesinde indeksleme yap.

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

# 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_[____])
Kodu Düzenle ve Çalıştır