Machine Learning-Based Loan Approval Automation: Enhancing Efficiency, Accuracy, and Fairness in Credit Decision-Making
Traditional loan approval processes are manual, time-consuming, and susceptible to human bias. This research develops a machine learning-based system to automate loan eligibility assessment while enhancing efficiency, accuracy, and fairness in credit decision-making. We developed and compared multiple supervised ML models---including Random Forest, XGBoost, stacking, and voting ensembles---on a publicly available loan dataset (614 instances, 13 features). To address class imbalance (68.7% approved, 31.3% rejected), we applied the Synthetic Minority Over-sampling Technique (SMOTE). Hyperparameter tuning was performed using GridSearchCV with 5-fold cross-validation, optimising for F1-score. Model performance was evaluated using accuracy, precision, recall, F1-score, and Area Under the Curve (AUC). Local Interpretable Model-Agnostic Explanations (LIME) were applied to ensure transparency. A tuned Random Forest classifier achieved the best performance with an accuracy of 85.96%, F1-score of 87.17%, and recall of 95.32%, outperforming XGBoost and ensemble methods. The high recall ensures effective identification of loan approvals and minimises false negatives. LIME provided instance-level interpretability, enabling stakeholders to understand prediction rationale. This study demonstrates that a systematic framework combining rigorous hyperparameter tuning, class imbalance handling, and explainable AI can create accurate, transparent, and equitable loan approval systems, providing a practical blueprint for responsible AI deployment in credit decision-making.
src/
hellen_paper.ipynb # Main notebook: preprocessing, modelling, evaluation, explainability
loans_data.csv # Dataset (614 instances, 13 features)
documents/
figs/ # Generated figures (confusion matrices, ROC curves, SHAP/LIME plots)
pip install -r requirements.txtThen open src/hellen_paper.ipynb in Jupyter and run all cells.
If you use this for research, please cite. Here is an example BibTeX entry:
@article{ghahremani2026loanaproval,
author = {Ghahremani, Mani and Otieno, Hellen Amimo and Kazreen, Mishanil and Shiaeles, Stavros},
title = {Machine Learning-Based Loan Approval Automation: Enhancing Efficiency, Accuracy and Fairness in Credit Decision-Making},
journal = {Expert Systems},
volume = {43},
number = {7},
pages = {e70307},
year = {2026},
doi = {10.1111/exsy.70307},
url = {https://onlinelibrary.wiley.com/doi/abs/10.1111/exsy.70307},
publisher = {Wiley},
}