Kürzlich habe ich erfahren, dass eine Möglichkeit, bessere Lösungen für ML-Probleme zu finden, in der Erstellung von Features besteht. Man kann das zum Beispiel durch Summieren von zwei Merkmalen tun.
Zum Beispiel besitzen wir zwei Funktionen "Angriff" und "Verteidigung" einer Art Held. Wir erstellen dann ein zusätzliches Feature namens "total", das eine Summe aus "Angriff" und "Verteidigung" ist. Was mir jetzt seltsam erscheint, ist, dass selbst harte "Angriffe" und "Verteidigungen" fast perfekt mit "Gesamt" korrelieren und wir trotzdem nützliche Informationen erhalten.
Was ist die Mathematik dahinter? Oder argumentiere ich falsch?
Ist das kein Problem für Klassifikatoren wie kNN, dass "total" immer größer ist als "attack" oder "defense"? Daher werden wir auch nach der Standardisierung Features haben, die Werte aus verschiedenen Bereichen enthalten.
quelle
Antworten:
Du fragst den Titel und der Inhalt scheint mir nicht zu passen. Wenn Sie ein lineares Modell verwenden, fügen Sie zusätzlich zu Angriff und Verteidigung eine Gesamtfunktion hinzu, die die Situation verschlimmert.
Zuerst würde ich beantworten, warum Feature-Engineering im Allgemeinen funktioniert.
Ein Bild sagt mehr als tausend Worte. Diese Abbildung gibt Ihnen möglicherweise einige Einblicke in das Feature-Engineering und warum es funktioniert ( Bildquelle ):
Die Daten in kartesischen Koordinaten sind komplizierter und es ist relativ schwierig, eine Regel zu schreiben / ein Modell zu erstellen, um zwei Typen zu klassifizieren.
Die Daten in Polarkoordinaten sind sehr einfach: Wir können eine einfache Regel für schreiben , um zwei Typen zu klassifizieren.r
Dies sagt uns, dass die Darstellung der Daten sehr wichtig ist. In bestimmten Räumen ist es viel einfacher, bestimmte Aufgaben zu erledigen als in anderen Räumen.
Hier beantworte ich die in Ihrem Beispiel erwähnte Frage (insgesamt bei Angriff und Verteidigung)
Tatsächlich funktioniert das in diesem Beispiel aus Angriff und Verteidigung erwähnte Feature-Engineering bei vielen Modellen wie dem linearen Modell nicht gut und verursacht einige Probleme. Siehe Multikollinearität . Auf der anderen Seite kann ein solches Feature-Engineering für andere Modelle wie Entscheidungsbaum / zufällige Gesamtstruktur verwendet werden. Weitere Informationen finden Sie in der Antwort von @ Imran.
Die Antwort lautet also, dass je nach verwendetem Modell einige Funktionen für einige Modelle hilfreich sind, nicht jedoch für andere Modelle.
quelle
Der von uns verwendete Modelltyp ist möglicherweise nicht sehr effizient beim Erlernen bestimmter Kombinationen vorhandener Features.
a
d
Da Entscheidungsbäume nur entlang einzelner Feature-Achsen aufgeteilt werden können, wird unser Modell versuchen, eine Treppe zu erstellen, die zu einer Linie passt, die ungefähr so aussieht:
Wie Sie sehen, lässt sich dies nicht perfekt auf neue Daten übertragen. Wir können Kreise über der wahren Entscheidungslinie haben, die sich unter unserer Entscheidungsgrenze befinden, und umgekehrt für Kreuze.
Wenn wir jedoch
a+d
ein Feature hinzufügen, wird das Problem für einen Entscheidungsbaum trivial. Es kann das Individuuma
und died
Merkmale ignorieren und das Problem mit einem einzigena+d<0
Entscheidungsstumpf lösen .Zusammenfassend kann gesagt werden, dass je nach verwendetem Modelltyp bestimmte zusätzliche Funktionen hilfreich sein können. Achten Sie beim Entwickeln von Funktionen darauf, sowohl die Daten als auch das Modell zu berücksichtigen.
quelle
a
undd
dies ausreichen würde und das Hinzufügena+d
als Feature keinen Unterschied machen würde.total
total
attack
defense
attack
defense
total
attack
total
defense
Wenn Sie Ihre Prädiktoren standardisieren möchten, sollten Sie dies tun, nachdem alle erstellt wurden.
quelle
[attack, defense, total]
hat natürlich Rang 2. Ich könnte mir vorstellen, dass es in so etwas wie einem bestraften linearen Modell einen Unterschied machen könnte, aber das basiert eher auf der Intuition als darauf, es vollständig durchzuarbeiten. Können Sie erklären, warum wennattack
unddefense
nicht stark korreliert sindtotal
(was passiert, wennattack
unddefense
sind stark negativ korreliert), warumtotal
kann hilfreich sein?total
nicht stark mitattack
oder korreliert sein mussdefense
, aber Sie würden aufgrund der Linearität niemals zwei Prädiktoren und deren Summe im selben Modell verwenden Abhängigkeit, mit impliziert eine starke Korrelation zwischen einigen zwei der drei.Um eine allgemeine Antwort zu geben, geht es beim Feature-Engineering in den meisten Fällen darum, aussagekräftige Features aus Ihren Daten zu extrahieren. Wenn Sie also Ihrem Modell mehr Informationen geben, sollte es sich offensichtlich besser verhalten. Angenommen, Ihre Daten bestehen aus E-Mail-Adressen im Format '[email protected]'. Wenn Sie sie unverändert in Ihrem Modell verwenden, wird jede Person durch eine eindeutige E-Mail-Adresse gekennzeichnet, sodass dies nicht viel aussagt. Es würde uns nur sagen, dass eine E-Mail möglicherweise zu einer anderen Person gehört als zu einer anderen. Mit Feature Engineering können Sie aus solchen Adressen Informationen über das mögliche Geschlecht (Name), den familiären Hintergrund und die ethnische Zugehörigkeit (Nachname), die Nationalität (Domäne) und vieles mehr extrahieren - es gibt Ihnen ziemlich viele Informationen, nicht wahr?
quelle
Was versuchst du mit deiner "Feature" Summe zu erreichen ? Wenn Sie nur Helden vergleichen, greifen Sie an und verteidigen Sie sich möglicherweise nützlicher. Wenn Sie die Art des Builds (wie offensiv oder defensiv) als nützlich erachten würden, wäre Angriff / Verteidigung vielleicht nützlicher. Oder vielleicht ist MyAttack - YourDefense nützlicher.
Es hängt wirklich von Ihrem Ziel ab und es läuft darauf hinaus, dass Sie zusätzliches Wissen in das Problem einbringen, damit Sie bessere Antworten erhalten. Sie haben vielleicht gehört, wie Leute herumgeschleudert haben und squared und ratio befasst haben, und alle Arten von Möglichkeiten, wie Sie Features erstellen können, aber das Fazit ist, dass "nützlich" von der jeweiligen Aufgabe abhängt und die Umwandlung Ihrer Daten in eine Domäne umfasst, in der Entscheidungen getroffen werden einfacher.
quelle