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

Hyperopt ile Bayesian hiperparametre ayarlama

Bu örnekte, Hyperopt paketini (senin için zaten hp olarak içe aktarıldı) kullanarak Bayesian bir hiperparametre optimizasyon süreci kuracak ve çalıştıracaksın. Önce alanı (grid search için grid kurmaya benzer) tanımlayacak, sonra amaç (objective) fonksiyonunu yazacaksın. Son olarak, en iyileyiciyi 20 yineleme boyunca çalıştıracaksın.

Alanı şu değerlerle kurman gerekecek:

  • max_depth için quniform dağılım (2 ile 10 arasında, 2’şer artışlarla)
  • learning_rate için uniform dağılım (0.001 ile 0.9)

Bu egzersiz için, veri örneklem boyutu ile hyperopt ve GBM yinelemeleri azaltılmıştır. Bunu kendi makinende deniyorsan, bu yöntemi gerçekten iş başında görmek için daha geniş bir arama alanı, daha fazla deneme, daha fazla çapraz doğrulama ve daha büyük bir veri kümesi boyutu dene!

Bu egzersiz

Python'da Hiperparametre Ayarlama

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

Egzersiz talimatları

  • Yukarıda belirtilen alanı kullanarak bir space sözlüğü kur.
  • Amaç fonksiyonunu bir gradient boosting sınıflandırıcı kullanarak yaz.
  • Algoritmayı 20 değerlendirme için çalıştır (slaytlardaki varsayılan, önerilen algoritmayı kullanman yeterli).

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

# Set up space dictionary with specified hyperparameters
space = {'max_depth': hp.____('max_depth', ____, ____, ____),'learning_rate': hp.____('learning_rate', ____,____)}

# Set up objective function
def objective(params):
    params = {'max_depth': int(params[____]),'learning_rate': params[____]}
    gbm_clf = ____(n_estimators=100, **params) 
    best_score = cross_val_score(gbm_clf, X_train, y_train, scoring='accuracy', cv=2, n_jobs=4).mean()
    loss = 1 - ____
    return ____

# Run the algorithm
best = fmin(fn=____,space=space, max_evals=____, rstate=np.random.default_rng(42), algo=tpe.suggest)
print(____)
Kodu Düzenle ve Çalıştır