Nettoyage des données et sélection des variables
Démarrage rapide
# Exécuter le pipeline complet de nettoyage des données
python ".github/skills/datanalysis-credit-risk/scripts/example.py"
Description du processus complet
Le pipeline de nettoyage des données se compose des 11 étapes suivantes, chacune exécutée indépendamment sans supprimer les données originales :
- Get Data - Charger et formater les données brutes
- Organization Sample Analysis - Statistiques du nombre d'échantillons et du taux d'échantillons mauvais par organisation
- Separate OOS Data - Séparer les échantillons hors échantillon (OOS) des échantillons de modélisation
- Filter Abnormal Months - Supprimer les mois avec un nombre insuffisant d'échantillons mauvais ou un nombre total d'échantillons insuffisant
- Calculate Missing Rate - Calculer les taux de données manquantes globaux et au niveau de l'organisation pour chaque feature
- Drop High Missing Rate Features - Supprimer les features avec un taux de données manquantes global dépassant le seuil
- Drop Low IV Features - Supprimer les features avec un IV global trop faible ou un IV trop faible dans trop d'organisations
- Drop High PSI Features - Supprimer les features avec un PSI instable
- Null Importance Denoising - Supprimer les features de bruit à l'aide de la méthode de permutation d'étiquette
- Drop High Correlation Features - Supprimer les features hautement corrélées en fonction du gain original
- Export Report - Générer un rapport Excel contenant les détails et statistiques de toutes les étapes
Fonctions principales
| Fonction | Objectif | Module |
|---|---|---|
get_dataset() |
Charger et formater les données | references.func |
org_analysis() |
Analyse des échantillons par organisation | references.func |
missing_check() |
Calculer le taux de données manquantes | references.func |
drop_abnormal_ym() |
Filtrer les mois anormaux | references.analysis |
drop_highmiss_features() |
Supprimer les features avec taux de données manquantes élevé | references.analysis |
drop_lowiv_features() |
Supprimer les features avec IV faible | references.analysis |
drop_highpsi_features() |
Supprimer les features avec PSI élevé | references.analysis |
drop_highnoise_features() |
Débruitage par Null Importance | references.analysis |
drop_highcorr_features() |
Supprimer les features hautement corrélées | references.analysis |
iv_distribution_by_org() |
Statistiques de distribution IV | references.analysis |
psi_distribution_by_org() |
Statistiques de distribution PSI | references.analysis |
value_ratio_distribution_by_org() |
Statistiques de distribution des ratio de valeurs | references.analysis |
export_cleaning_report() |
Exporter le rapport de nettoyage | references.analysis |
Description des paramètres
Paramètres de chargement des données
DATA_PATH: Chemin du fichier de données (format parquet recommandé)DATE_COL: Nom de la colonne de dateY_COL: Nom de la colonne d'étiquetteORG_COL: Nom de la colonne d'organisationKEY_COLS: Liste des noms de colonnes de clé primaire
Configuration de l'organisation OOS
OOS_ORGS: Liste des organisations hors échantillon
Paramètres de filtrage des mois anormaux
min_ym_bad_sample: Nombre minimum d'échantillons mauvais par mois (par défaut 10)min_ym_sample: Nombre minimum total d'échantillons par mois (par défaut 500)
Paramètres de taux de données manquantes
missing_ratio: Seuil de taux de données manquantes global (par défaut 0,6)
Paramètres IV
overall_iv_threshold: Seuil IV global (par défaut 0,1)org_iv_threshold: Seuil IV pour une seule organisation (par défaut 0,1)max_org_threshold: Nombre maximum d'organisations avec IV faible toléré (par défaut 2)
Paramètres PSI
psi_threshold: Seuil PSI (par défaut 0,1)max_months_ratio: Ratio maximum de mois instables (par défaut 1/3)max_orgs: Nombre maximum d'organisations instables (par défaut 6)
Paramètres Null Importance
n_estimators: Nombre d'arbres (par défaut 100)max_depth: Profondeur maximale de l'arbre (par défaut 5)gain_threshold: Seuil de différence de gain (par défaut 50)
Paramètres de corrélation élevée
max_corr: Seuil de corrélation (par défaut 0,9)top_n_keep: Conserver les N premières features selon le classement du gain original (par défaut 20)
Rapport de sortie
Le rapport Excel généré contient les feuilles suivantes :
- 汇总 - Informations de synthèse de toutes les étapes, y compris les résultats opérationnels et les conditions
- 机构样本统计 - Nombre d'échantillons et taux d'échantillons mauvais par organisation
- 分离OOS数据 - Nombres d'échantillons OOS et d'échantillons de modélisation
- Step4-异常月份处理 - Mois anormaux supprimés
- 缺失率明细 - Taux de données manquantes globaux et au niveau de l'organisation pour chaque feature
- Step5-有值率分布统计 - Distribution des features selon différentes plages de ratio de valeurs
- Step6-高缺失率处理 - Features avec taux de données manquantes élevé supprimées
- Step7-IV明细 - Valeurs IV de chaque feature dans chaque organisation et au global
- Step7-IV处理 - Features ne répondant pas aux conditions IV et organisations avec IV faible
- Step7-IV分布统计 - Distribution des features selon différentes plages IV
- Step8-PSI明细 - Valeurs PSI de chaque feature dans chaque organisation et chaque mois
- Step8-PSI处理 - Features ne répondant pas aux conditions PSI et organisations instables
- Step8-PSI分布统计 - Distribution des features selon différentes plages PSI
- Step9-null importance处理 - Features de bruit supprimées
- Step10-高相关性剔除 - Features hautement corrélées supprimées
Caractéristiques
- Saisie interactive : Les paramètres peuvent être saisis avant l'exécution de chaque étape, avec support des valeurs par défaut
- Exécution indépendante : Chaque étape est exécutée indépendamment sans supprimer les données originales, facilitant l'analyse comparative
- Rapport complet : Générer un rapport Excel complet contenant les détails, statistiques et distributions
- Support multi-processus : Les calculs IV et PSI supportent l'accélération multi-processus
- Analyse au niveau de l'organisation : Support des statistiques au niveau de l'organisation et de la distinction modélisation/OOS