• Yapay zeka soru ve sorunlarınızı uygun olan kategorilere açıp yanıt alabilirsiniz...

Scikit-learn'de göreve uygun estimator nasıl seçilir?

Garfield

YZF Admin
Yaş
40
Konum
YurtDışı
Katılım
27 Eki 2026
Konular
664
Mesajlar
689
AI Seviyesi
Yeni
Göreve uygun estimator seçmek için önce problemin türünü belirleyin: sürekli bir değeri tahmin ediyorsanız regresyon, sınıf etiketi tahmin ediyorsanız sınıflandırma, etiket yoksa kümeleme veya boyut indirgeme kullanılır. Ardından veri sayısı, özellik türleri, eksik değerler, ölçek farkları, doğrusal olmayan ilişkiler ve modelin açıklanabilirlik gereksinimini değerlendirip birkaç makul adayı aynı doğrulama yöntemiyle karşılaştırın. En yüksek doğrulama puanını alan modeli doğrudan seçmek yerine, veri sızıntısı olmadığını ve seçtiğiniz metriğin gerçek amaca uyduğunu kontrol edin.

Önce görevi ve hedef değişkeni belirleyin​


Estimator, veriden öğrenerek tahmin veya dönüşüm yapan scikit-learn nesnesidir. Örneğin LogisticRegression sınıflandırma, RandomForestRegressor regresyon, KMeans ise etiketlenmemiş veriyi kümelere ayırma amacıyla kullanılır.

Hedef sütununuz varsa problem türü genellikle şöyledir:
ProblemHedefBaşlangıç adayları
SınıflandırmaSonuç bir sınıf veya kategoridirLogisticRegression, RandomForestClassifier, HistGradientBoostingClassifier
RegresyonSonuç sayısal ve süreklidirRidge, RandomForestRegressor, HistGradientBoostingRegressor
KümelemeHedef etiketi yokturKMeans, DBSCAN
Boyut indirgemeÖzellikleri daha az boyuta taşımak istenirPCA
Bu tablo kesin bir sıralama değildir. Örneğin sınıflandırmada sınıf dengesizliği varsa doğruluk yerine f1, duyarlılık veya kesinlik daha anlamlı olabilir. Regresyonda büyük hatalar özellikle önemliyse MAE yerine RMSE tercih edilebilir. Metrik, estimator kadar sonucu etkiler.

Verinin yapısına göre adayları daraltın​


Ölçekleri birbirinden çok farklı sayısal özellikler, uzaklık veya katsayı büyüklüğüne duyarlı modelleri etkileyebilir. Lojistik regresyon, doğrusal destek vektör makineleri ve K-en yakın komşu gibi modeller genellikle ölçekleme ile daha sağlıklı karşılaştırılır. Karar ağaçları ve ağaç tabanlı topluluklar ise özellik ölçeklerine genellikle daha az duyarlıdır.

Kategorik sütunlar için kategorileri sayıya dönüştürmek gerekir; ancak kategorilere gelişigüzel 1, 2, 3 değerleri vermek modelde gerçekte olmayan bir sıralama oluşturabilir. Bu nedenle dönüşümleri estimator ile birlikte bir Pipeline içinde tutmak, eğitim ve doğrulama verisinin yanlışlıkla birbirine karışmasını önler.

Aday modelleri aynı koşullarda karşılaştırın​


Aşağıdaki örnek, scikit-learn ile gelen Wisconsin m*eme kanseri veri kümesinde ölçekleme gerektiren doğrusal modeli ve ölçeklemeye daha az duyarlı ağaç tabanlı modeli aynı çapraz doğrulama düzeninde karşılaştırır. Bu veri kümesinde 1 etiketi iyi huylu sınıftır; örnekteki varsayılan f1 skoru bu sınıfı pozitif kabul eder. Kendi görevinizde pozitif sınıfın anlamını ayrıca belirleyin:

Python:
from sklearn.datasets import load_breast_cancer
from sklearn.model_selection import cross_val_score, StratifiedKFold
from sklearn.pipeline import make_pipeline
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LogisticRegression
from sklearn.ensemble import RandomForestClassifier

X, y = load_breast_cancer(return_X_y=True)

models = {
    "lojistik regresyon": make_pipeline(
        StandardScaler(),
        LogisticRegression(max_iter=2000)
    ),
    "rastgele orman": RandomForestClassifier(
        n_estimators=300,
        random_state=42
    )
}

cv = StratifiedKFold(n_splits=5, shuffle=True, random_state=42)

for name, model in models.items():
    scores = cross_val_score(model, X, y, cv=cv, scoring="f1")
    print(name, round(scores.mean(), 3), round(scores.std(), 3))

Kodun çıktısında her model için ortalama f1 skoru ve katlar arasındaki değişimi görürsünüz. Ortalama skor yüksek, standart sapma düşükse model bu bölümlerde daha tutarlı davranıyor olabilir. Bu sonuç yalnızca kullanılan veri ve doğrulama düzeni için geçerlidir; gerçek dünyadaki yeni veride aynı performansı garanti etmez.

Model seçimini uygulama sırası​

  1. Hedefi ve problem türünü belirleyin. Sınıf, sürekli sayı veya etiketsiz veri durumlarından hangisinin bulunduğunu netleştirin.
  2. Değerlendirme metriğini seçin. İş gereksinimine göre doğruluk, F1, ROC AUC, MAE, RMSE veya başka bir metriği belirleyin; sınıflar dengesizse yalnızca doğruluğa güvenmeyin.
  3. Ön işleme adımlarını Pipeline içine alın. Ölçekleme, eksik değer doldurma ve kategorik dönüşümleri modelle aynı akışta tutun.
  4. En az iki farklı model ailesiyle başlangıç karşılaştırması yapın. Örneğin ölçeklenmiş lojistik regresyon ile ağaç tabanlı bir modeli aynı çapraz doğrulama bölmeleriyle değerlendirin.
  5. Ortalama puanla birlikte değişkenliği inceleyin. Büyük katlar arası fark, modelin veri bölünmesine duyarlı olabileceğini gösterir; yalnızca en yüksek tek kat puanını seçmeyin.
  6. Seçilen adayın ayarlarını doğrulama verisi üzerinde arayın. Hiperparametre aramasını GridSearchCV veya RandomizedSearchCV ile yapın; test kümesini bu arama sırasında kullanmayın.
  7. Test kümesinde yalnızca son değerlendirmeyi yapın. Test sonucu, daha önce seçilmemiş yeni veri üzerindeki tahmini performansı gösterir; modeli tekrar tekrar test ederek seçmek test kümesini eğitim sürecine dahil eder.

Hangi durumda hangi modelle başlayabilirsiniz?​


Az veya orta büyüklükte, çoğunlukla sayısal ve doğrusal ilişki beklenen verilerde Ridge ya da LogisticRegression iyi bir başlangıç karşılaştırmasıdır. Bu modeller hızlıdır ve katsayıları incelemek daha kolay olabilir; ancak doğrusal olmayan ilişkileri sınırlı biçimde yakalar.

Özellikler ile hedef arasındaki ilişki karmaşıksa ve açıklanabilirlikten bir miktar ödün verilebiliyorsa Random Forest veya histogram tabanlı gradyan artırma modelleri denenebilir. Ağaç tabanlı modellerin yüksek doğrulama puanı alması, nedensel bir ilişki kanıtlamaz; yalnızca kullanılan veri içindeki tahmin başarısını gösterir.

Özellik sayısı çok yüksek ve veri seyrekse, doğrusal modeller ile uygun düzenlileştirme çoğu zaman ilk adaylar arasında tutulabilir. Kümeleme gibi denetimsiz görevlerde ise doğru estimator yalnızca algoritmaya göre değil, küme sayısının anlamlı olup olmadığına ve uzaklık ölçüsünün veri yapısına uyup uymadığına göre değerlendirilmelidir.

Sonucu nasıl yorumlamalısınız?​


Bir modelin çapraz doğrulamada daha iyi puan alması, onun her koşulda daha iyi olduğu anlamına gelmez. Eğitim puanı çok yüksek, doğrulama puanı belirgin biçimde düşükse aşırı öğrenme ihtimali vardır. Eğitim ve doğrulama puanları birlikte düşükse özellikler yetersiz olabilir, model ailesi uygun olmayabilir veya veri içindeki sinyal zayıf olabilir.

En iyi aday belirlendikten sonra hata örneklerini inceleyin. Sınıflandırmada hangi sınıfın daha çok kaçırıldığını, regresyonda hataların hangi değer aralıklarında büyüdüğünü kontrol edin. Bu inceleme, yalnızca tek bir skorun göstermediği sorunları ortaya çıkarabilir ve gerekirse metriği, ön işlemeyi veya estimator seçimini yeniden değerlendirmenizi sağlar.

Estimator seçimi ile hiperparametre seçimi aynı şey midir?​


Hayır. Estimator seçimi, örneğin LogisticRegression ile RandomForestClassifier arasında karar vermektir. Hiperparametre seçimi ise seçilen modelin C, ağaç sayısı veya maksimum derinlik gibi ayarlarını belirlemektir. Önce makul model ailelerini karşılaştırıp sonra seçilen adayın ayarlarını aramak, arama alanını ve aşırı uyum riskini azaltır.
 
Son düzenleme:

Sen de şimdi bize katılmak ister misin?

Kayıt ol

Bize katılım kolay ve ücretsizdir!

Konuyu görüntüleyenler

Bu konuyu şu anda görüntüleyen üye bulunmuyor.
Robotlar:
  • Anthropic
Geri
Üst