Vorverarbeitung von E-Mail- und IP-Zeichenfolgen für die Klassifizierungsaufgabe

7

Ich bin relativ neu auf dem Gebiet der Datenwissenschaft, entschuldigen Sie meine Anfängerfrage. Welche Methoden stehen zur Konvertierung emailund ipin Vektoren für Online-Lernalgorithmen zur Verfügung? Das Klassifizierungsziel ist die Bewertung von Betrug / Nicht-Betrugstransaktionen. Zur weiteren Erläuterung: Die anderen relevanten Felder sind kategorisch und wurden vektorisiert.

Segmentiert
quelle
Siehe auch
Nemo

Antworten:

8

Das ist eine wirklich interessante Frage! Die String-Vektorisierung ist derzeit ein Bereich aktiver Forschung, und es gibt eine Menge interessanter Ansätze.

Erstens sind IP-Adressen hierarchisch und können durch Dezimalstellen in 4 kategoriale Variablen mit jeweils 256 Ebenen aufgeteilt werden (achten Sie jedoch auf IPv4 und IPv6)! In einem linearen Modell können Sie den IP-Block der obersten Ebene direkt verwenden und möglicherweise mit dem 2., 3. und 4. Block interagieren, je nachdem, wie viele Daten Sie haben. Versuchen Sie in einem baumbasierten Modell (z. B. einer zufälligen Gesamtstruktur oder einem GBM), die IP-Adresse in eine Ganzzahl zu konvertieren und direkt zu modellieren. Eine zufällige Gesamtstruktur oder ein GBM sollte in der Lage sein, interessante Blöcke des IP-Bereichs für Ihr Modell zu identifizieren. Die meisten Datenbanken haben Funktionen für diese Konvertierung, und ich weiß, dass es auch ein wirklich gutes R-Paket gibt.

Teilen Sie bei E-Mail-Adressen zunächst das @ -Symbol in Adresse und Domäne auf. Domain ist wahrscheinlich für sich genommen als kategoriale Variable nützlich, aber Sie möchten möglicherweise eine weitere Variable für .com vs .edu vs .gov usw. hinzufügen. (Das urltools-Paket in R kann Ihnen dabei helfen, Domains der obersten Ebene zu extrahieren - wirklich jemanden muss ein emailtoolsPaket schreiben !) Für den Adressteil (das Bit vor dem @ -Symbol) können Sie einen Zeichen-n-Gramm-Vektorisierer verwenden, um eine sehr breite, sehr spärliche Matrix zu erstellen, die Sie dann direkt in Ihrem Modell verwenden können oder können Weiterer Prozess mit etwas wie SVD, um die Dimensionalität zu reduzieren. Sie könnten auch versuchen , ein Wort vectorizer, Splitting auf Symbole wie ., -und _.

In diesen beiden Feldern gibt es eine Menge Informationen - viel Glück beim Extrahieren!


Zach
quelle
Vielen Dank für Ihre erklärende Antwort. Bevor ich diese Frage gestellt habe, habe ich mich umgesehen und festgestellt, dass die Hash-Funktionen die Lokalität bewahren. Ich habe den Ansatz fortgesetzt, nachdem ich einige Artikel gelesen hatte, und die Hauptbeschränkung sind die riesigen Signaturen, die sie erzeugen. Ist der LSH-Ansatz ein Overkill / toter Verbündeter für mein Szenario?
Segmentiert
@ Segmentiert Ich habe LSH noch nie ausprobiert. Bei IP-Adressen hat das Konvertieren in Ganzzahlen und das Einfügen in ein GBM in der Vergangenheit für mich sehr gut funktioniert (die Ganzzahldarstellung bewahrt die Lokalität von IP-Adressen sehr gut). Bei E-Mail-Adressen hat das Aufteilen von Domain- und Zeichenzeichen ebenfalls funktioniert, ist jedoch etwas schwierig zu implementieren. Vielleicht versuchen Sie zuerst etwas Einfaches und sehen Sie, wie Ihre Ergebnisse aussehen?
Zach
Vielen Dank für die geduldige Erklärung. Ich akzeptiere Ihre Antwort, da sie eine klare Methodik definiert, um ein solches Problem anzugehen.
Segmentiert
@ Segmentiert Ich bin froh, dass ich helfen konnte!
Zach