Table of Contents
Les arbres de décision restent l'un des algorithmes d'apprentissage automatique les plus interprétables et les plus largement utilisés pour la classification et la régression. Leur structure hiérarchique, fondée sur des règles, reflète la prise de décision humaine, ce qui en fait un choix pour les analystes et les data savants. Cependant, la performance de tout modèle d'arbre de décision, qu'il s'agisse d'un arbre unique, d'une forêt aléatoire ou d'un ensemble de gradients, dépend de façon critique de la qualité des données qui y sont introduites. Les données brutes sont rarement prêtes à être modélisées; elles contiennent généralement des entrées manquantes, des catégories incohérentes, des aberrations et des fonctionnalités redondantes. Le prétraitement des données est la transformation systématique de ces données brutes en un ensemble de données propres, bien structurées et informatives.
Pourquoi le prétraitement des arbres décisionnels est-il important?
Contrairement à de nombreux autres modèles d'apprentissage automatique (p. ex. régression linéaire, réseaux neuronaux), les arbres de décision sont relativement robustes à certaines imperfections de données. Par exemple, ils peuvent gérer des relations non linéaires sans ingénierie de fonctionnalités explicites, et ils sont invariants aux transformations de fonctionnalités monotoniques. Néanmoins, le prétraitement reste essentiel pour plusieurs raisons:
- Données non cohérentes de la main :[ Des valeurs manquantes, des typos ou des catégories mal étiquetées peuvent faire en sorte que l'arbre fasse des scissions qui ne reflètent pas les vrais modèles, ce qui conduit à des modèles biaisés ou inexacts.
- Réduction de la complexité:[ Des caractéristiques non pertinentes ou redondantes introduisent du bruit, augmentent la profondeur des arbres et augmentent le risque de sur-ajustement.
- Améliorer l'interprétation:[ Des données propres et bien codées donnent des arbres avec des fractions significatives que les experts du domaine peuvent facilement comprendre et valider.
- Enabling Ensemble Methods:[ Des techniques comme les forêts aléatoires et le drainage sont encore plus sensibles à la qualité des données parce qu'ils regroupent de nombreux arbres.
Le prétraitement efficace des arbres décisionnels permet de trouver un équilibre entre la préservation de la structure inhérente des données et l'élimination des obstacles qui pourraient induire en erreur le critère de fractionnement (p. ex., l'impureté ou l'entropie de Gini).
Manipulation des données manquantes : plus que l'imputation simple
Les arbres de décision peuvent gérer partiellement les valeurs manquantes — certaines implémentations (p. ex. dans le scikit‐learn) peuvent diviser des échantillons avec des valeurs manquantes en utilisant des fractions de -surrogate. - Cependant, en se fiant uniquement à ce mécanisme intégré, il est suboptimal, surtout lorsque la proportion de manques est élevée ou lorsque les données manquantes sont informatives. La bonne stratégie dépend de la quantité et du modèle de manque.
Identification des mécanismes manquants
Avant de choisir une méthode, comprenez pourquoi les données manquent :
- Missing Complètement at Random (MCAR):[ La déficience n'a aucune relation avec aucune autre variable. La suppression de ces enregistrements est sûre mais gaspillée.
- Missing at Random (MAR):[ La déficience dépend d'autres variables observées (p. ex., les femmes sont plus susceptibles de sauter une question de poids). L'imputation qui utilise ces autres variables fonctionne bien.
- Missing Not at Random (MNAR):[ La déficience dépend de la valeur non observée elle-même (p. ex., les personnes à revenu très élevé refusent de déclarer un revenu).
Techniques d'imputation
Une simple imputation (moyen, médiane, mode) est rapide mais introduit souvent un biais en ignorant les relations entre les caractéristiques. Pour les arbres de décision, une meilleure approche est d'utiliser la structure propre de l'arbre: vous pouvez former un arbre préliminaire pour prédire les valeurs manquantes pour une caractéristique donnée en utilisant d'autres caractéristiques complètes. Ceci est essentiellement basé sur le modèle. Une autre méthode puissante est k‐L'imputation des voisins les plus proches (kNN), qui remplit les valeurs manquantes en utilisant la moyenne ou la médiane des observations complètes les plus similaires.
Pour une grande absence (par exemple, >50% d'une fonctionnalité):[ Considérez la suppression complète de la fonctionnalité. Si la fonctionnalité est critique, créez une catégorie distincte de -missing , pour les variables catégoriques ou de défaut de drapeau comme un indicateur binaire pour les caractéristiques numériques. De nombreuses implémentations d'arbre de décision traitent naturellement ces indicateurs, laissant l'arbre décider si la disparition elle-même est prédictive. Par exemple, dans un modèle de prédiction de churn, une date d'achat manquante de ----- pourrait être un signal fort d'inactivité.
Bibliothèques recommandées: pandas pour l'imputation de base, scikit-learn's SimpleImputer et IterativeImputer pour des stratégies plus avancées.
Encodage Variables catégoriques: Préservation de l'ordre sans biais
Les arbres de décision nécessitent une entrée numérique. L'encodage transforme les catégories en nombres, mais le choix de la méthode d'encodage influence fortement le comportement de division de l'arbre. La clé est d'éviter d'introduire des relations ordinales artificielles qui n'existent pas.
Catégories nominales et ordinales
- Les catégories d'ordres[ ont un ordre naturel (p. ex., niveau d'éducation : école secondaire < bachelor’s < master’s). Use Encoding d'étiquette[ (assigner des entiers 0,1,2,...) et l'arbre va naturellement ramasser des fractions basées sur l'ordre si l'ordre s'aligne sur la cible.
- Les catégories nominales (p. ex., couleur: rouge, vert, bleu) n'ont pas d'ordre intrinsèque. L'encodage d'étiquette ici est dangereux – il force un faux ordre (rouge=0, vert=1, bleu=2). L'arbre peut se diviser sur -color < 1.5” which is meaningless. Instead, use Encodage à une seule zone: créer une colonne binaire pour chaque catégorie. Ceci ajoute de nombreuses fonctionnalités mais évite les biais. Pour les caractéristiques catégoriques de haute cardinalité (p. ex., codes ZIP avec des centaines de catégories), un encodage à une chaleur peut faire sauter l'espace de la fonctionnalité.
Encodage avancé pour les arbres de décision
Certaines implémentations (comme LightGBM et CatBoost) ont une manipulation catégorique intégrée. CatBoost, par exemple, utilise un encodage de cible ordonné qui réduit le surajustement. Si vous construisez un arbre à partir de zéro ou en utilisant scikit‐learn, vous devrez toujours coder manuellement. Toujours évaluer les performances avec différents choix d'encodage; parfois simple un-hot encodage surperforme des méthodes sophistiquées si la cardinalité est faible (< 10). Pour une cardinalité très grande (p. ex. 1000+), envisager le hachage ou l'intégration de fonctionnalités (bien que cela puisse nuire à l'interprétation).
Fonctionnalité scaling: Quand il importe et quand il ne fait pas
Les arbres de décision sont invariables aux transformations monotoniques (scalage, logarithme, etc.) parce qu'ils se divisent en fonction des seuils par rapport à la distribution interne de la caractéristique. Une caractéristique graduée à [0,1] donne les mêmes scindes que lorsqu'elle est graduée à [0,100] – l'arbre ajuste simplement le seuil. Ainsi, l'échelle est généralement inutile pour un arbre de décision unique. Cependant, il existe des scénarios pratiques où l'échelle aide:
- Engagé les méthodes[ comme le dynamisation des gradients peut utiliser la régularisation qui bénéficie des fonctionnalités à échelle (par exemple, le paramètre XGBoost=s `max delta step`).
- Le couplage avec d'autres algorithmes (p. ex., l'utilisation de PCA pour réduire la dimensionnalité avant un arbre de décision) nécessite une échelle pour empêcher que des éléments de plus grande ampleur ne dominent les principaux composants.
- Visualisation et interprétabilité:[ L'échelle peut faciliter la discussion des seuils de fractionnement entre les caractéristiques mesurées en différentes unités.
Si vous choisissez d'utiliser une échelle Écaillage Min-Max[ (à [0,1] ou [-1,1]) ou Standardisation[ (z‐score). Les deux travaux; Min-Max préserve la gamme des caractéristiques, tandis que la normalisation est moins affectée par les valeurs aberrantes.
Manipulation des aberrations : laisser l'arbre décider (surtout)
Les arbres de décision sont remarquablement résistants aux valeurs aberrantes. Comme les scissions sont basées sur des statistiques d'ordre, une valeur unique extrême n'affecte que la branche qui la contient. Contrairement aux modèles linéaires, les valeurs aberrantes ne tirent pas le modèle entier.
- Profondeur excessive d'arbre:[ Un arbre pourrait créer de nombreuses fentes pour isoler quelques points aberrants, conduisant à un surajustement.
- Scissions sonores :[ Les valeurs aberrantes peuvent créer de fausses régions qui ne généralisent pas, surtout si elles sont combinées avec des données manquantes.
La meilleure pratique est de capter ou Winsorize[ des valeurs extrêmes à un percentile raisonnable (p. ex., 1er et 99e percentiles). Sinon, transformer les fonctions en utilisant une transformation log ou Box‐Cox pour réduire l'écart de skewness, mais noter que l'invariance de l'arbre signifie que la transformation change rarement les limites de décision à moins que vous ne creusiez également l'arbre.
Sélection de la fonctionnalité: Moins est plus
Les arbres de décision effectuent automatiquement une sorte de sélection de fonctionnalités en choisissant des scissions qui maximisent le gain d'information. Néanmoins, y compris de nombreuses fonctionnalités non pertinentes peuvent dégrader les performances:
- Dilution du bruit:[ L'arbre peut se diviser accidentellement sur une caractéristique bruyante qui semble avoir un gain d'information élevé en raison du hasard, en particulier avec de petits ensembles de données.
- Coût de calcul accru:[ Plus de caractéristiques signifient plus de scissions des candidats, ralentissant l'entraînement.
- Intégration : L'arbre peut devenir inutilement complexe.
Utiliser des méthodes de filtrage[ (p. ex., corrélation avec la cible, test chi-carré pour les caractéristiques catégoriques, information mutuelle) pour pré-sélectionner les caractéristiques k supérieures. Les méthodes de trapper (comme l'élimination des caractéristiques récursives) sont plus précises mais coûtant au calcul. Pour les arbres de décision, une approche simple et efficace consiste à former un arbre initial ou une forêt aléatoire, puis à examiner les caractéristiques importantes.
Techniques avancées de prétraitement
L'assemblage et la discrétisation
Cependant, discrétiser des fonctions continues[ dans un petit nombre de bacs (p. ex., en utilisant des bacs à largeur égale ou à fréquence égale) peut parfois améliorer l'interprétation et réduire les surajustements, surtout lorsque la relation entre la fonctionnalité et la cible n'est pas monotonique. Par exemple, l'âge binné dans -child, -adult, -senior, peut créer des scissions plus intuitives.
Création de fonctionnalités d'interaction
Si une interaction est très prédictive et comporte une caractéristique à faible variance, l'arbre peut avoir besoin de nombreuses scissions pour la capturer. La création explicite d'une nouvelle caractéristique qui combine deux variables (par exemple, le revenu de l'âge) peut rendre l'arbre plus efficace, mais cela peut aussi accroître la suradéquation. Une approche plus sûre consiste à utiliser un modèle d'ensemble (forêt aléatoire) qui teste automatiquement de nombreux modèles d'interaction.
Traitement des données déséquilibrées
Lorsque les classes cibles sont fortement déséquilibrées (p. ex. détection de fraude avec fraude de 1 %), les arbres décisionnels deviennent biaisés vers la classe majoritaire.
- Resample:[ Sous-échantillonner la classe majoritaire ou suréchantillonner la classe minoritaire en utilisant SMOTE (Technique de suréchantillonnage de la minorité synthétique). SMOTE crée des exemples synthétiques en interpolant entre les k-neares voisins de la classe minoritaire. Cela fonctionne bien avec les arbres de décision parce que les points synthétiques se trouvent à l'intérieur des coques convexes, rendant les scissions plus équilibrées.
- Enseigner sensible au coût:[ De nombreuses implémentations arborescentes permettent d'attribuer différents coûts de classification erronée par classe (p. ex., `class weight='equilibred'` dans scikit-learn). Cela ajuste le critère d'impureté pour pénaliser les erreurs sur la classe minoritaire plus fortement.
- S'assembler avec un piège à bottes équilibré:[ Pour les forêts aléatoires, utiliser des échantillons de piège à bottes équilibrés où chaque arbre est formé sur un sous-ensemble équilibré.
Manipulation des fonctionnalités de texte et de date
Les données textuelles: Convertissent en sac de mots ou en vecteurs TF‐IDF. Les arbres de décision (surtout les arbres profonds) peuvent encore fonctionner avec des fonctionnalités de texte clairsemées à haute dimension, mais envisager de réduire la dimensionnalité par modélisation de sujets ou extraction de mots clés.
Données de date/heure: Extraire les caractéristiques cycliques (heure de jour, jour de semaine, mois) et les traiter comme ordinales ou nominales. Pour les tendances, calculer le temps depuis un point de référence.
Flux de travail pratique pour les données de l'arbre de décision prétraitement
Un flux de travail systématique assure la cohérence et évite les fuites de données (invertement en utilisant les informations cibles lors du prétraitement, ce qui invalide l'évaluation).
- Données fractionnées tôt:[ Séparer dans la formation, la validation et les ensembles de tests avant tout prétraitement qui utilise des informations cibles (p. ex., encodage de cible, SMOTE).
- Valeurs manquantes à la main[ sur l'ensemble de formation en utilisant une imputation appropriée.
- Encoder les variables catégorisées en fonction des catégories de jeu de formation. Pour l'encodage des étiquettes, préserver la cartographie; pour une chaleur, gérer les catégories inconnues dans les tests en les regroupant.
- Aberrations de traitement (cappage) à l'aide de percentiles calculés sur des données de formation.
- Appliquez l'échelle de caractéristiques si nécessaire (p. ex. pour la réduction de l'ensemble ou de la dimensionnalité).
- Sélection des caractéristiques[ utilisant un ensemble d'entraînement uniquement. Si vous utilisez des caractéristiques importantes d'un arbre, assurez-vous que l'arbre est entraîné sur l'ensemble d'entraînement.
- Rééchantillonnage pour le déséquilibre sur l'ensemble d'entraînement (suréchantillon minoritaire) après scission, afin d'éviter la fuite de points synthétiques dans l'ensemble de validation.
- Construire l'arborescence de décision avec des hyperparamètres appropriés (par exemple, `max profondeur`, `min samples leaf`, `min impureity decrease`).
- Évaluer sur un ensemble d'essais invisibles pour évaluer la généralisation.
Ce workflow s'applique à la fois aux arbres simples et aux ensembles baggés/boostés. Pour les ensembles, envisager d'ajouter une étape de sélection de fonctionnalités basée sur l'importance après une première exécution, puis reconstruire.
Pièges courants et comment les éviter
- Durée de fuite de données par imputation:[ Ne calculez jamais la moyenne/médiane sur l'ensemble des données avant de les diviser.
- Encodage à une seule chaleur causant une sparcité:[ Pour les catégories de haute cardinalité, considérez le hachage ou l'encodage de la cible pour garder le nombre de fonctionnalités gérables.
- Ignorer les connaissances du domaine:[ Le prétraitement ne devrait pas être purement automatisé.Par exemple, dans les données médicales, une valeur de laboratoire manquante peut signifier -test non commandé - plutôt que -inconnu.
- Sur-ajustement sur les petits ensembles de données: Utilisez un prétraitement plus simple (fonctions de goutte avec de nombreuses valeurs manquantes, utilisez l'imputation de base) et un élagage lourd.
- En supposant que l'échelle soit toujours inutile: Bien que vrai pour un arbre unique, les arbres en dégradé (p. ex. XGBoost) peuvent bénéficier de caractéristiques à échelle lorsqu'ils utilisent des paramètres de régularisation.
Conclusion
Le prétraitement des données n'est pas une tâche unique; les meilleures techniques dépendent des caractéristiques spécifiques de votre ensemble de données et de la variante de l'arbre de décision que vous choisissez. Cependant, les principes demeurent constants: viser des données propres et bien structurées qui préservent des modèles significatifs tout en éliminant le bruit. En commençant par une gestion robuste des valeurs manquantes, un codage attentif des variables catégoriques et une sélection réfléchie des fonctionnalités apporteront les plus grandes améliorations.
Après avoir formé un modèle initial, inspectez l'arbre qui en résulte, sa profondeur, les caractéristiques utilisées pour le fractionnement et la distribution des prédictions, afin de comprendre où la qualité des données pourrait encore faire défaut. Utilisez l'expertise du domaine pour valider que les scissions ont un sens. En investissant du temps dans le prétraitement approprié, vous construisez des arbres de décision qui sont non seulement précis, mais également interprétables et robustes, ce qui en fait des atouts précieux dans toute trousse à outils en sciences des données.