02 / 05 · cluster k=1
Şeffaf bir model kara kutularla başa baş: EBM, AUC 0,809 ile seçildi ve her kararını açıklıyor.
Kredi kararında “neden?” sorusu en az tahmin kadar önemli; ama en isabetli modeller genelde kara kutu. FICO'nun 2018 Explainable ML Challenge'ı tam bunu soruyor: şeffaf bir model, performanstan ödün vermeden kara kutunun yerini alabilir mi? Bu hipotezi 10.459 HELOC başvurusunda, 24 ay içinde temerrüt hedefiyle sınadım.
FICO'nun veri sözlüğüne göre özel kodları (-9, -8, -7) tek tek ele aldım; kredi geçmişi olmayan kayıtları çıkardım, “hiç gecikme ya da sorgu yok” bilgisini flag değişkenleriyle korudum. Lojistik regresyon, Random Forest, GBM, XGBoost, LightGBM, CatBoost ve EBM'i GridSearch ile ayarlayıp 5 katlı çapraz doğrulamayla karşılaştırdım. Farkların gerçek mi yoksa gürültü mü olduğunu eşleştirilmiş t-testiyle sınadım. Açıklamalar için EBM'in global ve yerel çıktılarını ve SHAP'i kullandım; yerel bir LLM (qwen2.5:7b) bunları doğal dilde bir değerlendirme raporuna çeviriyor.
EBM test setinde 0,809 AUC verdi ve XGBoost ile CatBoost'tan istatistiksel olarak ayırt edilemedi; bu yüzden final model şeffaf olan oldu. Recall 0,772, precision 0,746, doğruluk 0,744. Banka politikası analizinde %20 batık oranı hedefiyle test başvurularının %31,6'sı onaylanabiliyor. Hepsi canlı tahmin ve faktör analizi sunan bir Streamlit uygulamasında çalışıyor.
Özel kod temizliği + flag'ler
EDA (23 değişken)
Model karşılaştırma · GridSearch · 5 katlı CV
Eşleştirilmiş t-testi → EBM
EBM + SHAP açıklamaları, LLM raporu
Onay oranı analizi + Streamlit
Python · pandas · scikit-learn · XGBoost · LightGBM · CatBoost · InterpretML (EBM) · SHAP · Ollama · Streamlit
Veri seti bilerek dengeli toplanmış (%52 kötü / %48 iyi) ve gerçek bir banka portföyünü temsil etmiyor; gerçek bir başvuru havuzunda aynı batık hedefi çok daha yüksek bir onay oranı verir. Bu, doğrudan devreye alınacak bir banka modeli değil. Sıradaki adım, modeli bankanın kendi verisiyle yeniden eğitmek ve eşiği bankanın risk iştahına göre seçmek.