Was ist Bucketization?


10

Ich habe ohne Erfolg eine klare Erklärung für "Bucketization" im maschinellen Lernen gefunden. Was ich bisher verstehe, ist, dass die Bucketisierung der Quantisierung in der digitalen Signalverarbeitung ähnelt, bei der ein Bereich kontinuierlicher Werte durch einen diskreten Wert ersetzt wird. Ist das richtig?

Was sind die Vor- und Nachteile (abgesehen von den offensichtlichen Auswirkungen des Informationsverlusts) bei der Anwendung der Bucketization? Gibt es Faustregeln für die Anwendung der Bucketization? Gibt es Richtlinien / Algorithmen für die Anwendung der Bucketization vor der Anwendung des maschinellen Lernens?


Ich habe möglicherweise nicht die richtige Antwort, aber Grob- und Feinklassifizierung [WoE und IV] helfen bei der Bucketisierung. Verzeihen Sie mir, wenn Sie das nicht erwartet haben.
Srikanth Guhan

Antworten:


4

Dies ist ein weites Thema, und Sie werden auf eine Reihe von Gründen stoßen, warum Daten in Eimern gespeichert werden sollten oder bereits sind. Nicht alle von ihnen beziehen sich auf die Vorhersagegenauigkeit.

Hier ist zunächst ein Beispiel, in dem ein Modellierer möglicherweise eine Eimerisierung durchführen möchte. Angenommen, ich baue ein Kreditbewertungsmodell auf: Ich möchte die Neigung der Menschen zum Ausfall eines Kredits kennen. In meinen Daten habe ich eine Spalte, die den Status einer Kreditauskunft angibt. Das heißt, ich habe den Bericht bei einer Ratingagentur bestellt, und die Agentur hat beispielsweise ihre proprietäre Bewertung zusammen mit einer kategorialen Variablen zurückgegeben, die die Zuverlässigkeit dieser Bewertung angibt. Dieser Indikator ist möglicherweise viel feinkörniger, als ich für meine Zwecke benötige. Zum Beispiel kann die "nicht genügend Information für eine verlässliche Punktzahl" in viele Klassen wie "weniger als 20 Jahre alt", "vor kurzem in das Land gezogen", "keine vorherige Bonitätshistorie" usw. unterteilt werden. Viele dieser Klassen kann dünn besiedelt sein und daher in einer Regression oder einem anderen Modell eher nutzlos sein. Um dies zu bewältigen, möchte ich möglicherweise ähnliche Klassen zusammenfassen, um die statistische Aussagekraft in einer "repräsentativen" Klasse zu konsolidieren. Zum Beispiel kann es für mich nur sinnvoll sein, einen binären Indikator "Gute Informationen zurückgegeben" oder "Keine Informationen zurückgegeben" zu verwenden. Nach meiner Erfahrung fallen viele Anwendungen der Bucketisierung in diesen allgemeinen BereichZusammenbruch von dünn besiedelten Kategorietypen .

Einige Algorithmen verwenden die Bucketization intern. Beispielsweise verbringen Bäume, die in Boosting-Algorithmen passen, häufig den größten Teil ihrer Zeit in einem Zusammenfassungsschritt, in dem die kontinuierlichen Daten in jedem Knoten diskretisiert und der Mittelwert der Antwort in jedem Bucket berechnet werden. Dies reduziert den Rechenaufwand beim Finden einer geeigneten Aufteilung erheblich, ohne dass die Genauigkeit aufgrund des Boostings stark beeinträchtigt wird.

Sie können auch einfach empfangen Daten vor-bucketized. Diskrete Daten lassen sich leichter komprimieren und speichern - ein langes Array von Gleitkommazahlen ist nahezu inkompressibel. Wenn Sie jedoch in "hoch", "mittel" und "niedrig" diskretisieren, können Sie viel Speicherplatz in Ihrer Datenbank sparen. Ihre Daten stammen möglicherweise auch aus einer Quelle, die auf eine nicht modellierende Anwendung abzielt. Dies passiert häufig, wenn ich Daten von Organisationen erhalte, die weniger analytische Arbeit leisten. Ihre Daten werden häufig für die Berichterstattung verwendet und auf hohem Niveau zusammengefasst, um die Interpretierbarkeit der Berichte für Laien zu verbessern. Diese Daten können immer noch nützlich sein, aber oft geht etwas Strom verloren.

Was ich weniger wert sehe, obwohl es möglich ist, dass ich korrigiert werde, ist die Vor-Bucketisierung kontinuierlicher Messungen für Modellierungszwecke. Es gibt viele sehr leistungsfähige Methoden zum Anpassen nichtlinearer Effekte an kontinuierliche Prädiktoren, und durch die Buckeisierung können Sie diese nicht mehr verwenden. Ich neige dazu, dies als schlechte Praxis zu betrachten.


4

Laut dem Artikel "High Level versus Low Level Data Science" ist Bucketization

Der Bucketization-Schritt (manchmal auch als multivariates Binning bezeichnet) besteht darin, Metriken (und Kombinationen von 2-3 Metriken) mit hoher Vorhersagekraft zu identifizieren, diese entsprechend zu kombinieren und zu kombinieren, um die Varianz innerhalb des Buckets zu verringern und gleichzeitig die Buckets groß genug zu halten.

Mein Verständnis ist also, dass Sie die Daten gierig nach den prädiktivsten Merkmalen ablegen und dann die Untergruppen analysieren.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.