CodeBlanks Logo Icon CodeBlanks

Özet - Boosting

Bu grupta AdaBoost ve gradient boosting'i öğrendin.

Özet: boosting

Bu grupta:

  • Boosting zayıf öğrenicileri sırayla eğitir; her biri öncekilerin hatasına odaklanır.
  • AdaBoost örnek ağırlıklarını değiştirir, oyları α = ½ln((1-ε)/ε) ile ağırlıklandırır; gürültüye duyarlıdır.
  • Gradient boosting kalıntılara (negatif gradyana) ağaç uydurur.
  • learning_rate ve ağaç sayısı birlikte ayarlanır; erken durdurma aşırı öğrenmeyi önler.
  • HistGradientBoosting: hızlı, NaN ve kategori desteği.

Uygulama Üç topluluk

Aynı bölmede RandomForestClassifier(random_state=0), GradientBoostingClassifier(random_state=0) ve HistGradientBoostingClassifier(random_state=0) eğit. Her satırda sınıf adını ve test doğruluğunu round(..., 3) ile yazdır.

Başlangıç kodu

model.py
from sklearn.datasets import load_breast_cancer
from sklearn.model_selection import train_test_split

X, y = load_breast_cancer(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=0, stratify=y)
from sklearn.ensemble import RandomForestClassifier, GradientBoostingClassifier, HistGradientBoostingClassifier

# buraya yaz

Örnek çözüm

model.py
from sklearn.datasets import load_breast_cancer
from sklearn.model_selection import train_test_split

X, y = load_breast_cancer(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=0, stratify=y)
from sklearn.ensemble import RandomForestClassifier, GradientBoostingClassifier, HistGradientBoostingClassifier

for m in [RandomForestClassifier(random_state=0), GradientBoostingClassifier(random_state=0), HistGradientBoostingClassifier(random_state=0)]:
    m.fit(X_train, y_train)
    print(type(m).__name__, round(m.score(X_test, y_test), 3))

Beklenen çıktı

RandomForestClassifier 0.944
GradientBoostingClassifier 0.958
HistGradientBoostingClassifier 0.937

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Boosting'de doğrulama skoru 300. ağaçtan sonra düşmeye başlıyorsa ne yapılmalıdır?

  • Erken durdurma ya da daha az ağaç Doğru cevap
  • Daha çok ağaç eklemek
  • Öğrenme oranını artırmak
  • Hiçbir şey

Açıklama: Fazla ağaç boosting'de aşırı öğrenmeye yol açar.

2 Klasik gradient boosting sınıflandırıcısını oluştur.

Soru
m = ____(n_estimators=200, learning_rate=0.1, max_depth=3)
Cevap
m = GradientBoostingClassifier(n_estimators=200, learning_rate=0.1, max_depth=3)

Açıklama: max_depth burada her ağacın derinliğidir.

3 Yöntemleri eşleştir.

Kavram Anlamı
AdaBoost Örnek ağırlıkları
Gradient boosting Kalıntılara uydurma
HistGradientBoosting Kutulu, hızlı
Random forest Paralel ortalama

Orta seviye bölümündeki tüm dersler