Özet - Boosting
- Makine Öğrenmesi kursu
- Orta seviye
- Ders 46/112
- 6 dk
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_rateve 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
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
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.
m = ____(n_estimators=200, learning_rate=0.1, max_depth=3)
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 |