Ich möchte ein maschinelles Lernmodell wie Random Forest, Gradient Boosting oder SVM für meinen Datensatz ausführen. Mein Datensatz enthält mehr als 200 Prädiktorvariablen, und meine Zielklassen sind binäre Variablen.
Muss ich die Funktionsauswahl vor der Modellanpassung ausführen? Beeinflusst es die Modellleistung erheblich oder gibt es keinen großen Unterschied, wenn ich das Modell mit allen Prädiktorvariablen direkt anpasse?
Antworten:
Die Auswahl von Features kann als zu vermeidende Phase angesehen werden. Sie müssen Rechenzeit aufwenden, um Features zu entfernen und tatsächlich Daten zu verlieren, und die Methoden, mit denen Sie Features auswählen müssen, sind nicht optimal, da das Problem NP-Complete ist . Die Nutzung klingt nicht nach einem Angebot, das Sie nicht ablehnen können.
Was sind die Vorteile der Verwendung?
Nun zu Ihrem speziellen Fall: Ich empfehle, dass Sie mit der Berechnung der Korrelationen zwischen den Funktionen und dem Konzept beginnen. Das Berechnen von Korrelationen zwischen allen Merkmalen ist ebenfalls informativ. Beachten Sie, dass es viele Arten nützlicher Korrelationen gibt (z. B. Pearson , gegenseitige Informationen ) und viele Attribute, die diese beeinflussen können (z. B. Spärlichkeit, Konzeptungleichgewicht). Wenn Sie sie untersuchen, anstatt blindlings mit einem Funktionsauswahlalgorithmus zu arbeiten, sparen Sie möglicherweise in Zukunft viel Zeit.
Ich glaube nicht, dass Sie mit Ihrem Datensatz viele Laufzeitprobleme haben werden. Das Verhältnis von Beispielen zu Features ist jedoch nicht zu hoch, sodass Sie möglicherweise von der Feature-Auswahl profitieren.
Wählen Sie einen Klassifikator mit geringer Komplexität (z. B. lineare Regression, kleiner Entscheidungsbaum) und verwenden Sie ihn als Benchmark. Probieren Sie es mit dem vollständigen Datensatz und einem Datensatz mit einer Teilmenge der Funktionen aus. Ein solcher Benchmark hilft Ihnen bei der Verwendung der Funktionsauswahl. Sie benötigen eine solche Anleitung, da es viele Optionen gibt (z. B. die Anzahl der auszuwählenden Features, den Algorithmus zur Feature-Auswahl) und da das Ziel normalerweise die Prädikation und nicht die Feature-Auswahl ist, sodass das Feedback mindestens einen Schritt entfernt ist.
quelle
Ich habe vor einigen Monaten eine sehr ähnliche Frage auf Cross Validated gestellt und eine sehr große Anzahl von Antworten erhalten. Lesen Sie die Antworten und Kommentare.
/stats/215154/variable-selection-for-predictive-modeling-really-needed-in-2016
quelle
Ja, die Auswahl von Funktionen ist eine der wichtigsten Aufgaben bei Problemen mit maschinellem Lernen, nachdem Daten gerungen und bereinigt wurden. Hier finden Sie die Funktionen, die den Funktionsauswahlprozess mithilfe der XGBOOST-Funktionsbedeutung implementieren.
https://github.com/abhisheksharma4194/Machine-learning
quelle