$$\rightleftharpoonup{xx}$$
$$\longleftharp{xx}$$,
$$\longrightharp{xx}$$,
Collecte de données
Cette étude a utilisé l’ensemble de données de prédiction de l’approbation des prêts disponible sur Kaggle. L’ensemble de données a été extrait en février 2025 et se compose de 4269 enregistrements visant à évaluer les données sur les prêts et à prévoir les résultats de l’approbation des prêts. Il comprend 12 colonnes contenant des informations détaillées sur les profils démographiques des candidats, tels que le statut d’emploi, les personnes à charge, les travailleurs indépendants, le montant du prêt, la durée du prêt, les scores CIBIL, les antécédents financiers et les attributs spécifiques au prêt. L’ensemble de données a été importé à l’aide de la bibliothèque Pandas et inspecté visuellement à l’aide de df.head () pour comprendre sa structure et sa qualité.
Prétraitement des données
Au cours de la phase de prétraitement des données, la première étape a consisté à supprimer la colonne d’identification (loan_id) en raison de son manque de valeur prédictive et de son potentiel d’introduction de bruit dans le modèle. La deuxième étape impliquait l’encodage des étiquettes, où des variables catégorielles telles que l’éducation, les travailleurs autonomes et les loan_status étaient converties en représentations numériques. Cette transformation a été effectuée à l’aide de l’encodeur d’étiquettes du module sklearn.preprocessing. Plus précisément, le niveau de scolarité a été codé comme 0 pour les diplômés et 1 pour les non-diplômés ; self_employed comme 0 pour Non et 1 pour Oui, et loan_status, la variable cible, comme 0 pour Non approuvé et 1 pour Approuvé. Ces conversions étaient nécessaires pour assurer la compatibilité avec les modèles d’apprentissage automatique, qui nécessitent des entrées numériques, en particulier pour les applications de prêt numérique. Les caractéristiques ont été séparées de la variable cible à l’aide de X=df.drop (["loan_status"], axis=1) et y=df ["loan_status]. Cette configuration a fourni une base complète pour examiner les facteurs influençant les décisions d’approbation de prêt à l’aide des enregistrements de prêts historiques pour entraîner plusieurs modèles d’apprentissage automatique d’ensemble. Ces modèles étaient destinés à améliorer la précision et la robustesse globales en combinant les forces prédictives de plusieurs classificateurs.
L’ensemble de données traité a ensuite été divisé en sous-ensembles d’entraînement et de test à l’aide de la fonction train_test_split de sklearn.model_selection, avec 80 % des données utilisées pour l’entraînement et 20 % réservées pour les tests. Cela a permis de s’assurer que le modèle était entraîné sur une portion suffisamment importante des données tout en conservant un échantillon représentatif pour l’évaluation des performances. Une fois l’ensemble de données nettoyé, structuré et exploré statistiquement, les bases ont été jetées pour la mise en œuvre d’un cadre d’apprentissage automatique robuste visant à améliorer la précision prédictive dans la classification des approbations de prêts. Le développement du modèle a été réalisé à l’aide de quatre algorithmes d’apprentissage automatique basés sur des ensembles : Gradient Boosting Model, AdaBoost, Efficient Gradient Boosting Model et Extra Trees Classifier. Ceux-ci ont été sélectionnés pour leurs performances éprouvées dans les tâches de classification impliquant des données tabulaires structurées. Le classificateur de modèle Gradient Boosting, implémenté à partir de la bibliothèque Gradient Boosting Model, a été instancié avec les paramètres par défaut (itérations = 1000, taux d’apprentissage = 0,1, profondeur = 6, verbose = False). Il a été formé à l’aide. ajuster (x_train, y_train) et évalué avec .predict (X_test). Bien que le modèle de boosting de gradient gère automatiquement l’encodage des données catégorielles, cette fonctionnalité n’a pas été utilisée car les données avaient déjà été encodées par étiquette. Le classificateur AdaBoost (Adaptive Boosting, qui améliore les apprenants faibles) a été implémenté à l’aide de sklearn-ensemble. AdaBoost Classifier a été configuré avec n_estimators=100 et learning_rate=1.0, en utilisant les souches de décision comme estimateur de base par défaut. Il a été entraîné et évalué de la même manière, contribuant à la robustesse grâce à la pondération itérative des instances mal classifiées. L’Efficient Gradient Boosting, implémenté via la bibliothèque Efficient Gradient Boosting Model (LGBMClassifier), a été configuré avec n_estimators=100, learning_rate=0,1 et max_depth=-1 (profondeur d’arbre sans restriction). Ce modèle, connu pour sa rapidité et son efficacité, excelle particulièrement sur les grands ensembles de données avec des caractéristiques de grande dimension en utilisant des arbres de décision optimisés favorisant le gradient.
Enfin, le classificateur ExtraTrees de sklearn.ensemble a été utilisé avec n_estimators=100 et criterion="gini » comme stratégie de fractionnement. Contrairement à la forêt aléatoire, les arbres supplémentaires introduisent davantage d’aléatoire en sélectionnant des points de coupe au hasard, ce qui permet de réduire la variance du modèle et d’améliorer la généralisation. L’ensemble a été réalisé à l’aide du classificateur d’empilement de scikit-learn, qui améliore la généralisation en agrégeant les prédictions des apprenants de base. Chaque modèle a été évalué à l’aide de mesures de classification standard, notamment l’exactitude, la précision, le score F1, l’analyse des erreurs et la matrice de confusion. Ces métriques ont été calculées à l’aide des fonctions du module sklearn.metrics afin d’assurer une comparaison standardisée des performances entre tous les modèles.
Le modèle le plus performant (basé sur la précision et le score F1) a été enregistré pour le déploiement à l’aide de la bibliothèque Python. dump(model, « best_model.pkl »), garantissant que le modèle formé peut être réutilisé sans qu’il soit nécessaire de le réentraîner. Pour simuler une application réelle, un exemple de tableau d’entrée contenant 11 fonctionnalités a été créé à l’aide de NumPy et transmis à la fonction .predict() du modèle. Par exemple, le vecteur d’entrée [[0, 1, 1,4100000, 12200000, 8, 417, 2700000, 2200000, 8800000, 3300000]] a renvoyé une prédiction de 1, indiquant l’approbation du prêt. Toutes les expériences ont été menées dans un environnement Python 3.10 à l’aide de Google Notebook sur Kaggle. Le développement et l’évaluation du modèle ont été réalisés à l’aide des bibliothèques scikit-learn (v1.3), Gradient Boosting Model et Efficient Gradient Boosting Model. Tous les hyperparamètres ont été documentés explicitement, et les valeurs par défaut ont été clairement indiquées, le cas échéant. Les procédures d’encodage ont suivi l’approche décrite par Pedregosa et ont été implémentées dans scikit-learn46. Cette méthodologie complète et transparente garantit que le protocole expérimental est entièrement reproductible et respecte des normes académiques rigoureuses en matière de recherche sur l’apprentissage automatique.
La structure de la méthodologie suggérée, qui englobe la phase de préparation des données, la section des caractéristiques, l’entraînement et l’évaluation du modèle, est illustrée à la figure 1.
Cette recherche présente un cadre d’apprentissage d’ensemble d’empilement qui rassemble les capacités de quatre classificateurs puissants : Gradient Boosting Model, AdaBoost, Efficient Gradient Boosting Model et Extra Trees pour prédire les décisions d’approbation de prêt en fonction des dossiers financiers historiques. En combinant à la fois des stratégies de boosting et d’ensachage au sein d’une architecture de modèle empilé46. L’approche permet de surmonter efficacement les lacunes individuelles de ces modèles, telles que le biais et la variance, ce qui permet d’améliorer la précision des prédictions et la généralisation du modèle. Le modèle de boosting de gradient est efficace avec des variables catégorielles, il est conçu pour gérer des caractéristiques catégorielles à haute cordialité et effectue en interne l’encodage cible à l’aide d’un boosting ordonné47. Cela permet d’éviter le surajustement en veillant à ce que seules les données passées soient utilisées dans le calcul des statistiques. Dans la formule
,
Chaque ht (x) représente un arbre de décision entraîné sur les résidus du modèle précédent, et nt désigne la contribution à l’apprentissage spécifique à l’étape. AdaBoost, ou Adaptive Boosting, ajuste le poids de chaque instance pendant l’entraînement et se concentre sur des points de données précédemment mal classifiés48. Dans la formule

αt reflète les performances du t-ième apprenant faible ht(x), en mettant davantage l’accent sur des échantillons précédemment mal classés. Modèle efficace d’amplification du gradient Intègre l’échantillonnage unilatéral basé sur le gradient (GOSS) et un regroupement de fonctionnalités exclusives pour des performances plus rapides. Efficient Gradient Boosting offre une vitesse et des performances élevées sur les données à grande échelle49.

ft(xi) représente le nouvel arbre de décision ajouté pour minimiser la perte l(•) tandis que Ω(ft) est un terme de régularisation . Contrairement aux algorithmes de boost, Extra Trees réduit la variance en ajoutant du caractère aléatoire dans les divisions d’arbre de décision50. Il s’appuie sur des principes de bagging mais injecte un caractère aléatoire supplémentaire lors de la division des nœuds dans sa règle de prédiction

Calcule la moyenne des résultats de M arbres aléatoires entraînés indépendamment. Pour chaque fractionnement, Extra trees sélectionne des seuils aléatoires pour les entités et choisit les meilleures d’entre elles, réduisant ainsi la variance et offrant une grande diversité entre les arbres, ce qui améliore la généralisation. Ces modèles sont intégrés collectivement par le biais d’un classificateur d’empilement, qui apprend à combiner de manière optimale leurs résultats pour décider si un prêt doit être approuvé. Le cadre a été évalué à l’aide de mesures de classification communes et testé à l’aide d’échantillons d’entrée en direct, démontrant ainsi sa pertinence pratique dans les environnements de prêt numérique51. Ces modèles sont combinés collectivement à l’aide d’un classificateur d’empilement, qui apprend à combiner leurs sorties idéalement pour déterminer les résultats de l’acceptation des prêts. Les performances du modèle ont été évaluées à l’aide d’importantes mesures de classification telles que l’exactitude, la précision, le rappel, le score F1 et l’AUC-ROC, ainsi que d’une matrice de confusion, afin de déterminer sa capacité à réduire les erreurs de type I et de type II. Pour maintenir l’équilibre entre les classes, une répartition stratifiée 80:20 de l’entraînement et des tests a été utilisée, avec une validation croisée en 5 parties, garantissant la robustesse et réduisant la variabilité de l’échantillon. De plus, le modèle a été évalué sur des profils de demandeurs de prêts réalistes qui comprenaient des informations telles que les antécédents de crédit, le revenu, la situation d’emploi et le montant du prêt, ce qui a permis d’obtenir des jugements binaires et des cotes de probabilité. Ce test en deux phases démontre l’efficacité, l’équité et la praticité du modèle dans des contextes de prêt numérique en temps réel. La nouveauté de ce travail réside dans la conception d’ensemble hybride adaptée à la notation de crédit, ce qui en fait un modèle robuste, interprétable et reproductible pour les plateformes financières modernes52 .