Ich baue ein Modell auf und denke, dass der geografische Standort meine Zielvariable wahrscheinlich sehr gut vorhersagen kann. Ich habe die Postleitzahl von jedem meiner Benutzer. Ich bin mir nicht ganz sicher, wie ich Postleitzahl als Vorhersagefunktion in mein Modell integrieren kann. Obwohl die Postleitzahl eine Zahl ist, hat sie keine Bedeutung, wenn die Zahl nach oben oder unten geht. Ich könnte alle 30.000 Postleitzahlen binarisieren und sie dann als Features oder neue Spalten einfügen (z. B. {user_1: {61822: 1, 62118: 0, 62444: 0, usw.}}. Dies scheint jedoch eine Tonne hinzuzufügen von Funktionen zu meinem Modell.
Überlegen Sie, wie Sie mit dieser Situation am besten umgehen können?
machine-learning
feature-construction
many-categories
captain_ahab
quelle
quelle
Antworten:
Eine meiner bevorzugten Verwendungen von Postleitzahldaten ist die Suche nach demografischen Variablen basierend auf der Postleitzahl, die auf der individuellen Ebene möglicherweise nicht verfügbar sind ...
Unter http://www.city-data.com/ können Sie beispielsweise die Einkommensverteilung, Altersgruppen usw. nachschlagen, die Ihnen möglicherweise Informationen zu Ihren Daten liefern. Diese stetigen Variablen sind oft weitaus nützlicher, als nur auf der Basis von binärisierten Postleitzahlen zu arbeiten, zumindest für relativ begrenzte Datenmengen.
Außerdem sind Postleitzahlen hierarchisch ... Wenn Sie die ersten zwei oder drei Ziffern verwenden und anhand dieser Zahlen binärisieren, verfügen Sie über einige regionale Informationen, mit denen Sie mehr Daten erhalten als mit einzelnen Reißverschlüssen.
Wie Zach sagte, können die verwendeten Längen- und Breitengrade auch nützlich sein, insbesondere in einem baumbasierten Modell. Für ein reguliertes lineares Modell können Sie Quadtrees verwenden, die die Vereinigten Staaten in vier geografische Gruppen aufteilen, diese in Binärzahlen und dann jeden dieser Bereiche in vier Gruppen aufteilen und diese als zusätzliche Binärvariablen einschließen ... also für n Blattregionen insgesamt Am Ende erhalten Sie [(4n - 1) / 3 - 1] Gesamtvariablen (n für die kleinsten Regionen, n / 4 für die nächsthöhere Ebene usw.). Dies ist natürlich multikollinear, weshalb Regularisierung erforderlich ist, um dies zu tun.
quelle
Es gibt zwei gute Optionen, die ich gesehen habe:
Persönlich mag ich wirklich baumbasierte Modelle (wie zufällige Wälder oder GBMs), daher wähle ich fast immer Option 2. Wenn Sie wirklich ausgefallen sein möchten, können Sie das Lat / Lon des Bevölkerungszentrums als Postleitzahl verwenden. eher als der Postleitzahlschwerpunkt. Aber das kann schwer zu bekommen sein.
quelle
2
Vorschlag gehen.Ich habe mich mit etwas Ähnlichem befasst, als ich einen Klassifikator trainierte, der die Muttersprache als Merkmal verwendete (wie misst man die Ähnlichkeit zwischen Englisch und Spanisch?). Es gibt viele Methoden, um die Ähnlichkeit zwischen nicht kategorialen Daten zu bestimmen .
Dies hängt von Ihren Daten ab. Wenn Sie jedoch feststellen, dass die geografische Entfernung von einer Postleitzahl nicht so wichtig ist, wie ob eine bestimmte Eingabe bestimmte Postleitzahlen enthält, können nicht kategoriale Methoden hilfreich sein.
quelle
Wenn Sie die Entfernung zwischen Datensätzen berechnen, z. B. in Clustering oder K-NN, sind die Entfernungen zwischen Postleitzahlen in ihrer Rohform möglicherweise informativ. 02138 ist geografisch viel näher an 02139 als an 45809.
quelle
Sie können Ihre Postleitzahl in eine nominelle Variable (Zeichenfolge / Faktor) umwandeln. Soweit ich mich erinnere, kann die Postleitzahl jedoch auch andere Informationen wie Bundesland, Region usw. enthalten. Ich würde nur verstehen, wie die Postleitzahl Informationen codiert und diese in mehrere Funktionen decodiert.
Auf jeden Fall ist es keine gute Idee, Postleitzahl als numerische Variable zuzulassen, da einige Modelle möglicherweise die numerische Reihenfolge oder die Entfernungen als Lernziel betrachten.
quelle
Ich würde eine Choropleth-Karte der Residuen Ihres Modells auf der Ebene der Postleitzahl erstellen.
Das Ergebnis wird als räumliche Restkarte bezeichnet und kann Ihnen bei der Auswahl einer neuen erklärenden Variablen helfen, die in Ihr Modell aufgenommen werden soll. Dieser Ansatz wird als explorative Geodatenanalyse (ESDA) bezeichnet.
Ein möglicher Workflow:
quelle
Sie können die Postleitzahlen mit den oben genannten Techniken kennzeichnen, aber lassen Sie mich eine Alternative vorschlagen. Angenommen, wir haben binäre Klassenbezeichnungen. Und in Daten haben wir "n" Postleitzahlen. Nun nehmen wir die Wahrscheinlichkeit des Auftretens jedes Pincodes in Daten an, vorausgesetzt, eine Klassenbezeichnung (entweder 1 oder Null). Sagen wir also für eine Postleitzahl "j" ------ >>>> Wir erhalten eine Wahrscheinlichkeit P_j als: nein. Anzahl der Vorkommen von "j" / Gesamtanzahl der Vorkommen von "j", wenn die Klassenbezeichnung 1 oder 0 ist. Auf diese Weise können wir sie in eine sehr schöne proabilistische Interpretation umwandeln.
quelle