Données numériques: binning

Le binning (également appelé binning) est un ingénierie des caractéristiques qui regroupe différentes sous-plages numériques dans des classes ou buckets : Dans de nombreux cas, le binning transforme les données numériques en données catégorielles. Prenons l'exemple d'une fonctionnalité. nommé X, dont la valeur la plus faible est 15 et la valeur la plus élevée est 425. À l'aide du binning, vous pouvez représenter X avec le les cinq classes suivantes:

  • Classe 1: 15 à 34
  • Classe 2: 35 à 117
  • Classe 3: 118 à 279
  • Classe 4: 280 à 392
  • Classe 5: 393 à 425

Le bin 1 couvre la plage 15 à 34, de sorte que chaque valeur de X est comprise entre 15 et 34 se retrouve dans le bin 1. Un modèle entraîné sur ces classes ne réagira pas différemment à X des valeurs de 17 et 29, car les deux valeurs se trouvent dans le bin 1.

Le vecteur de caractéristiques représente les cinq bins comme suit:

Numéro de binPlageVecteur de caractéristiques
1 15-34 [1.0, 0.0, 0.0, 0.0, 0.0]
2 35-117 [0.0, 1.0, 0.0, 0.0, 0.0]
3 118-279 [0,0, 0,0, 1,0, 0,0, 0,0]
4 280-392 [0,0, 0,0, 0,0, 1,0, 0,0]
5 393-425 [0,0, 0,0, 0,0, 0,0, 1,0]

Même si X est une colonne unique de l'ensemble de données, le binning entraîne le modèle de traiter X comme cinq caractéristiques distinctes. Par conséquent, le modèle apprend des pondérations distinctes pour chaque classe.

Le binning est une bonne alternative au scaling ou le clipping lorsque l'une des les conditions suivantes sont remplies:

  • Relation linéaire globale entre la caractéristique et la label est faible ou inexistant.
  • Lorsque les valeurs des caractéristiques sont mises en cluster.

Le binning peut sembler contre-intuitif, étant donné que le modèle dans l'exemple précédent traite les valeurs 37 et 115 de manière identique. Mais quand une caractéristique semble plus encombrante que linéaire, le binning est un bien meilleur moyen représentent les données.

Exemple de binning: nombre d'acheteurs par rapport à la température

Supposons que vous créez un modèle qui prédit le nombre clients en fonction de la température extérieure du jour. Voici un graphique des par rapport au nombre d'acheteurs:

Figure 9. Un nuage de points de 45 points. Naturellement, les 45 points
            en trois groupes.
Figure 9 : Un nuage de points de 45 points.

Le tracé montre, sans surprise, que le nombre d'acheteurs était le plus élevé lorsque la température était la plus agréable.

Vous pouvez représenter la caractéristique sous forme de valeurs brutes: une température de 35,0 dans la est de 35,0 dans le vecteur de caractéristiques. Est-ce la meilleure idée ?

Pendant l'entraînement, un modèle de régression linéaire apprend une seule pondération pour chaque . Par conséquent, si la température est représentée par une seule caractéristique, une température de 35,0 aurait cinq fois plus d'influence (ou un cinquième influence) dans une prédiction, sous la forme d'une température de 7,0. Cependant, le tracé ne montrent une relation linéaire entre l'étiquette la valeur de la caractéristique.

Le graphique suggère trois clusters dans les sous-plages suivantes:

  • Le bin 1 est la plage de températures 4-11.
  • Le bin 2 est la plage de températures 12-26.
  • Le bin 3 est la plage de températures de 27 à 36.
<ph type="x-smartling-placeholder">
</ph> Figure 10 : Le même diagramme de dispersion de 45 points que le précédent
            mais avec des lignes verticales
pour rendre les classes plus évidentes.
Figure 10. Le nuage de points est divisé en trois bins.

Le modèle apprend des pondérations distinctes pour chaque bin.

Bien qu'il soit possible de créer plus de trois bins, même un bin distinct pour chaque température relevée, cette pratique est souvent déconseillée pour les raisons suivantes:

  • Un modèle ne peut apprendre l'association entre un bin et une étiquette que s'il existe sont assez d'exemples dans cette classe. Dans l'exemple donné, chacune des trois classes contient au moins 10 exemples, ce qui peut suffire pour l'entraînement. Avec 33 bacs distincts, aucun des bins ne contiendrait suffisamment d'exemples pour l'entraînement du modèle.
  • Un bin distinct pour chaque température donne 33 fonctionnalités de température distinctes. Toutefois, vous devez généralement minimiser le nombre de caractéristiques d'un modèle.

Exercice: tester vos connaissances

Le graphique suivant montre le prix médian d’une maison pour chaque 0,2 degré de latitude du pays mythique, la Freedonie:

Figure 11 : Graphique des valeurs domestiques en fonction de la latitude. La maison la plus basse
            la valeur est d’environ 327 et la
plus élevée est 712. Les latitudes s&#39;étendent sur 41,0
            à 44,8, avec un point représentant la valeur médiane d&#39;un logement
            0,2 degré de latitude. Le modèle est très irrégulier, mais avec
            Deux clusters distincts (un cluster compris entre 41,0 et 41,8,
            et un autre avec une latitude comprise entre 42,6 et 43,4).
Figure 11 : Valeur médiane du logement pour une latitude de 0,2 degré.

Le graphique montre un schéma non linéaire entre la valeur du logement et la latitude. Il est donc peu probable que représenter la latitude comme sa valeur à virgule flottante pour qu'un modèle réalise de bonnes prédictions. Le binning des latitudes conviendrait peut-être idée ?

Quelle serait la meilleure stratégie de binning ?
Ne bucket pas.
Étant donné le caractère aléatoire de la majeure partie du tracé, c'est probablement la meilleure stratégie.
Créez quatre buckets:
  • 41,0 à 41,8
  • 42,0 à 42,6
  • 42,8 à 43,4
  • 43,6 à 44,8
Il serait difficile pour un modèle de trouver une seule pondération prédictive toutes les maisons de la deuxième ou quatrième poubelle, qui contient quelques exemples.
Faites de chaque point de données son propre bucket.
Cela n'est utile que si l'ensemble d'entraînement contient pour chaque 0,2 degré de latitude. En général, les maisons ont tendance à se regrouper à proximité des villes et à être relativement rares dans d'autres à différents endroits.

Binning de quantiles

Le binning par quantile crée des limites de binning de sorte que le nombre d'exemples dans chaque bucket est exactement ou presque égal. Le binning en quantiles cache principalement les anomalies.

Pour illustrer le problème que permet le binning en quantiles, prenons sont espacés de manière égale, comme illustré dans la figure suivante, où chaque bucket des dix catégories représente une portée de exactement 10 000 dollars. Notez que le bucket compris entre 0 et 10 000 contient des dizaines d'exemples mais le bucket de 50 000 à 60 000 ne contient que 5 exemples. Par conséquent, le modèle dispose de suffisamment d'exemples pour être entraîné sur la plage de 0 à 10 000 mais pas assez d'exemples pour l'entraînement du bucket de 50 000 à 60 000.


  
  
    Figure 13 Graphique du prix d&#39;une voiture par rapport au nombre de voitures vendues à
            ce prix. Le nombre de voitures vendues culmine à 6 000.
            Au-dessus de 6 000, le nombre de voitures vendues en général
            baisse, avec très peu de voitures vendues entre 40 000 et
            60 000. Le tracé est divisé en 6 buckets de taille égale, chacun ayant
            une plage de 10 000. Ainsi, le premier bucket contient
toutes les voitures vendues
            entre 0 et 10 000, la seconde
            bucket contient toutes les voitures vendues entre 10 001 et
            20 000, etc. Le premier bucket contient de nombreux exemples. chaque
            le bucket suivant contient moins d&#39;exemples.
Figure 13. Certains seaux contiennent beaucoup de voitures ; d'autres buckets contiennent très peu de voitures.

À l'inverse, la figure suivante utilise le binning en quantiles pour diviser le prix des voitures. dans des bins contenant à peu près le même nombre d'exemples dans chaque bucket. Notez que certains segments incluent une fourchette de prix étroite, tandis que d'autres s'adressent à des prix très larges.

Figure 14. Identique à la figure précédente, sauf avec des buckets de quantiles.
            Autrement dit, les buckets ont maintenant des tailles différentes. Le premier bucket
            contient les voitures vendues de 0 à 4 000, le deuxième contient
            les voitures vendues de 4 001 à 6 000. Le sixième bucket contient
            de 25 001 à 60 000 voitures. Nombre de voitures dans chaque bucket
            est maintenant à peu près identique.
Figure 14 : Le binning par quantiles donne à chaque bucket à peu près la même le nombre de voitures.