This repo contains code and methodology for DataTour 2025's credit default prediction challenge. LightGBM binary classification on 17M rows, 62 features; outlier clipping, 5-fold stratified CV, manual hyperparam tuning. OOF ROC AUC: 0.664281. Team AST submission for African financial inclusion.
# DataTour 2025 - Credit Risk Prediction
## Overview
Repository for DataTour 2025 credit default prediction challenge using LightGBM. Focuses on binary classification for loan default probability. Local OOF ROC AUC: 0.664281.
Submitted for National Phase - Final Submission, November 2025.
Competition Site | Data Platform
## Team
- **Name**: AST
- **Members**:
- Codjo Ulrich Expéra AKAKPO
- Prosper Key SOGBEDJI
- Thibaut TCHINHOUN
## Approach
Treated as binary classification with LightGBM on large tabular data (17M training rows, 62 features like `enc_paym_*`). Handles missing values natively; aligned with ROC AUC metric.
## Feature Engineering
- Outlier clipping to 0.01-0.99 quantiles (numeric columns, excluding target).
- Replaced inf/-inf with NaN.
## Model Validation
- 5-fold Stratified K-Fold cross-validation (random_state=42, early stopping at 100 iterations).
- Preserves class imbalance; OOF AUC: 0.664281.
## Hyperparameter Optimization
- Manual selection based on benchmarks.
- Final params: `n_estimators=2000`, `learning_rate=0.05`, `num_leaves=63`, `max_depth=-1`, `colsample_bytree=0.7`, `subsample=0.7`, `reg_alpha=0.1`, `reg_lambda=0.1`, `seed=42`.
## Requirements
- Python 3.8+
- Libraries: `pandas`, `numpy`, `scikit-learn`, `lightgbm`
Install: `pip install pandas numpy scikit-learn lightgbm`
## Usage
1. Place `train.parquet` and `test.parquet` in root (data not included).
2. Run script for feature engineering, training, and predictions.
## Reproducibility
Fixed seeds for consistent results; end-to-end executable code.
## License
MIT
For more, see Methodology PDF.