Binning (auch Bucketing genannt) ist ein
Feature Engineering
Verfahren, das verschiedene numerische Teilbereiche in Bins oder
Buckets:
In vielen Fällen werden numerische Daten beim Binning in kategorische Daten umgewandelt.
Sehen wir uns zum Beispiel eine Funktion an.
namens X
, deren niedrigster Wert 15 ist und
der höchste Wert bei 425 liegt. Mithilfe von Binning könnten Sie X
mit der
folgende fünf Container:
- Container 1: 15–34
- Container 2: 35 bis 117
- Container 3: 118 bis 279
- Container 4: 280 bis 392
- Container 5: 393 bis 425
Container 1 umfasst den Bereich von 15 bis 34, sodass jeder Wert von X
zwischen 15 und 34 liegt.
in Container 1 landet. Ein auf diesen Klassen trainiertes Modell reagiert nicht anders
auf die X
-Werte 17 und 29, da sich beide Werte in Container 1 befinden.
Der Featurevektor repräsentiert auf die fünf Container:
Klassennummer | Bereich | Featurevektor |
---|---|---|
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] |
Obwohl X
eine einzelne Spalte im Dataset ist, verursacht Binning ein Modell.
um X
als fünf separate Funktionen zu behandeln. Daher lernt das Modell
separate Gewichte für jeden Container.
Gruppieren ist eine gute Alternative zur Skalierung. oder clipping, wenn entweder erfüllt sind:
- Die allgemeine lineare Beziehung zwischen dem Element und dem Element Das Label label ist schwach oder nicht vorhanden.
- Wenn die Featurewerte geclustert sind.
Das Gruppieren ist unlogisch, da das Modell im im vorherigen Beispiel die Werte 37 und 115 gleich behandelt. Wenn Sie jedoch ein Element un umständlicher als ein lineares Element erscheint, ist Gruppierung eine viel bessere Möglichkeit, die die Daten darstellen.
Beispiel für Gruppierung: Anzahl der Käufer im Vergleich zur Temperatur
Angenommen, Sie erstellen ein Modell, das die Anzahl der Käufer nach der Außentemperatur an diesem Tag. Hier ist ein Diagramm der im Vergleich zur Anzahl der Käufer:
![Abbildung 9. Ein Streudiagramm mit 45 Punkten. Die 45 Punkte
in drei Gruppen unterteilen.](https://developers.google.cn/static/machine-learning/crash-course/images/binning_temperature_vs_shoppers.png?authuser=7&hl=de)
Das Diagramm zeigt, nicht überraschend, dass die Anzahl der Käufer am höchsten war, war die Temperatur am angenehmsten.
Sie könnten das Merkmal als Rohwerte darstellen: eine Temperatur von 35,0 im wäre im Featurevektor 35,0. Ist das die beste Idee?
Während des Trainings lernt ein lineares Regressionsmodell für jede . Wird die Temperatur als einzelnes Merkmal dargestellt, ist also ein eine Temperatur von 35,0 hat den fünffachen Einfluss (oder ein Fünftel der Einfluss) in einer Vorhersage als Temperatur von 7,0. Das Diagramm zeigt jedoch jede Art von linearer Beziehung zwischen dem Label und dem Featurewert.
Im Diagramm werden drei Cluster in den folgenden Teilbereichen vorgeschlagen:
- Container 1 ist der Temperaturbereich von 4 bis 11.
- Container 2 ist der Temperaturbereich von 12 bis 26.
- Container 3 ist der Temperaturbereich 27–36.
![Abbildung 10. Das Streudiagramm mit 45 Punkten
aber mit vertikalen Linien, um die Container besser sichtbar zu machen.](https://developers.google.cn/static/machine-learning/crash-course/images/binning_temperature_vs_shoppers_divided_into_3_bins.png?authuser=7&hl=de)
Das Modell lernt separate Gewichte für jeden Container.
Es ist zwar möglich, mehr als drei Klassen zu erstellen, auch für Temperatur messen, ist dies aus folgenden Gründen oft eine schlechte Idee:
- Ein Modell kann die Verknüpfung zwischen einem Container und einem Label nur dann lernen, wenn Beispiele dafür sind. In diesem Beispiel hat jeder der drei Container enthält mindestens 10 Beispiele, die möglicherweise für das Training ausreichen. Mit 33 separaten Behältern Keiner der Container würde genügend Beispiele für das Training des Modells enthalten.
- Ein separater Behälter für jede Temperatur führt zu 33 separate Temperaturfunktionen. In der Regel sollten Sie jedoch minimieren, die Anzahl der Merkmale in einem Modell.
Übung: Wissenstest
Das folgende Diagramm zeigt den Medianwert der Immobilienpreise pro 0,2 Grad Breitengrad für das sagenhafte Land Freedonia:
![Abbildung 11. Eine Darstellung der Haushaltewerte pro Breitengrad. Das unterste Haus
liegt bei etwa 327 und der höchste bei 712. Die Breitengrade umfassen 41,0
44,8, wobei ein Punkt den Medianwert des Hauswerts für jede
0,2 Breitengrade. Das Muster ist sehr unregelmäßig,
zwei verschiedene Cluster (ein Cluster zwischen dem Breitengrad 41.0 und 41.8,
und einem anderen Cluster zwischen Breitengrad 42,6 und 43,4).](https://developers.google.cn/static/machine-learning/crash-course/images/MedianHouseValueByLatitude.png?authuser=7&hl=de)
Die Grafik zeigt ein nicht lineares Muster zwischen Basiswert und Breitengrad, Es ist daher unwahrscheinlich, dass die Darstellung des Breitengrads als Gleitkommawert hilfreich ist. um gute Vorhersagen zu machen. Vielleicht wäre das Bucketing von Breitengraden Idee?
- 41,0 bis 41,8
- 42,0 bis 42,6
- 42,8 bis 43,4
- 43,6 bis 44,8
Quantil-Bucketing
Beim Quantilen Bucketing werden Bucketing-Grenzen erstellt, sodass die Anzahl der Beispiele in jedem Bucket genau oder nahezu gleich ist. Quantil-Bucketing die Ausreißer größtenteils ausgeblendet.
Um das Problem zu veranschaulichen, das sich durch Quantil-Bucketing lösen lässt, betrachten wir das wie in der folgenden Abbildung dargestellt, in denen jeweils der zehn Buckets eine Spanne von genau 10.000 $. Beachten Sie,dass der Bucket von 0 bis 10.000 Dutzende von Beispielen enthält. aber der Bucket von 50.000 bis 60.000 enthält nur fünf Beispiele. Daher hat das Modell genug Beispiele, um mit den Werten von 0 bis 10.000 Bucket, aber nicht genügend Beispiele zum Trainieren für den Bucket von 50.000 bis 60.000.
![Abbildung 13. Darstellung des Preises und der Anzahl der verkauften Autos
diesen Preis. Die Anzahl der verkauften Autos erreicht ihren Höchststand bei einem Preis von 6.000.
Über einem Preis von 6.000, ist die Anzahl der verkauften Autos im Allgemeinen
geht zurück und nur sehr wenige Autos wurden zwischen 40.000 und 40.000
60.000. Das Diagramm ist in sechs gleich große Gruppen
einen Bereich von 10.000. Die erste Gruppe enthält also
alle verkauften Autos,
zwischen einem Preis von 0 und einem Preis von 10.000,
Gruppe enthält alle Autos,die zwischen einem Preis von 10.001 und
20.000 und so weiter. Der erste Bucket enthält viele Beispiele. jedes
nachfolgende Bucket enthält weniger Beispiele.](https://developers.google.cn/static/machine-learning/crash-course/images/NeedsQuantileBucketing.png?authuser=7&hl=de)
Im Gegensatz dazu wird in der folgenden Abbildung das Quantil-Bucketing zur Aufteilung der Autopreise verwendet in Klassen mit ungefähr derselben Anzahl von Beispielen in jedem Bucket aufzuteilen. Beachten Sie, dass einige Klassen eine enge Preisspanne haben, während andere eine sehr große Preisspanne umfassen.
![Abbildung 14. Wie in vorherige Abbildung, nur bei Quantil-Buckets.
Das heißt, die Buckets haben jetzt unterschiedliche Größen. Der erste Bucket
die von 0 bis 4.000 verkaufte Autos enthält, enthält die zweite Gruppe
die verkauften Autos von 4.001 auf 6.000. Der sechste Bucket enthält die
verkauften Autos von 25.001 bis 60.000. Anzahl der Autos in jeder Gruppe
ist in etwa gleich.](https://developers.google.cn/static/machine-learning/crash-course/images/QuantileBucketing.png?authuser=7&hl=de)