Python'da Hiperparametre Ayarlama
Alex Scriven
Data Scientist
GridSearchCV çıktılarınızı inceleyelim.
GridSearchCV özellikleri üç grupta toplanır:
cv_results_best_index_, best_params_ ve best_score_scorer_, n_splits_ ve refit_time_
Özelliklere nokta gösterimiyle erişilir.
Örneğin:
grid_search_object.property
Burada property, almak istediğiniz gerçek özelliktir.
cv_results_ özelliği:
Bunu yazdırıp analiz etmek için bir DataFrame'e okuyun:
cv_results_df = pd.DataFrame(grid_rf_class.cv_results_)
print(cv_results_df.shape)
(12, 23)
time sütunları, modeli eğitmek (ve skorlamak) için geçen süreleri belirtir.
5 katlı çapraz doğrulama yaptığımızı hatırlayın. Bu süreç 5 kez çalışır ve saniye cinsinden ortalama ile standart sapmayı saklar.

param_ sütunları, o satırda denenen parametreleri saklar; her parametre için bir sütun

params sütunu tüm parametrelerin sözlüğünü içerir:
pd.set_option("display.max_colwidth", -1)
print(cv_results_df.loc[:, "params"])

test_score sütunları, her çapraz kat için test kümesi skorlarını ve bazı özet istatistikleri içerir:

mean_test_score değerlerini en iyiden en kötüye sıralayan rank sütunu:

rank_test_score sütununu kullanarak cv_results_ içinden en iyi kareyi kolayca seçebiliriz
best_row = cv_results_df[cv_results_df["rank_test_score"] == 1]
print(best_row)

Ardından test_score sütunları, training_scores için tekrarlanır.
Aklınızda tutmanız gereken bazı önemli notlar:
Eğitim skoru sütunlarını eklemek için return_train_score değeri True olmalıdır.
Eğitim skorları için sıralama sütunu yoktur; sadece test kümesi performansı önemlidir.
En iyi kareye ilişkin bilgiler şu üç özellikte özetlenir:
best_params_: En iyi skoru veren parametre sözlüğü.
best_score_: Gerçek en iyi skor.
best_index_: cv_results_.rank_test_score içinde en iyi olan satır.
best_estimator_ özelliği, grid aramasındaki en iyi parametrelerle oluşturulmuş bir kestiricidir.
Bizim için bu bir Random Forest kestiricisidir:
type(grid_rf_class.best_estimator_)
sklearn.ensemble.forest.RandomForestClassifier
İstersek bu nesneyi doğrudan bir kestirici olarak da kullanabiliriz!
print(grid_rf_class.best_estimator_)

Bazı ek bilgiler şu özelliklerde bulunur:
scorer_Ayrılan veride kullanılan skorlayıcı işlev. (AUC olarak ayarladık)
n_splits_Kaç çapraz doğrulama bölmesi. (5 olarak ayarladık)
refit_time_Tüm veri kümesinde en iyi modelin yeniden eğitilmesine harcanan saniye.
Python'da Hiperparametre Ayarlama