Qu'est-ce que la bucketisation?

10

J'ai fait le tour pour trouver une explication claire de la «bucketisation» dans l'apprentissage automatique sans succès. Ce que je comprends jusqu'à présent, c'est que la bucketisation est similaire à la quantification dans le traitement numérique du signal où une plage de valeurs continues est remplacée par une valeur discrète. Est-ce correct?

Quels sont les avantages et les inconvénients (outre l'impact évident de la perte d'informations) de l'application de la bucketisation? Existe-t-il des règles générales sur la façon d'appliquer la bucketisation? Existe-t-il des directives / algorithmes pour appliquer la bucketisation avant d'appliquer l'apprentissage automatique?

MedAli
la source
Je n'ai peut-être pas la bonne réponse, mais le classement grossier et le classement fin [WoE et IV] aident à la bucketisation. Excusez-moi si ce n'est pas ce à quoi vous vous attendiez.
Srikanth Guhan

Réponses:

4

Il s'agit d'un sujet large et vous rencontrerez un éventail de raisons pour lesquelles les données devraient être, ou sont déjà, regroupées. Tous ne sont pas liés à la précision prédictive.

Tout d'abord, voici un exemple où un modélisateur peut vouloir bucketiser. Supposons que je construise un modèle de notation du crédit: je veux connaître la propension des gens à ne pas rembourser un prêt. Dans mes données, j'ai une colonne indiquant l'état d'un rapport de crédit. Autrement dit, j'ai commandé le rapport à une agence de notation, et l'agence a retourné, disons, leur score propriétaire, ainsi qu'une variable catégorielle indiquant la fiabilité de ce score. Cet indicateur peut être beaucoup plus fin que ce dont j'ai besoin pour mes besoins. Par exemple, «pas assez d'informations pour un score fiable» peut être réparti en plusieurs classes comme «moins de 20 ans», «récemment déménagé dans le pays», «aucun antécédent de crédit», etc. Beaucoup de ces classes peut être peu peuplé, et donc plutôt inutile dans une régression ou un autre modèle. Pour y faire face, je souhaiterais peut-être regrouper des classes similaires pour consolider le pouvoir statistique en une classe "représentative". Par exemple, il peut être raisonnable pour moi d'utiliser un indicateur binaire «bonne information retournée» contre «aucune information retournée». D'après mon expérience, de nombreuses applications de bucketisation entrent dans cel'effondrement du type de catégories peu peuplées .

Certains algorithmes utilisent la bucketisation en interne. Par exemple, les arborescences adaptées aux algorithmes de boost passent souvent la majorité de leur temps dans une étape de récapitulation, où les données continues dans chaque nœud sont discrétisées et la valeur moyenne de la réponse dans chaque compartiment est calculée. Cela réduit considérablement la complexité de calcul de trouver un fractionnement approprié, sans trop de sacrifices de précision en raison de l'amplification.

Vous pouvez également simplement recevoir des données pré-regroupées. Les données discrètes sont plus faciles à compresser et à stocker - un long tableau de nombres à virgule flottante est presque incompressible, mais lorsqu'il est discrétisé en «haut», «moyen» et «bas», vous pouvez économiser beaucoup d'espace dans votre base de données. Vos données peuvent également provenir d'une source ciblée sur une application sans modélisation. Cela se produit souvent lorsque je reçois des données d'organisations qui effectuent moins de travail analytique. Leurs données sont souvent utilisées pour les rapports et sont résumées à un niveau élevé pour aider à l'interprétabilité des rapports aux profanes. Ces données peuvent toujours être utiles, mais souvent une partie de l'alimentation est perdue.

Ce que je vois de moins de valeur, bien que je puisse le corriger, c'est la pré-bucketisation des mesures en continu à des fins de modélisation. Il existe de nombreuses méthodes très puissantes pour ajuster des effets non linéaires à des prédicteurs continus, et la buckeization vous enlève la possibilité de les utiliser. J'ai tendance à voir cela comme une mauvaise pratique.

Matthew Drury
la source
4

Selon l'article «High Level Versus Low Level Data Science», la bucketisation est

L'étape de compartimentage (parfois appelée regroupement multivarié) consiste à identifier des métriques (et des combinaisons de 2 à 3 métriques) avec un pouvoir prédictif élevé, à les combiner et à les regrouper de manière appropriée, afin de réduire la variance intra-compartiment tout en gardant les compartiments suffisamment grands.

Donc, je comprends que vous regroupez les données avec avidité selon les caractéristiques les plus prédictives, puis analysez les sous-groupes.

Arthur B.
la source