XGBoost ile gradient artırılmış ağaçlar

Python ile Kredi Riski Modellemesi

Michael Crabtree

Data Scientist, Ford Motor Company

Karar ağaçları

  • Lojistik regresyona benzer tahminler üretir
  • Bir regresyon gibi yapılandırılmamıştır

Bir karar ağacı örneği

Python ile Kredi Riski Modellemesi

Kredi durumu için karar ağaçları

  • loan_status temerrüt olasılığını tahmin eden basit karar ağacı

Karar ağacı tahmin örneği

Python ile Kredi Riski Modellemesi

Karar ağacının etkisi

Karar ağacı tahmin örneği

Kredi Gerçek durum Tahmin edilen durum Geri ödeme tutarı Satış değeri Kazanç/Kayıp
1 0 1 $1,500 $250 -$1,250
2 0 1 $1,200 $250 -$950
Python ile Kredi Riski Modellemesi

Ağaç ormanı

  • XGBoost çok sayıda basit ağacı (ansambl) kullanır
  • Her ağaç yazı tura’dan biraz daha iyidir

Örnek ağaç tahminleyicilerinden oluşan ansambl

Python ile Kredi Riski Modellemesi

Ağaç oluşturma ve eğitme

  • xgboost Python paketinin bir parçasıdır; burada xgb olarak kullanılır
  • Lojistik regresyon gibi .fit() ile eğitilir
# Bir lojistik regresyon modeli oluştur
clf_logistic = LogisticRegression()
# Lojistik regresyonu eğit
clf_logistic.fit(X_train, np.ravel(y_train))
# Bir gradient artırılmış ağaç modeli oluştur
clf_gbt = xgb.XGBClassifier()
# Gradient artırılmış ağacı eğit
clf_gbt.fit(X_train,np.ravel(y_train))
Python ile Kredi Riski Modellemesi

XGBoost ile temerrüt tahminleri

  • Hem .predict() hem de .predict_proba() ile tahmin eder
    • .predict_proba() 0 ile 1 arasında olasılık döndürür
    • .predict() loan_status için 1 veya 0 döndürür
# Temerrüt olasılıklarını tahmin et
gbt_preds_prob = clf_gbt.predict_proba(X_test)
# loan_status'u 1 veya 0 olarak tahmin et
gbt_preds = clf_gbt.predict(X_test)
# gbt_preds_prob
array([[0.059, 0.940], [0.121, 0.989]])
# gbt_preds
array([1, 1, 0...])
Python ile Kredi Riski Modellemesi

Gradient artırılmış ağaçların hiperparametreleri

  • Hiperparametreler: veriden öğrenilemeyen model ayarları
  • Gradient artırılmış ağaçlar için yaygın hiperparametreler
    • learning_rate: daha küçük değerler adımları daha temkinli yapar
    • max_depth: ağacın derinliğini sınırlar; daha büyük, daha karmaşık demektir
xgb.XGBClassifier(learning_rate = 0.2,
                  max_depth = 4)
Python ile Kredi Riski Modellemesi

Ayo berlatih!

Python ile Kredi Riski Modellemesi

Preparing Video For Download...