github/datanalysis-credit-risk
Credit risk data cleaning and variable screening pipeline for pre-loan modeling. Use when working with raw credit data that needs quality assessment, missing value analysis, or variable selection before modeling. it covers data loading and formatting, abnormal period filtering, missing rate calculation, high-missing variable removal,low-IV variable filtering, high-PSI variable removal, Null Importance denoising, high-correlation variable removal, and cleaning report generation. Applicable scenarios arecredit risk data cleaning, variable screening, pre-loan modeling preprocessing.
This is a copy. The original lives at christophacham/datanalysis-credit-risk.
npx skills add https://github.com/github/awesome-copilot --skill datanalysis-credit-risk
# Run the complete data cleaning pipeline
python ".github/skills/datanalysis-credit-risk/scripts/example.py"
The data cleaning pipeline consists of the following 11 steps, each executed independently without deleting the original data:
10. Drop High Correlation Features - Remove high correlation features based on original gain
11. Export Report - Generate Excel report containing details and statistics of all steps
| Function | Purpose | Module |
|------|------|----------|
| get_dataset() | Load and format data | references.func |
| org_analysis() | Organization sample analysis | references.func |
| missing_check() | Calculate missing rate | references.func |
| drop_abnormal_ym() | Filter abnormal months | references.analysis |
| drop_highmiss_features() | Drop high missing rate features | references.analysis |
| drop_lowiv_features() | Drop low IV features | references.analysis |
| drop_highpsi_features() | Drop high PSI features | references.analysis |
| drop_highnoise_features() | Null Importance denoising | references.analysis |
| drop_highcorr_features() | Drop high correlation features | references.analysis |
| iv_distribution_by_org() | IV distribution statistics | references.analysis |
| psi_distribution_by_org() | PSI distribution statistics | references.analysis |
| value_ratio_distribution_by_org() | Value ratio distribution statistics | references.analysis |
| export_cleaning_report() | Export cleaning report | references.analysis |
DATA_PATH: Data file path (best are parquet format)DATE_COL: Date column nameY_COL: Label column nameORG_COL: Organization column nameKEY_COLS: Primary key column name listOOS_ORGS: Out-of-sample organization listmin_ym_bad_sample: Minimum bad sample count per month (default 10)min_ym_sample: Minimum total sample count per month (default 500)missing_ratio: Overall missing rate threshold (default 0.6)overall_iv_threshold: Overall IV threshold (default 0.1)org_iv_threshold: Single organization IV threshold (default 0.1)max_org_threshold: Maximum tolerated low IV organization count (default 2)psi_threshold: PSI threshold (default 0.1)max_months_ratio: Maximum unstable month ratio (default 1/3)max_orgs: Maximum unstable organization count (default 6)n_estimators: Number of trees (default 100)max_depth: Maximum tree depth (default 5)gain_threshold: Gain difference threshold (default 50)max_corr: Correlation threshold (default 0.9)top_n_keep: Keep top N features by original gain ranking (default 20)The generated Excel report contains the following sheets:
10. Step7-IV分布统计 - Distribution of features in different IV ranges
11. Step8-PSI明细 - PSI values of each feature in each organization each month
12. Step8-PSI处理 - Features that do not meet PSI conditions and unstable organizations
13. Step8-PSI分布统计 - Distribution of features in different PSI ranges
14. Step9-null importance处理 - Noise features that were removed
15. Step10-高相关性剔除 - High correlation features that were removed
Take github/datanalysis-credit-risk from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.