Ich frage mich, ob es in R Algorithmen (möglicherweise genetische Algorithmen) für die Merkmalskonstruktion gibt (Ableiten von Prädiktorkandidaten von vorhandenen Prädiktoren). Ich denke an eine Routine zum Testen von Potenzen höherer Ordnung, Wechselwirkungen, Verhältnissen und linearen Kombinationen sowie nichtlinearen Funktionen vorhandener Variablen (sin, cos, atan usw.).
Dies kann eine Filter- oder Wrapper-Routine sein (dh kein Lernalgorithmus verwenden oder einen verwenden, um die Fitness des Features zu definieren).
Mein Ziel ist es, potenziell bedeutsame Verhältnisse und dergleichen bestehender Prädiktoren zu "entdecken".
Vielen Dank!
Antworten:
Es scheint mir, dass Sie dadurch sehr anfällig für Probleme wie falsche Korrelation und sogar Überanpassung sind. Ich vergesse den Namen des Prinzips, der besagt, je mehr Modelle Sie versuchen, desto größer ist das Risiko, auf ein schlechtes zu stoßen. Wenn Sie so viele Modelle ausprobieren, dass tatsächlich ein genetischer Algorithmus ausgeführt wird, können Sie sich vorstellen, wie gegen dieses Prinzip verstoßen wird.
quelle
Sie könnten folgendermaßen vorgehen: Ausgehend von einem data.frame fügen Sie Ihren Daten einen 'vernünftigen' Satz transformierter Prädiktoren oder sogar Interaktionen hinzu (model.matrix und ähnliche sollten dies können).
Sobald Sie dort sind, kann jede Variablenauswahlmethode durchgeführt werden.
glmnet
kommt mir in den Sinn, aber es gibt viele Möglichkeiten. Ein Nachteil dieser Arbeitsweise besteht darin, dass es schwierig ist sicherzustellen, dass der Haupteffekt im Modell liegt, wenn eine Interaktion stattfindet. Vielleicht unterstützen einige Formen der Variablenauswahl dies, aber ich kenne keine offensichtlichen außer schrittweisen Verfahren (die dem Zweck widersprechen würden).quelle
Sie könnten mit etwas Einfachem beginnen, wie dem Finden von Hauptkomponenten oder unabhängigen Komponenten . Sie könnten auch ein bisschen verrückt werden und alle wechselseitigen Interaktionen Ihrer Variablen generieren. Wenn Sie mehr Features generieren und testen, benötigen Sie natürlich einen Feature-Auswahlalgorithmus, der robuster gegen Überanpassung ist.
Einige Modellierungsalgorithmen wie MARS , zufällige Gesamtstrukturen und nichtlineare SVMs finden automatisch bestimmte Interaktionen zwischen Ihren ursprünglichen Funktionen.
quelle