100,000 messy rows to a working model.
Predicting credit scores from 100,000 messy monthly records, with four models compared.
- Role
- Analysis and modelling
- When
- May – Jun 2024
- Built with
- Python · pandas · scikit-learn · seaborn
- Where
- NeoSOFT · Data Science Intern
Credit-card fraud · outliers flagged
76.6%Accuracy
0.75Macro F1
4Models compared
The problem
Wrong data types, missing ages and loan fields, outliers, and the same customer repeated every month.
What I did
- Cleaned per customer, not per row: gaps filled from the same customer’s other months.
- Selected features with recursive feature elimination, then a 70/30 split.
- Compared four models: Random Forest won at 76.6% (macro F1 0.75), ahead of Gradient Boosting at 72.3%.
What drives the score
Outstanding debt, interest rate, days past due, credit-limit changes and credit mix: the same things lenders weigh.