Izgara Araması ve Rastgele Arama
GridSearchCV, RandomizedSearchCV, param_grid tasarımı ve en iyi parametrelerle yeniden model eğitme.
Izgara Araması ve Rastgele Arama, CoddyKit'te ücretsiz bir Learn AI with Python dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Learn AI with Python öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Learn AI with Python kursu toplamda 4 dersten oluşur.
Hiperparametreleri Neden Ayarlamalısınız
Modellerde, verilerden öğrenilmeyen ancak eğitimden önce belirlenen hiperparametreler (örneğin max_depth veya C) bulunur. Doğru değerler performansı büyük ölçüde artırabilir; bu nedenle bunları sistematik olarak ararız.
Elle Ayarlama Hatalara Açıktır
Değerleri elle denemek yavaştır ve kolayca yanlılığa yol açar. Çapraz doğrulamayla birleştirilen otomatik arama, her adayı adil biçimde değerlendirir ve en iyi kombinasyonu yeniden üretilebilir şekilde bulur.
GridSearchCV Temelleri
GridSearchCV, bir parametre ızgarasındaki her kombinasyonu dener ve her birini çapraz doğrulamayla puanlar. Tüm seçenekleri deneyerek ızgaradaki en iyi noktayı garanti eder.
from sklearn.model_selection import GridSearchCV
from sklearn.ensemble import RandomForestClassifier
param_grid = {
"n_estimators": [100, 200, 300],
"max_depth": [4, 8, None],
}
gs = GridSearchCV(RandomForestClassifier(), param_grid, cv=5)
gs.fit(X, y)Kombinatoryal Patlama
Izgara aramasının maliyeti, tüm seçenek sayılarının çarpımının kat sayısıyla birlikte büyür. Beşer değer içeren 3 parametre ve 5 katlı CV için 5*5*5*5 = 625 model uydurma işlemi gerekir. Izgaralar hızla pahalı hale gelir.
GridSearchCV ile Puanlama
scoring parametresi optimize edilecek metriği seçer. Dengesiz verilerde varsayılan doğruluk yerine f1 veya roc_auc seçin.
from sklearn.model_selection import GridSearchCV
gs = GridSearchCV(
RandomForestClassifier(),
param_grid,
cv=5,
scoring="roc_auc",
)
gs.fit(X, y)n_jobs ile Paralel Çalıştırma
Her adayın model uydurma işlemi bağımsızdır; bu nedenle bunları tüm CPU çekirdeklerinde çalıştırmak için n_jobs=-1 ayarlayın. Bu, büyük ızgaralarda gerçek çalışma süresini büyük ölçüde kısaltır.
from sklearn.model_selection import GridSearchCV
gs = GridSearchCV(
RandomForestClassifier(),
param_grid,
cv=5,
n_jobs=-1,
verbose=1,
)En İyi Sonuçları Okuma
Modeli eğittikten sonra kazanan kombinasyon için best_params_, CV puanı için best_score_ ve tahmin yapmaya hazır yeniden eğitilmiş model için best_estimator_ değerlerini inceleyin.
gs.fit(X, y)
print("Best params:", gs.best_params_)
print("Best CV score:", gs.best_score_)
best_model = gs.best_estimator_
best_model.predict(X_new)Tüm Sonuçları İnceleme
cv_results_, her adayın puanını ve sıralamasını gösteren bir sözlüktür (DataFrame için oldukça uygundur). Hangi parametrelerin önemli olduğunu ve puanların ne kadar kararlı olduğunu anlamak için kullanın.
import pandas as pd
results = pd.DataFrame(gs.cv_results_)
print(results[["params", "mean_test_score", "rank_test_score"]].head())RandomizedSearchCV
Arama alanı çok büyük olduğunda RandomizedSearchCV, tüm kombinasyonlar yerine sabit sayıda rastgele kombinasyon örnekler. Bütçeyi n_iter ile belirlersiniz.
from sklearn.model_selection import RandomizedSearchCV
from scipy.stats import randint
param_dist = {
"n_estimators": randint(100, 500),
"max_depth": randint(3, 20),
}
rs = RandomizedSearchCV(
RandomForestClassifier(), param_dist,
n_iter=30, cv=5, random_state=0,
)
rs.fit(X, y)Rastgele Arama Neden Sıklıkla Kazanır
Birçok problemde gerçekten önemli olan yalnızca birkaç hiperparametre vardır. Rastgele arama, bu önemli boyutları katı bir ızgaradan daha verimli biçimde tarar ve çok daha az denemeyle iyi çözümler bulur.
Izgara ve Rastgele Arama: Öneriler
Adayların küçük ve ayrık bir kümesi için GridSearchCV kullanın. n_iter bütçesini sizin belirlediğiniz büyük veya sürekli arama alanları için RandomizedSearchCV kullanın. refit=True olduğunda her ikisi de en iyi modeli otomatik olarak yeniden eğitir.
Kısa Sınama
Hiperparametre arama bilginizi sınayın.
Özet
Özet: GridSearchCV, bir param_grid içindeki her kombinasyonu kapsamlı biçimde sınar; boyut büyüdükçe maliyet hızla artar. RandomizedSearchCV, büyük arama alanları için n_iter sayısında kombinasyon örnekler. Metriğinizi belirlemek için scoring, hız için n_jobs=-1 ayarlayın ve modeli eğittikten sonra best_params_, best_score_ ile best_estimator_ değerlerini okuyun.
Sıkça Sorulan Sorular
“Izgara Araması ve Rastgele Arama” dersi ücretsiz mi?
Evet — “Izgara Araması ve Rastgele Arama” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Learn AI with Python kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Learn AI with Python kursu toplamda 4 dersten oluşur.
“Izgara Araması ve Rastgele Arama” dersinde ne öğreneceğim?
GridSearchCV, RandomizedSearchCV, param_grid tasarımı ve en iyi parametrelerle yeniden model eğitme. Learn AI with Python ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Learn AI with Python öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Learn AI with Python, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.
“Izgara Araması ve Rastgele Arama” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Learn AI with Python dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Learn AI with Python dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Çapraz Doğrulama Stratejileri
- Sınıflandırma Ölçütlerine Derinlemesine Bakış
- Izgara Araması ve Rastgele Arama
- Optuna ile Bayesçi Optimizasyon