KXkonstantinos.xafis
Machine Learning & AIAcademic2025

Bankruptcy Prediction Pipeline

Pythonscikit-learnimbalanced-learnpandas

Overview

A data-mining project attacking an imbalanced company-bankruptcy dataset (target X65): preprocess honestly, choose models empirically, and explain the result.

What I built

A config-driven preprocessing pipeline: deduplication, NaN threshold drops and fills, Kendall-correlation feature pruning at 0.999, outlier filtering, robust normalization, polynomial features, PCA and SelectKBest. For the imbalance, SMOTE oversampling with balanced class weights.

The winning model is a HistGradientBoostingClassifier (balanced weights, max_iter=200, max_depth=20, l2_regularization=0.2) tuned via GridSearchCV and evaluated with repeated k-fold cross-validation. permutation_importance ranks features, and a dedicated top-10-features analysis shows how performance holds as the feature set shrinks.

Technical highlights

Outcome

A defensible model with measured performance and an explainability story.