Ich bin relativ neu auf dem Gebiet der Datenwissenschaft, entschuldigen Sie meine Anfängerfrage. Welche Methoden stehen zur Konvertierung email
und ip
in 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.
machine-learning
data-transformation
dataset
Segmentiert
quelle
quelle
Antworten:
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
emailtools
Paket 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!
quelle