Ich habe das Material zu XGBoost gelesen. Es scheint, dass diese Methode keine variable Skalierung erfordert, da sie auf Bäumen basiert und diese komplexe Nichtlinearitätsmuster-Interaktionen erfassen kann. Und es kann sowohl numerische als auch kategoriale Variablen verarbeiten, und es scheint auch, dass redundante Variablen diese Methode nicht zu sehr beeinflussen.
Normalerweise können Sie bei der Vorhersagemodellierung eine Auswahl unter allen vorhandenen Funktionen treffen und aus den vorhandenen Funktionen auch einige neue Funktionen erstellen. Wenn Sie also eine Teilmenge von Funktionen auswählen, denken Sie, dass Ihre Funktionen redundant sind. Wenn Sie aus dem aktuellen Funktionsumfang einige neue Funktionen erstellen, können Sie einige funktionale Änderungen an Ihren aktuellen Funktionen vornehmen. Dann sollten diese beiden Punkte in XGBoost behandelt werden. Bedeutet dies dann, dass Sie zur Verwendung von XGBoost diese Tuning-Parameter nur mit Bedacht auswählen müssen? Welchen Wert hat Feature Engineering mit XGBoost?
quelle
Antworten:
Definieren wir zuerst das Feature Engineering:
XGBoost erledigt (1) für Sie. XGBoost erledigt (2) / (3) nicht für Sie.
Sie müssen also noch selbst Feature-Engineering durchführen. Nur ein Deep-Learning-Modell kann die Feature-Extraktion für Sie ersetzen.
quelle
quelle
Leistung vielleicht?
(Beachten Sie, dass wir kein XGBoost verwenden, sondern eine andere Bibliothek zur Erhöhung des Gradienten - obwohl die Leistung von XGBoost wahrscheinlich auch in irgendeiner Weise von der Dimensionalität der Daten abhängt.)
Wir haben einen Datensatz, in dem jedes Element aus 3 Signalen mit jeweils 6000 Abtastwerten besteht - das sind 18.000 Funktionen. Die direkte Verwendung dieser Funktionen dauert Ewigkeiten (Tage). Daher haben wir einige manuelle Funktionsentwicklungen durchgeführt, um die Anzahl der Funktionen auf etwa 200 zu reduzieren. Jetzt dauert das Training (einschließlich der Parametereinstellung) nur noch wenige Stunden.
Zum Vergleich: Vor kurzem haben wir auch begonnen, ConvNets mit denselben Daten und den gesamten 18.000 Funktionen zu trainieren (kein Feature Engineering). Sie erreichen nach nur ca. 2 Stunden Training die gleiche Genauigkeit wie die Gradientenverstärkungsmodelle.
quelle
Dies ist wahrscheinlich die beste Antwort auf Ihre Frage von den Leuten, die zu viel xgboost und Stacking verwenden: http://blog.kaggle.com/2017/03/17/outbrain-click-prediction-competition-winners-interview-2nd -place-team-brain-afk-darragh-marios-mathias-alexey /
quelle