Logo Lanfrica

gueye001/Africa-Credit-Scoring-Challenge

Domain:

socioeconomic

Record type:

model
Creator:
gue
Host:
Loan default prediction under Kenya to Ghana domain shift. LightGBM multi-granularity stacking, F1 0.6805, 17th of 151. # Prédiction du défaut de remboursement, Kenya et Ghana Projet réalisé pour l’AI4EAC Finance Practice Challenge sur Zindi. L’objectif est de prédire si un prêt sera remboursé ou passera en défaut. Le `train set` contient uniquement des prêts kenyans. Le `test set` mélange des prêts kenyans et ghanéens. Le problème central est donc un `domain shift` : le modèle apprend les relations observées au Kenya, puis doit les appliquer à un pays dont les profils de prêt et les conditions économiques diffèrent. | Indicateur | Résultat | |---|---:| | Public F1 | 0,6805 | | Meilleur OOF F1 | 0,8968 | | Classement | 17e sur 151 | | Progression du Public F1 | 0,6318 à 0,6805 | Démo Gradio Documentation de l’API ## Données ```text Train.csv : 68 654 lignes, Kenya uniquement, 1,83 % de défauts Test.csv : 18 594 lignes, Kenya à 81 % et Ghana à 19 % ``` Les données ont une structure hiérarchique. Un client peut avoir plusieurs prêts, et un même prêt peut apparaître sur plusieurs lignes lorsqu’il implique plusieurs prêteurs. Les lignes d’un même prêt portent la même target. ```text Client -> plusieurs prêts -> plusieurs lignes, une par prêteur ``` La structure hiérarchique des données a motivé un `multi-granularity stacking`. Un premier modèle produit des prédictions au niveau `line-level`, afin de conserver les informations propres à chaque prêteur. Un second modèle travaille au niveau `loan-level`, avec des variables agrégées sur l’ensemble du prêt. Les deux prédictions sont ensuite combinées dans la prédiction finale. ## Feature engineering Le jeu initial contient 16 colonnes. Le `feature engineering` a produit plus de 53 variables. Les ratios financiers sont plus informatifs que les montants bruts. J’ai calculé le coût relatif du crédit, le ratio de remboursement, l’intérêt journalier et la part de financement de chaque prêteur. ```python interest_pct = interest_amount / total_amount repay_ratio = total_to_repay / total_amount daily_interest = interest_amount / durat …