RandomizedSearchCV

Python'da Model Doğrulama

Kasey Jones

Data Scientist

Hiperparametrelerde grid arama

Birden çok hiperparametreden değer seçerken olası seçenekler bir ızgara oluşturur. Bu ızgara, hiperparametre uzayıdır.

Python'da Model Doğrulama

Grid aramaya devam

Yararları:

  • Tüm olası kombinasyonları dener

Sakıncaları:

  • Ek hiperparametreler eğitim süresini üstel artırır
Python'da Model Doğrulama

Daha iyi yöntemler

Python'da Model Doğrulama

Rastgele arama

from sklearn.model_selection import RandomizedSearchCV

random_search = RandomizedSearchCV()

Parametre dağılımı:

param_dist = {"max_depth": [4, 6, 8, None],
              "max_features": range(2, 11),
              "min_samples_split": range(2, 11)}
Python'da Model Doğrulama

Rastgele arama parametreleri

Parametreler:

  • estimator: kullanılacak model
  • param_distributions: hiperparametreler ve olası değerleri sözlüğü
  • n_iter: yineleme sayısı
  • scoring: kullanılacak puanlama yöntemi
Python'da Model Doğrulama

RandomizedSearchCV parametrelerini ayarlama

param_dist = {"max_depth": [4, 6, 8, None],
              "max_features": range(2, 11),
              "min_samples_split": range(2, 11)}
from sklearn.ensemble import RandomForestRegressor
from sklearn.metrics import make_scorer, mean_absolute_error

rfr = RandomForestRegressor(n_estimators=20, random_state=1111)
scorer = make_scorer(mean_absolute_error)
Python'da Model Doğrulama

RandomizedSearchCV uygulandı

Rastgele aramayı kurma:

random_search =\
    RandomizedSearchCV(estimator=rfr,
                       param_distributions=param_dist,
                       n_iter=40,
                       cv=5)
  • Model doğrulamasını anlamadan hiperparametre ayarı yapamayız
  • Model doğrulama, birden çok modeli ve parametre setini karşılaştırmayı sağlar
Python'da Model Doğrulama

RandomizedSearchCV uygulandı

Rastgele aramayı kurma:

random_search =\
    RandomizedSearchCV(estimator=rfr,
                       param_distributions=param_dist,
                       n_iter=40,
                       cv=5)

Rastgele aramayı tamamlayın:

random_search.fit(X, y)
Python'da Model Doğrulama

Bazı örnekleri inceleyelim!

Python'da Model Doğrulama

Preparing Video For Download...