// the find
wepe/DataCastle-Solution
1st Place Solution for DataCastle-CashBus Competition
A competition solution that took first place in a Chinese fintech challenge predicting microloan default risk ('user character'). It's a classic ensemble: XGBoost as the main model, SVM and random forest as blending ingredients, with feature engineering stages producing raw, rank-transformed, and discretized feature sets. Useful primarily as a reference for tabular ML competition pipelines from 2016.
The ensemble architecture is clearly decomposed — each model (M1-M5) is its own directory with its own feature set and saved parameters, making it easy to trace exactly what contributed to the final blend. The feature engineering pipeline separates concerns cleanly: discretization, rank transformation, and null handling are each independent scripts rather than one monolithic preprocessing step. Saved parameters with fixed random seeds mean you can actually reproduce the submission scores, which most competition repos skip. The PDF solution writeup is included, which is rare and genuinely useful for understanding the reasoning behind feature choices.
The repo ships compiled .class files and a bundled xgboost4j-1.1.jar checked into git, which is a bad habit that makes version auditing impossible and bloats the history. The entire thing is locked to a specific Kaggle-style competition dataset that you can't get anymore — without the data, none of the code runs, and there's no synthetic example or sample to test against. Documentation is almost entirely in Chinese with no English translation, which limits the audience despite the code itself being readable. It's a 2016 vintage solution using XGBoost 1.1 and Python 2-era conventions; anyone trying to adapt this today will fight dependency rot before getting to the interesting parts.