RandomizedSearchCV ile hiperparametre ayarlama
Gördüğün gibi, özellikle büyük bir hiperparametre uzayında arama yapıyorsan GridSearchCV hesaplama açısından pahalı olabilir. Bu durumda, belirli olasılık dağılımlarından sabit sayıda hiperparametre ayarı deneyen RandomizedSearchCV kullanabilirsin.
diabetes_df veri kümesinden eğitim ve test setleri hedef değişkeni "diabetes" olacak şekilde X_train, X_test, y_train ve y_test olarak senin için önceden yüklendi. Bir lojistik regresyon modeli logreg olarak ve bir KFold değişkeni de kf olarak oluşturulup kaydedildi.
Bir hiperparametre aralığı tanımlayacak ve sklearn.model_selection içinden içe aktarılmış olan RandomizedSearchCV ile bu seçenekler arasından en iyi hiperparametreleri arayacaksın.
Bu egzersiz
scikit-learn ile Supervised Learning
kursunun bir parçasıdırEgzersiz talimatları
paramssözlüğünü oluştur:penaltyiçin"l1"ve"l2"değerlerini ekle,Ciçin0.1ile1.0arasında50adet float değerden oluşan bir aralık ayarla veclass_weightiçin"balanced"ya da0:0.8, 1:0.2içeren bir sözlük ver.- Modeli ve parametreleri geçirerek ve
cvdeğerinikfolarak ayarlayarak Randomized Search CV nesnesini oluştur. logreg_cv'yi eğitim verilerine fit et.- Modelin en iyi hiperparametrelerini ve doğruluk skorunu yazdır.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# 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(____.____))