0% found this document useful (0 votes)
9 views12 pages

Machine Learning for Credit Scoring

The document discusses a project focused on predicting client creditworthiness using machine learning techniques, highlighting the significance of credit scoring in banking. It describes the dataset used, the label construction process for classifying clients as 'good' or 'bad', and the challenges of class imbalance, which were addressed using methods like SMOTE. The XGBoost model was identified as the most effective, achieving an F1 score of 0.59 for 'bad' clients and an AUC of 0.89, with suggestions for future work including time-series models and interpretability enhancements.

Uploaded by

professortoli
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views12 pages

Machine Learning for Credit Scoring

The document discusses a project focused on predicting client creditworthiness using machine learning techniques, highlighting the significance of credit scoring in banking. It describes the dataset used, the label construction process for classifying clients as 'good' or 'bad', and the challenges of class imbalance, which were addressed using methods like SMOTE. The XGBoost model was identified as the most effective, achieving an F1 score of 0.59 for 'bad' clients and an AUC of 0.89, with suggestions for future work including time-series models and interpretability enhancements.

Uploaded by

professortoli
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd

Predicting Client

Creditworthiness Using Machine


Learning
IOM209 – Business Intelligence |
April 2025
Team Presentation
Significance of the Topic
• - Credit scoring is essential in banking to
assess risk.
• - Traditional models are interpretable but
rigid.
• - Machine learning offers higher accuracy, but
challenges include:
• • Lack of transparency
• • Handling class imbalance
• - This project addresses label construction and
imbalance for prediction.
Dataset Description
• - Two datasets from Kaggle:
`application_record.csv` and
`credit_record.csv`
• - Merged using unique `ID`
• - `application_record.csv`: demographics &
finance info
• - `credit_record.csv`: monthly repayment
behavior and credit status
Label Construction
• - No predefined labels were given.
• - Labeling rule: if client had STATUS ≥ 2
(overdue >60 days) → label as 'bad'
• - STATUS categories used:
• • 0, C, X = good
• • 2, 3, 4, 5 = bad
• - Applied rule to monthly STATUS_HISTORY per
client
Example: Label Assignment
ID STATUS History Label
1 [0, C, X] Good
2 [0, 2, 3] Bad
3 [C, X] Good
4 [5, 2] Bad
5 [1, 0] Good
6 [X, 0] Good
7 [3, 4] Bad
Class Imbalance Challenge
• - Imbalance example: ~92% 'Good' vs ~8%
'Bad'
• - Problem: Classifiers may ignore minority
class
• - Solutions applied:
• • SMOTE for oversampling minority class
• • Class weighting (XGBoost
scale_pos_weight)
• • Random undersampling (tested)
Visualization: Class Distribution
Modeling & Evaluation
• - Tested models: Logistic Regression, Random
Forest, XGBoost
• - Evaluation metrics: Precision, Recall, F1-
Score, ROC-AUC
• - XGBoost performed best:
• • F1 (bad): 0.59
• • AUC: 0.89
• - XGBoost handles imbalance well with high
flexibility
Conclusion & Future Work
• - Constructed useful labels from behavioral
data
• - Addressed imbalance using SMOTE + cost-
sensitive learning
• - Best model: XGBoost
• - Future directions:
• • Use time-series models
• • Apply SHAP values for interpretability
• • Explore semi-supervised labeling
Thank You
• We’re happy to take any questions.
Model Performance: Confusion
Matrix
Model Performance: ROC Curve

You might also like