Bucketing

Beginnen wir mit einer kurzen Übersicht über eine wichtige Idee aus dem Machine Learning Crash Course. Sehen Sie sich dazu die Verteilung im Diagramm unten an.

Ein Grundstück mit Breitengraden von Häusern Das Diagramm ist äußerst unregelmäßig. Es enthält Drumrums um den Breitengrad 36 und starke Spitzen um den Breitengrad 34 und 38. Abbildung 1: Hauspreise im Vergleich zum Breitengrad

 

Klicken Sie bei der folgenden Frage auf den gewünschten Pfeil, um Ihre Antwort zu prüfen:

Sehen Sie sich Abbildung 1 an. Wenn Sie der Meinung sind, dass der Breitengrad ein guter Prädiktor für Immobilienwerte sein könnte, sollten Sie ihn als Gleitkommawert belassen? Warum bzw. warum nicht? (Beispiel: Das Modell ist linear.)
Ja. Wenn der Breitengrad ein Gleitkommawert im Dataset ist, sollten Sie ihn nicht ändern.
Wenn Sie diese Gleitkommawerte in Ihr Netzwerk einspeisen, wird versucht, eine lineare Beziehung zwischen dem Feature und dem Label zu erkennen. Bei einer linearen Beziehung ist der Breitengrad jedoch unwahrscheinlich. Eine Erhöhung des Breitengrads um 14 Grad (z. B. von 34 auf 35 Grad) kann zu einer gewissen Veränderung der Ausgabe des Modells führen, während ein anderer Grad um 15 Grad (z. B. von 35 auf 36 Grad) zu einer anderen Veränderung führen kann. Dieses nicht lineare Verhalten.
Nein, es gibt keine lineare Beziehung zwischen dem Breitengrad und den Immobilienwerten.
Sie vermuten, dass einzelne Breitengrade und Immobilienwerte miteinander in Beziehung stehen, aber die Beziehung ist nicht linear.

In Fällen wie im Breitengradbeispiel müssen Sie die Breitengrade in Buckets aufteilen, um etwas anderes über die Immobilienwerte für jeden Bucket zu erfahren. Diese Umwandlung von numerischen Merkmalen in kategoriale Merkmale mithilfe einer Reihe von Grenzwerten wird als Bucketing (auch als „Bining“ bezeichnet) bezeichnet. In diesem Bucketing-Beispiel sind die Grenzen gleich groß.

Dieselbe Darstellung von Breiten- und Immobilienpreisen wie in der vorherigen Abbildung. Dieses Phänomen ist jedoch in 11 Eingrenzungen unterteilt, die zwischen ganzen Breitengraden liegen.

 

Abbildung 2: Hauspreise im Vergleich zu Breitengrad, jetzt in Kategorien unterteilt

Quantil-Bucketing

Schauen wir uns unser Dataset mit Fahrzeugpreisen noch einmal mit den hinzugefügten Buckets an. Mit einem Merkmal pro Bucket verwendet das Modell so viel Kapazität für ein einzelnes Beispiel im Bereich von 45.000 bis zu 5.000 bis 10.000. Das scheint Verschwendung. Wie könnten wir diese Situation verbessern?

Ein Diagramm des Autopreises pro Anzahl der zu diesem Preis verkauften Autos. Das Diagramm ist in zehn gleich große Buckets mit einem Bereich von 5.000 (Autopreis) unterteilt. Die ersten drei Buckets enthalten viele Beispiele, die letzten sieben Buckets jedoch nur sehr wenige.

Abbildung 3: Anzahl der Autos, die zu unterschiedlichen Preisen verkauft wurden

 

Das Problem ist, dass Buckets mit gleichmäßigem Abstand diese Verteilung nicht gut erfassen. Die Lösung besteht darin, Buckets zu erstellen, die beide die gleiche Anzahl von Punkten haben. Dieses Verfahren wird als Quantil-Bucketing bezeichnet. In der folgenden Abbildung werden beispielsweise die Fahrzeugpreise in Quantilgruppen aufgeteilt. Damit in jedem Bucket die gleiche Anzahl von Beispielen zu sehen ist, umfassen einige Buckets einen engen Preisbereich, während andere einen sehr breiten Preisbereich umfassen.

Wie Abbildung 3, aber mit Quantil-Buckets. Das heißt, die Buckets haben jetzt verschiedene Größen. Der kleinste Bucket hat einen Bereich von etwa 1.000 $ und der größte Bucket einen Bereich von etwa 25.000 $.
Die Anzahl der Autos in jedem Bucket ist jetzt etwa gleich.

Abbildung 4: Beim Quantil-Bucketing erhält jeder Bucket ungefähr die gleiche Anzahl von Autos.

Zusammenfassung zu Buckets

Wenn Sie Ihre numerischen Features in Buckets aufteilen möchten, müssen Sie klar festlegen, wie Sie die Grenzen festlegen und welchen Bucket-Typ Sie anwenden:

  • Buckets mit gleichmäßigen Grenzen: Die Grenzen sind fest und umfassen denselben Bereich (z. B. 0–4 Grad, 5–9 Grad und 10–14 Grad oder 5.000–9.999 $, 10.000–14.999 $ und 15.000–19.999 $). Einige Buckets können viele Punkte enthalten, andere nur wenige oder keine.
  • Buckets mit Quantilgrenzen: Jeder Bucket hat die gleiche Anzahl von Punkten. Die Grenzen sind nicht festgelegt und können einen engen oder breiten Wertebereich umfassen.